问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用汇编语言设计算器?

发布网友 发布时间:2022-05-09 15:37

我来回答

2个回答

热心网友 时间:2023-10-08 16:34

DATA SEGMENT
INFO0 DB 13,10,'*************************************************************************$'
INFO1 DB 13,10,'* JIANDAN ZHENGSHU JISHUANQI *$'
INFO2 DB 13,10,'* ZHUOZHE ABCD *$'
INFO3 DB 13,10,'$'
INFO4 DB 13,10,'* SHUOMING: *$'
INFO5 DB 13,10,'* 1.ZHENGSHU + - * / ,FANWEI 0~65535. *$'
INFO6 DB 13,10,'* 2.SHURU SHUJU DE SHIHOU ,RUGUO SHURU HUICHE ZHE TUICHU CHENGXU. *$'
INFO7 DB 13,10,'* 3.CHUFA DE SHIHOU MEIYOU DUI CHUSHU WEI NING ZHUCHU CHULI. *$'
INFO8 DB 13,10,'* 4.CAIYONG ZICHENGXU JI SANJI CAIDAN. *$'
INFO9 DB 13,10,'* 5.SHIYONG SHI, GEGE SHU JI CAOCUO FU SHURU DE SHUNXU RENYI, *$'
INFO10 DB 13,10,'* QIZHONG CAOZHUO FU 1=+ 2=- 3=* 4=/ 5=exit *$'
INFO11 DB 13,10,'PLEASE PRESS KEY TO NEXT,OR ENTER KEY TO EXIT$'
BINFO0 DB 13,10,'* 1.ADD *$'
BINFO1 DB 13,10,'* 2.SUB *$'
BINFO2 DB 13,10,'* 3.MUL *$'
BINFO3 DB 13,10,'* 4.DIV *$'
BINFO4 DB 13,10,'* 5.EXIT (OR OTHER KEY) *$'
STRING DB 13,10,'* PLEASE PRESS NUMBER 1(+),2(-),3(*),4(/),5(EXIT): *$'
CINFO0 DB 13,10,'* 1.INPUT THE FIRST NUMBER *$'
CINFO1 DB 13,10,'* 2.INPUT THE SECOND NUMBER *$'
CINFO2 DB 13,10,'* 3.EXIT(OR OTHER KEY *$'
BUFF DB 10
DB 0
DB 10 DUP(0)
ARRAY1 DB 13,10,'PLEASE INPUT THE FIRST NUMBER:$'
ARRAY2 DB 13,10,'PLEASE INPUT THE SECOND NUMBER:$'
ARRAY DW 2 DUP(0)
RESULT DB 10 DUP(0),'$'
CRLF DB 0DH,0AH,'$'
FLAGS DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
AB: CALL DISPMAINMENU
MOV AH,7
INT 21H
CMP AL,13
JZ EEXIT
CALL TWOMENU
MOV [FLAGS],0FFH
MOV AH,7
INT 21H
CMP AL,31H
JB EEXIT
CMP AL,34H
JA EEXIT
MOV [FLAGS],AL
MOV [ARRAY],0FFH
MOV [ARRAY+2],0FFH
ADS: CALL DISPTHMENU
MOV AH,7
INT 21H
CMP AL,'1'
JZ A1
CMP AL,'2'
JZ A2
JMP EEXIT
A1: MOV DX,OFFSET ARRAY1
CALL INPUTNUMBER
CMP CX,0
JZ EEXIT
MOV WORD PTR [ARRAY],AX
CALL JISHUAN
JC AB
JMP ADS
A2: MOV DX,OFFSET ARRAY2
CALL INPUTNUMBER
CMP CX,0
JZ EEXIT
MOV WORD PTR [ARRAY+2],AX
CALL JISHUAN
JC AB
JMP ADS
ABC PROC
MOV CH,0
MOV BX,OFFSET BUFF
MOV CL,[BX+1]
CMP CX,0
JZ ABCD
PUSH CX
ADD BX,2
PUSH BX
L0: SUB [BX],30H
INC BX
LOOP L0
POP BX
MOV AX,0
MOV CH,0
MOV CL,[BX-1]
L1: MOV DL,10
MUL DL
ADD AL,BYTE PTR [BX]
INC BX
LOOP L1
POP CX
ABCD: RET
ABC ENDP

