实验一两个多位十进制数相加一、实验目的 L 掌握数据传送和算术运算指令及基本伪指令的用法: 2 .熟悉在微机上建立、汇编、链接、调试和运行 80X86 汇编语言程序的过程. 二、 ASCII 码形式分别顺序存放在以 DATAl 和 DATA2 为首的 5 个内存单元中( 低位在前) ,结果送回以 DATAl 为首的内存单元中. 三、程序框图 N Cx=o? Y 四、程序清单 CRLF MACRO MOV DL,0DH MOV AH,02H INT 21H 显示被加数和加数被加数和加数以 ASC Ⅱ码表示的数字串形式转化为由十六进制表示的数字串形式计数值-->cx cx-1 ? cx 清除最低位进位执行 ADC 带进位相加 AAA 调整结果送被加数区调整偏移十六进制的结果转化为 ASC Ⅱ码表示的数字串显示结果结束 MOV DL,0AH MOV AH,02H INT 21H ENDM DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H DATA2 DB 36H,35H,30H,38H,32H DATA ENDS STACK SEGMENT PARA STACK 'STACK' STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV ES,AX MOV AX,TOP MOV SP,AX MOV SI,OFFSET DATA2 MOV BX,05 CALL DISPL CRLF MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL CRLF MOV DI,OFFSET DATA2 CALL ADDA MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL CRLF MOV AX,4C00H INT 21H DISPL PROC NEAR DSL: MOV AH,02H MOV DL,[SI+BX-1] INT 21H DEC BX JNZ DSL RET DISPL ENDP ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05 AD1:SUB BYTE PTR[SI+BX-1],30H SUB BYTE PTR[DI+BX-1],30H DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05 CLC AD2:MOV AL,[SI] MOV BL,[DI] ADC AL,BL
实验一 两个多位十进制数相加 来自淘豆网www.taodocs.com转载请标明出处.