A. 8086匯編語言 數據串操作指令
1、將數據段中定義的字元串「HELLO!」傳送到附加段中。
data segment
string1 db 'HELLO!'
ChrCoun equ $-string
data ends
extra segment
string2 db ChrCoun p(?)
extra ends
code segment
assume cs:code,ds:data,es:extra
start:mov ax,data
mov ds,ax
mov ax,extra
mov es,ax
lea si,string1
lea di,string2
mov cx,ChrCoun
cld
rep movsb
mov ah,4ch
int 21h
code ends
end start
2、使用LODSB指令將字元串中的『HELLO!』中的第1個字元和第3個字元分別存入bl和bh中
data segment
string db 'HELLO!'
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
lea si,string
cld
lodsb
mov bl,al
lodsb
lodsb
mov bh,al
mov ah,4ch
int 21h
code ends
end start
3、在ES段存放10個ASCII碼,搜索『E』,若找到則記下搜索次數及存放地址,並將AH置1,否則AH清零。
extra segment
string db 『ab12345Ecd』
extra ends
code segment
assume cs:code,ds:data,es:extra
start:mov ax,extra
mov es,ax
lea di,string
mov cx,10
cld
repnz scasb
jcxz not_E
mov cx,di
sub cx,offset string ;搜索次數
dec di ;存放地址
not_E:
xor ah,ah
Exit:
mov ah,4ch
int 21h
code ends
end start