DATA SEGMENT
NUM DB 12H,34H,56H,78H,9AH,0BCH,23H,45H
DB 67H,89H,0DEH,13H,24H,35H,46H,57H
N DB $ - NUM
DATA ENDS
STACK SEGMENT
DW 10DUP(?)
TOP LABEL WORD
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
MAIN PROC FAR
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA SI,NUM
LEA DI,NUM
MOV CX,0
MOV CL,N
CLD
L1:LODSB
NOT AX
STOSB
LOOP L1
LEA SI,NUM
LEA DI,NUM
MOV CX,0
MOV CL,N
CLD
STC ;将进位标志CF=1,用于第一次最低位的加1(补数=取反+1)
L2:LODSB
ADC AX,0
STOSB
LOOP L2
MOV AH,4CH
INT 21H
MAIN ENDP
CODE ENDS
END MAIN