DSEG SEGMENT XXX DW 1234H YYY DW 5678H ZZZ DD ? DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG, DS:DSEG START: MOV AX, DSEG MOV DS, AX MOV AX, XXX ; 将XXX赋给AX XOR DX, DX ; 异或DX和DX,即将DX置0 ADD AX, AX ; AX *= 2, AX = 2 * XXX ADC DX, 0 ; 把进位保存在DX中 ADD AX, AX ; AX *= 2, AX = 4 * XXX ADC DX, 0 ; 更新DX中的进位信息 ADD AX, AX ; AX *= 2, AX = 8 * XXX ADC DX, 0 ; 更新DX中的进位信息 ADD AX, AX ; AX *= 2, AX = 16 * XXX ADC DX, 0 ; 更新DX中的进位信息 ADD AX, YYY ; AX += YYY, AX = 16 * XXX + YYY ADC DX, 0 ; 更新DX中的进位信息 MOV WORD PTR ZZZ, AX ; ZZZ的低位 = AX = 16 * XXX + YYY MOV WORD PTR ZZZ+2, DX ; ZZZ的高位 = DX = 进位数, ZZZ = 16 * XXX + YYY(完整) MOV AH, 4CH INT 21H CSEG ENDS END START