贵州大学微机原理(汇编语言)实验报告
程序如下: ;ADDDEC.ASM DATA SEGMENT ;定义数据段 INFO1 DB 0DH,0AH,0DH,0AH,'**This is a decimal addtion program, press ENTER to quit.**$' INFO2 DB 0DH,0AH,' Please input augend (must 10 bit): $' INFO3 DB 0DH,0AH,' Please input addend (must 10 bit): $' INFO5 DB 0DH,0AH,' The sum of the two numbers is: $' BUF1 DB 11,?,11 DUP(?),'$' BUF2 DB 11,?,11 DUP(?),'$' BUF3 DB 12,?,12 DUP(?),'$' DATA ENDS
STACK SEGMENT STACK DB 20 DUP(0) STACK ENDS
CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE DISP MACRO INFO LEA DX,INFO MOV AH,9 INT 21H ENDM
INDA MACRO MEM LEA DX,MEM MOV AH,10 INT 21H ENDM
START: MOV AX,DATA MOV DS,AX NOTE1: DISP INFO1 ;在屏幕上显示提示信息 NOTE2: DISP INFO2 ;在屏幕上显示提示信息输入被加数 INDA BUF1 ;输入被加数 LEA BX,BUF1 MOV AL,[BX+2] CMP AL,0DH ;是回车则结束程序 JE DONE NOTE3: DISP INFO3 ;在屏幕上显示提示信息输入加数 INDA BUF2 ;输入加数 LEA BX,BUF2 MOV AL,[BX+2] CMP AL,0DH ;是回车则结束程序 JE DONE LEA SI,BUF1+11