搜索
您的当前位置:首页正文

例7-9多字节非压缩型BCD码加法实例

来源:好土汽车网
源程序(Ex7-9.asm)如下:

DATA SEGMENT

STRING1 DB'1','2','3','4' STRING2 DB'7','9','5','6','0' DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA GO:MOV AX,DATA MOV DS,AX MOV ES,AX

MOV SI,OFFSET STRING1 MOV DI,OFFSET STRING2 MOV CX,04H MOV AH,0H

L1:MOV AL,DS:[SI] INC SI

SAHF ADC AL,[DI] AAA

LAHF OR AL,30H MOV ES:[DI],AL INC DI

LOOP L1 AND AH,01H OR AH,30H MOV [DI],AH MOV AH,02H MOV CX,05H L2:MOV DL,[DI] INT 21H DEC DI LOOP L2 MOV AH,4CH INT 21H CODE ENDS END GO

将保存在AH中的标志送至标志寄存器状态标志保存至AH 拼成ASCII码送至AL

→ES:[DI],且DI+1→DI

循环完否

截取AH中的CF位→AH 拼成ASCII码→AH 送至结果的第五个字节 从高字节到低字节显示输出 ;;;;;AH;;;

;AL

因篇幅问题不能全部显示,请点此查看更多更全内容

Top