说明:让对一个双字的数据取补,我写完代码老是不对,本人是菜鸟刚学汇编,请教大神
DSEG SEGMENT
DATA DW 2 DUP(48)
RLT DW ?,?
DSEG ENDS
CSEG SEGMENT
ASSUME DS:DSEG,CS:CSEG
START: MOV AX,DSEG
MOV DS,AX
MOV AX,DATA
NEG AX
MOV RLT,AX
MOV BX,DATA+1
NOT BX
CMC
ADC RLT,BX
LEA DX,RLT
MOV AH,09H
INT 21H
LEA DX,RLT+1
MOV AH,09H
INT 21H
MOV AH,4CH
MOV AL,0
INT 21H
CSEG ENDS
END START
DSEG SEGMENT
DATA DW 2 DUP(48)
RLT DW ?,?
DSEG ENDS
CSEG SEGMENT
ASSUME DS:DSEG,CS:CSEG
START: MOV AX,DSEG
MOV DS,AX
MOV AX,DATA
NEG AX
MOV RLT,AX
MOV BX,DATA+1
NOT BX
CMC
ADC RLT,BX
LEA DX,RLT
MOV AH,09H
INT 21H
LEA DX,RLT+1
MOV AH,09H
INT 21H
MOV AH,4CH
MOV AL,0
INT 21H
CSEG ENDS
END START
也就是DX所指向的是字符的ASCII码的多个字节,遇到0,字符串变认为结束。