first commit

This commit is contained in:
2025-05-27 16:03:52 +08:00
commit 2d22d07f60
223 changed files with 5842 additions and 0 deletions

37
Lab/Lab1/material/2.asm Executable file
View File

@@ -0,0 +1,37 @@
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