DEF PROC
MOV SI,OFFSET RESULT
ADD SI,4
MOV [SI+1],"$"
MOV CX,5
AG1: MOV DX,0
MOV BX,10
DIV BX
PUSH DX
ADD DL,30H
MOV [SI],DL
DEC SI
POP DX
LOOP AG1
MOV CX,4
AG3: INC SI
MOV AL,[SI]
CMP AL,30H
JNZ NOZEARO
LOOP AG3
INC SI
NOZEARO:
CALL DISPCRLF
MOV DX,SI
MOV AH,9
INT 21H
RET
DEF ENDP

DISPCRLF PROC
MOV DX,OFFSET INFO3
DISPINFO:MOV AH,9
INT 21H
RET
DISPCRLF ENDP

DISPMAINMENU PROC
MOV DX,OFFSET INFO0
CALL DISPINFO
CALL DISPCRLF
MOV DX,OFFSET INFO1
CALL DISPINFO
MOV DX,OFFSET INFO2
CALL DISPINFO
MOV DX,OFFSET INFO4
CALL DISPINFO
MOV DX,OFFSET INFO5
CALL DISPINFO
MOV DX,OFFSET INFO6
CALL DISPINFO
MOV DX,OFFSET INFO7
CALL DISPINFO
MOV DX,OFFSET INFO8
CALL DISPINFO
MOV DX,OFFSET INFO9
CALL DISPINFO
MOV DX,OFFSET INFO10
CALL DISPINFO
MOV DX,OFFSET INFO11
CALL DISPINFO
MOV DX,OFFSET INFO0
CALL DISPINFO
RET
DISPMAINMENU ENDP

TWOMENU PROC
CALL DISPCRLF
MOV DX,OFFSET INFO0
CALL DISPINFO
CALL DISPCRLF
MOV DX,OFFSET INFO1
CALL DISPINFO
MOV DX,OFFSET INFO2
CALL DISPINFO
MOV DX,OFFSET BINFO0
CALL DISPINFO
MOV DX,OFFSET BINFO1
CALL DISPINFO
MOV DX,OFFSET BINFO2
CALL DISPINFO
MOV DX,OFFSET BINFO3
CALL DISPINFO
MOV DX,OFFSET BINFO4
CALL DISPINFO
CALL DISPCRLF
MOV DX,OFFSET INFO0
CALL DISPINFO
RET
TWOMENU ENDP

DISPTHMENU PROC
CALL DISPCRLF
CALL DISPCRLF
MOV DX,OFFSET INFO0
CALL DISPINFO
CALL DISPCRLF
MOV DX,OFFSET INFO1
CALL DISPINFO
MOV DX,OFFSET INFO2
CALL DISPINFO
CALL DISPCRLF
CALL DISPCRLF
MOV DX,OFFSET CINFO0
CALL DISPINFO
MOV DX,OFFSET CINFO1
CALL DISPINFO
MOV DX,OFFSET CINFO2
CALL DISPINFO
CALL DISPCRLF
CALL DISPCRLF
MOV DX,OFFSET INFO0
CALL DISPINFO
RET
DISPTHMENU ENDP

INPUTNUMBER PROC
MOV AH,9
INT 21H
MOV DX,OFFSET BUFF
MOV AH,0AH
INT 21H
CALL ABC
RET
INPUTNUMBER ENDP

