汇编语言程序设计简易计器
时间: 2023-07-11 22:17:29 浏览: 115
好的,我可以为您提供一个简单的汇编语言程序设计的计算器。以下是汇编语言程序设计简易计器的源代码:
```
ORG 100h ;设置程序的起始地址
MOV AX, 0 ;将 AX 寄存器中的值设为 0
MOV BX, 0 ;将 BX 寄存器中的值设为 0
START:
MOV AH, 1 ;显示菜单
MOV DL, '1'
INT 21h
MOV DL, ' '
INT 21h
MOV DL, '+'
INT 21h
MOV DL, ' '
INT 21h
MOV DL, '2'
INT 21h
MOV DL, ' '
INT 21h
MOV DL, '='
INT 21h
MOV DL, ' '
INT 21h
MOV AH, 1 ;等待用户选择操作
INT 21h
CMP AL, '1' ;判断用户选择的操作
JE ADD
CMP AL, '2'
JE SUB
CMP AL, '3'
JE MUL
CMP AL, '4'
JE DIV
CMP AL, '5'
JE EXIT
JMP START
ADD: ;加法操作
MOV AX, 1 ;将 AX 寄存器中的值设为 1
ADD AX, 2 ;将 AX 寄存器中的值加上 2
MOV BX, AX ;将 BX 寄存器中的值设为 AX 寄存器中的值
CALL DISPLAY_RESULT ;显示计算结果
JMP START
SUB: ;减法操作
MOV AX, 3 ;将 AX 寄存器中的值设为 3
SUB AX, 2 ;将 AX 寄存器中的值减去 2
MOV BX, AX ;将 BX 寄存器中的值设为 AX 寄存器中的值
CALL DISPLAY_RESULT ;显示计算结果
JMP START
MUL: ;乘法操作
MOV AX, 4 ;将 AX 寄存器中的值设为 4
MOV BX, 2 ;将 BX 寄存器中的值设为 2
MUL BX ;将 AX 寄存器中的值乘以 BX 寄存器中的值
CALL DISPLAY_RESULT ;显示计算结果
JMP START
DIV: ;除法操作
MOV AX, 10 ;将 AX 寄存器中的值设为 10
MOV BX, 2 ;将 BX 寄存器中的值设为 2
DIV BX ;将 AX 寄存器中的值除以 BX 寄存器中的值
MOV BX, AX ;将 BX 寄存器中的值设为 AX 寄存器中的商
CALL DISPLAY_RESULT ;显示计算结果
JMP START
EXIT: ;退出程序
MOV AH, 4Ch
INT 21h
DISPLAY_RESULT: ;显示计算结果的子程序
MOV AH, 2 ;将结果显示到屏幕上
MOV DL, ' '
INT 21h
MOV DL, 'R'
INT 21h
MOV DL, 'e'
INT 21h
MOV DL, 's'
INT 21h
MOV DL, 'u'
INT 21h
MOV DL, 'l'
INT 21h
MOV DL, 't'
INT 21h
MOV DL, ':'
INT 21h
MOV DL, ' '
INT 21h
MOV AX, BX
CALL DISPLAY_NUMBER
RET
DISPLAY_NUMBER: ;将数字显示到屏幕上的子程序
PUSH AX
MOV BX, 10
MOV CX, 0
MOV DX, 0
DIV BX
PUSH DX
CMP AX, 0
JE END_DISP
JMP DISPLAY_NUMBER
END_DISP:
POP AX
MOV BX, 10
MOV CX, 0
MOV DH, 0
DISP_LOOP:
POP DX
ADD DL, '0'
MOV AH, 2
INT 21h
ADD CX, 1
CMP CX, 4
JE END_DISP_LOOP
MUL BX
JMP DISP_LOOP
END_DISP_LOOP:
RET
```
这个程序实现了简单的加、减、乘、除操作,并可以将计算结果显示在屏幕上。
阅读全文