- (1)字符串的比较函数中,一个字符串在数据段定义,另一个字符串在程序执行时从键盘输入,必须定义键盘缓冲区。指出不相等的位置。
data segment
string db 'helloworld$'
buffer db 20,?,20 dup(?),13,10,'$'
data ends
code segment
assume cs:code,ds:data
start:
MOV AX,data
MOV DS,AX
MOV ES,AX
lea DX,buffer
mov AH,0AH
int 21H
LEA SI,string
LEA DI,buffer + 2
MOV CX,10
CLD
REPE CMPSB
JZ YES
MOV AX,0AH
SUB AX,CX
MOV DL,AL
ADD DL,30H
MOV AH,02
INT 21H
MOV AH,4CH
INT 21H
YES:
MOV DL,0059H
MOV AH,02
INT 21H
MOV AH,4CH
INT 21H
code ends
end start
EXT SEGMENT
string DB 'helloworld$'
EXT ENDS
CODE SEGMENT
assume ES:EXT,CS:CODE
start:
MOV AX,EXT
MOV ES,AX
MOV AH,01H
INT 21H
LEA DI,string
MOV DX,DI
MOV CX,10H
CLD
REPNZ SCASB
JZ YES
MOV DL,4EH
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
YES:
SUB DI,DX
MOV DX,DI
ADD DL,30H
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ends
end start