JISHUAN PROC
CMP [ARRAY],0FFH
JZ NNN
CMP [ARRAY+2],0FFH
JZ NNN
CMP [FLAGS],31H
JZ ISADD
CMP [FLAGS],32H
JZ ISSUB
CMP [FLAGS],33H
JZ ISMUL
JMP ISDIV
NNN: CLC
RET
ISADD:MOV BX,WORD PTR [ARRAY]
MOV AX,WORD PTR [ARRAY+2]
ADD AX,BX
JMP DISP
ISSUB: MOV AX,WORD PTR [ARRAY]
MOV BX,WORD PTR [ARRAY+2]
CMP AX,BX
JB SMALL
SUB AX,BX
JMP DISP
SMALL:SUB BX,AX
MOV AX,BX
JMP DISP
ISMUL:MOV AX,WORD PTR [ARRAY]
MOV BX,WORD PTR [ARRAY+2]
MUL BX
MOV DX,0
JMP DISP
ISDIV:MOV AX,WORD PTR [ARRAY]
MOV BX,WORD PTR [ARRAY+2]
MOV DX,0
DIV BX
MOV DX,0
DISP: CALL DEF
STC
RET
JISHUAN ENDP
EEXIT:MOV AH,4CH
INT 21H
CODE ENDS
END START

热心网友 时间:2023-10-08 16:34

比较麻烦
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何用易语言实现QQ登录器的QQ号空了就出现“QQ号为空,请输入QQ号... 介绍几首最新的网络歌手唱得网络红歌呗。。谢谢啊 求推荐几首好听的歌,要和徐良风格差不多的 ...男女合唱的】最好多推荐几首,试到一首好听的 有什么蛮好听的新歌吗?网络歌手、非主流的,像汪苏泷、徐良、阿悄他们的... 关于Guitar Rig 4的两个问题,求解答。。。 右脚跟疼是什么原因引起的 男人右脚后跟筋疼的原因 右脚跟痛 我右脚跟腱痛怎么治呀,两个多月前崴了一下,找人捏了几次,但现在跟腱一... 用汇编语言讲一个文件显示在显示器上 如何运行汇编程序 编写汇编语言程序,找出所有不超过n (n<256) 的其平方具有对称性质的数(也称回文数),并显示在屏幕上 三级的pc技术考什么?汇编语言是什么?? 单片机汇编语言RETI的用法 汇编语言编写电子秒表代码 外交学院大学排名如何,为什么在北京分那么高? 外交学院算名牌大学吗? 外交学院到底好不好啊?规模那么小,既非211,更非985,怎么名气倒挺大的! 北京外交学院是211吗 211985大学名单里面有北外和外交学院大学吗 各位大神,外交学院是985还是211啊?文理科都能报考吗? 为什么大家都不建议报考外交学院? 外交学院是985大学还是211大学 外交学院是985大学还是211大学? 魔兽世界:我怎样从荒芜之地到燃烧平原。 WOW部落怎么去灼热峡谷和燃烧平原!要详细点的 新版WOW燃烧平原怎么走,我是部落的,现在在湿地,飞行点都没开 WOW怎么去燃烧平原啊? 户口分户分家单怎么写 谁给我一套汇编语言程序,masm和 link软件 用8086汇编语言编写的学生信息查询程序 求一单片机AT89C51汇编语言编程如下要求 求许向阳编著的《80X86汇编语言程序设计上机指南》光盘 求一个开始延时三秒后灯亮的汇编程序 hp+laptop+14s-dr3xxx键盘使用方法 怎样可以去除衣服的黄渍? 如何去除衣服上的黄渍? 衣服上的黄渍怎么去去除 微信pc端支付接口是怎么开发的?找的哪个服|务|商? 微信支付接口的开发问题? 为什么纯水牛奶会比纯牛奶甜?而且纯水牛奶都是“部分脱脂灭菌乳”,而不是“灭菌乳”? 灭菌乳是什么? gb25190是什么标准 女人的抉择全集 女人的抉择全集下载 保持灭菌乳是什么意思 QQ密保忘了怎么改密码? 我的耳机左右声道反了该怎么调整回来? 用ocam录屏软件录网课会被发现吗 《封神英雄榜》是否是对经典的传承?