求课程设计:功能描述:1:选择式菜单,能够实现加,减,乘,除四则运算的选择;2:选择后,二级菜单能够实现三个级别的选择,分别是:9之间的数,10~99之间的数;3:输入结果后,能够识别结果

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 01:04:55
求课程设计:功能描述:1:选择式菜单,能够实现加,减,乘,除四则运算的选择;2:选择后,二级菜单能够实现三个级别的选择,分别是:9之间的数,10~99之间的数;3:输入结果后,能够识别结果

求课程设计:功能描述:1:选择式菜单,能够实现加,减,乘,除四则运算的选择;2:选择后,二级菜单能够实现三个级别的选择,分别是:9之间的数,10~99之间的数;3:输入结果后,能够识别结果
求课程设计:
功能描述:1:选择式菜单,能够实现加,减,乘,除四则运算的选择;
2:选择后,二级菜单能够实现三个级别的选择,分别是:9之间的数,10~99之间的数;
3:输入结果后,能够识别结果正确与否,若不正确则给出正确的结果;
4:按ESC键返回上级菜单;
5,:每次给出十道题,并给出测试者的成绩;
注:数的给出可以用随机数产生,此时应按照要求控制随机数的大小
用汇编语言实现
用百度搜不到,求完整代码~

求课程设计:功能描述:1:选择式菜单,能够实现加,减,乘,除四则运算的选择;2:选择后,二级菜单能够实现三个级别的选择,分别是:9之间的数,10~99之间的数;3:输入结果后,能够识别结果
真巧我最近要做这个报告,把我的给你分享下,呵呵(对了你不是嘘嘘康吧?用户名好熟悉)
经过测试运行正常,可别说不正常啊~~~
下面的是代码,别说你不会啊~~~直接复制,改后缀.ASM 编译 连接 OK
B_P EQU BYTE PTR
W_P EQU WORD PTR
D_P EQU DWORD PTR
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
ORG 100H
;主程序开始
NEWSTAR:
JMP STAR
EVEN
NUM1 DW 0,0
NUM2 DW 0,0
NUM3 DW 0,0
JGV4 DW 0,0
YSF LABEL WORD
YSF1 DB 0
YSF2 DB 0
JUV DB 0
UV DB 0
;使DS:SI指向第一有效字符
OVERS LABEL NEAR
CLD
PUSH AX
OVERS1:
LODSB
CMP AL,' '
JZ OVERS1
CMP AL,9
JZ OVERS1
DEC SI
CMP AL,13
POP AX
RET
;输出一个制表符
TAB LABEL NEAR
MOV AL,9
JMP SHORT DISP
;输出一个回车换行符
CRLF LABEL NEAR
MOV AL,13
CALL DISP
MOV AL,10
;显示一个字符
DISP LABEL NEAR
PUSH AX
PUSH DX
MOV AH,2
MOV DL,AL
INT 21H
POP DX
POP AX
RET
;检查是否为运算符
ISYSF LABEL NEAR
CLD
LODSB
CALL ISJJ
JZ ISYSF1
CALL ISII
JZ ISYSF1
DEC SI
ISYSF1:
RET
;检查是否是加减运算
ISJJ LABEL NEAR
CMP AL,'+'
JZ ISYSF1
CMP AL,'-'
RET
;检查是否为乘除运算
ISII LABEL NEAR
CMP AL,'*'
JZ ISYSF1
CMP AL,'/'
JZ ISYSF1
CMP AL,'\'
RET
;数据输出
;CX=10 十进制
;CX=16 十六进制
DOUT LABEL NEAR
PUSH AX
PUSH BX
PUSH DX
PUSH BP
XOR BP,BP
DOUT1:
INC BP
PUSH AX
MOV AX,DX
XOR DX,DX
DIV CX
MOV BX,AX
POP AX
DIV CX
PUSH DX
MOV DX,BX
OR BX,AX
JNZ DOUT1
DOUT2:
POP AX
ADD AL,'0'
CMP AL,'9'
JBE DOUT3
ADD AL,'A'-'9'-1
DOUT3:
CALL DISP
DEC BP
JNZ DOUT2
POP BP
POP DX
POP BX
POP AX
RET
;输入数据在DX:AX中返回
;CX=0 数据为10进制
;CX#0 数据为16进制
DATE LABEL NEAR
PUSH BX
PUSH BP
PUSH DI
XOR AX,AX
XOR DX,DX
DATE1:
MOV DI,AX
LODSB
CMP AL,'0'
JB DATE7
CMP AL,'9'
JA DATE6
DATE2:
AND AX,0FH
SHL DI,1
RCL DX,1
MOV BX,DI
MOV BP,DX
SHL DI,1
RCL DX,1
SHL DI,1
RCL DX,1
JCXZ DATE3
SHL DI,1
RCL DX,1
Jmp short DATE4
DATE3:
ADD DI,BX
ADC DX,BP
DATE4:
ADD AX,DI
ADC DX,0
JMP DATE1
DATE5:
ADD AL,9
JMP DATE2
DATE6:
JCXZ DATE7
CMP AL,'A'
JB DATE7
CMP AL,'F'
JBE DATE5
CMP AL,'a'
JB DATE7
CMP AL,'f'
JBE DATE5
DATE7:
MOV AX,DI
DEC SI
OR DI,DX
POP DI
POP BP
POP BX
RET
;数据1与数据2根据YSF1进行加减运算
JSJJ LABEL NEAR
MOV AX,NUM2
MOV DX,NUM2+2
CMP YSF1,'+'
JZ JSJJ1
SUB NUM1,AX
SBB NUM1+2,DX
JMP SHORT JSJJ2
JSJJ1:
ADD NUM1,AX
ADC NUM1+2,DX
JSJJ2:
RET
;数据1与数据2根据YSF1进行乘除运算
JSII1 LABEL NEAR
MOV BX,OFFSET NUM1
JMP SHORT JSII2_1
;数据2与数据3根据YSF2进行乘除运算
JSII2 LABEL NEAR
MOV BX,OFFSET NUM2
JSII2_1:
DB 66H
MOV AX,[BX]
DB 66H
MOV CX,[BX+4]
CMP YSF2,'*'
JNZ JSII2_2
DB 66H
IMUL CX
JMP SHORT JSII2_3
JSII2_2:
DB 66H
CWD
DB 66H
IDIV CX
CMP YSF2,'/'
JZ JSII2_3
DB 66H
XCHG DX,AX
JSII2_3:
DB 66H
MOV [BX],AX
RET
;显示结果
XUJG LABEL NEAR
MOV AX,JGV4
MOV DX,JGV4+2
MOV CX,10
CMP UV,10
JZ XUJG0
MOV CX,16
XUJG0:
TEST DX,8000H
JZ XUJG1
CMP UV,10
JZ XUJG2
CALL DOUT
XUJG2:
NOT AX
NOT DX
ADD AX,1
ADC DX,0
PUSH AX
CMP UV,10
JZ XUJG3
MOV AL,' '
CALL DISP
MOV AL,'('
CALL DISP
XUJG3:
MOV AL,'-'
CALL DISP
POP AX
CMP UV,10
JZ XUJG1
CALL DOUT
MOV AL,')'
CALL DISP
RET
XUJG1:
CALL DOUT
RET
;计算结果放入DX:AX中
JSJG LABEL NEAR
CALL JSJJ
MOV AX,NUM1
MOV DX,NUM1+2
RET
;从DS:SI处取一个数据
LOADATE LABEL NEAR
LODSB
CMP AL,'('
JZ LOADATE1
DEC SI
PUSH CX
XOR CX,CX
CMP UV,10
JZ LOADATE0
INC CX ;取16进制数
LOADATE0:
CALL DATE ;取数据放入DX:AX中
POP CX
RET
LOADATE1:
PUSH NUM1 ;保存数据1数据2及运算符
PUSH NUM1+2
PUSH NUM2
PUSH NUM2+2
PUSH YSF
INC JUV
MOV JGV4,0 ;结果值清零
MOV JGV4+2,0
;进行四则运算
SZYS LABEL NEAR
CALL ISYSF ;首字符是运算符?
JZ SZYS2
CALL LOADATE ;不是,取数并保存
MOV NUM1,AX
MOV NUM1+2,DX
SZYS1:
XOR AX,AX ;数据2清零
MOV NUM2,AX
MOV NUM2+2,AX
CALL ISYSF ;下个是运算符?
JZ SZYS3
JNZ SZYS6
SZYS2:
PUSH AX
MOV AX,JGV4 ;将结果作为数据1
MOV NUM1,AX
MOV AX,JGV4+2
MOV NUM1+2,AX
POP AX
SZYS3:
MOV YSF1,AL
MOV YSF2,AL
CALL ISJJ ;是加减运算转
JZ SZYS4
CALL LOADATE ;取数据2
MOV NUM2,AX
MOV NUM2+2,DX
CALL JSII1 ;数据1与数据2根据YSF1进行乘除运算
JMP SZYS1 ; 结果保存在数据1中
SZYS4:
CALL LOADATE ;取数据2并保存
MOV NUM2,AX
MOV NUM2+2,DX
SZYS4_1:
CALL ISYSF
JNZ SZYS6
CALL ISJJ ;运算符2是加减运算?
JNZ SZYS5 ;不是转
PUSH AX
CALL JSJJ ;数据1与数据2根据YSF1进行加减运算
POP AX ; 结果保存在数据1中
MOV YSF1,AL ;保存新的运算符
JMP SZYS4
SZYS5:
MOV YSF2,AL ;保存运算符2
CALL LOADATE ;取数据3
MOV NUM3,AX
MOV NUM3+2,DX
CALL JSII2 ;数据2与数据3根据YSF2进行乘除运算
JMP SZYS4_1 ; 结果保存在数据2中
SZYS6:
MOV CL,AL
CMP AL,13
JNZ SZYS9
SZYS7:
CALL JSJG
CMP JUV,0
JZ SZYS8
DEC JUV
POP YSF
POP NUM2+2
POP NUM2
POP NUM1+2
POP NUM1
RET
SZYS8:
CMP CL,')'
JZ SZYS10
MOV JGV4,AX
MOV JGV4+2,DX
JNZ SZYS12
SZYS9:
CMP AL,')'
JNZ SZYS11
INC SI
JMP SZYS7
SZYS10:
MOV NUM1,AX
MOV NUM1+2,DX
JMP SZYS1
SZYS11:
STC
RET
SZYS12:
CLC
RET
;数制处理
UVIL LABEL NEAR
PUSH SI
UVIL1:
LODSB
CMP AL,' '
JZ UVIL2
CMP AL,9
JZ UVIL2
CMP AL,13
JZ UVIL4
JNZ UVIL1
UVIL2:
MOV BX,SI
CALL OVERS
JZ UVIL3
LODSW
CALL OVERS
POP SI
JNZ SZYS11
CMP AX,'01'
JNZ SZYS11
PUSH SI
MOV UV,10
UVIL3:
MOV AL,13
MOV [BX-1],AL
UVIL4:
POP SI
CLC
RET
;预置结果
YVJG LABEL NEAR
MOV AH,52H
INT 21H
MOV AX,ES:[BX-2]
MOV DS,AX
MOV AX,DS:[0CH]
MOV CS:JGV4,AX
MOV AX,DS:[0EH]
MOV CS:JGV4+2,AX
PUSH CS
POP DS
PUSH CS
POP ES
RET
;保存结果
BCJG LABEL NEAR
MOV AH,52H
INT 21H
MOV AX,ES:[BX-2]
MOV DS,AX
MOV AX,CS:JGV4
MOV DS:[0CH],AX
MOV AX,CS:JGV4+2
MOV DS:[0EH],AX
PUSH CS
POP DS
PUSH CS
POP ES
RET
STAR:
MOV SI,81H
CLD
CALL OVERS
JNZ STAR1
STAR0:
MOV DX,OFFSET MESS1
JMP STAR4
STAR1:
CALL YVJG
CALL UVIL
JB STAR0
MOV SAVESP,SP
CALL SZYS
MOV SP,SAVESP
MOV DX,OFFSET MESS2
JB STAR4
CALL CRLF
CALL XUJG
CALL BCJG
MOV DX,OFFSET MESS3
STAR4:
MOV AH,9
INT 21H
INT 20H
SAVESP DW 0
MESS1 DB 13,10,' Syntax:',13,10
DB ' JS [10]',13,10,'$'
MESS2 DB 'Error in expression !$'
MESS3 DB 13,10,'$'
CODE ENDS
END NEWSTAR

求课程设计:功能描述:1:选择式菜单,能够实现加,减,乘,除四则运算的选择;2:选择后,二级菜单能够实现三个级别的选择,分别是:9之间的数,10~99之间的数;3:输入结果后,能够识别结果 功能描述:1:选择式菜单,能够实现加,减,乘,除四则运算的选择;2:选择后,二级菜单能够实现三个级别的选择,分别是:9之间的数,10~99之间的数;3:输入结果后,能够识别结果正确与否,若不 急求河北工业大学计算机软件技术基础(VC) 课程设计 数据统计、平均值、方差要求用C++语言编程,在Visual C++环境下调试完成.问题功能描述:键盘输入20个数据.统计1:统计其中奇数个数是 英语翻译主要是求maya里mesh一词的准确翻译,能讲解一下mesh菜单的功能更佳, 利用c语言设计开发一个简单计算器,可进行加减乘除运算.设计菜单:1加法运算,2减法运算,3乘法运算,4除法运算,5退出系统.选择某功能后,进行相应运算,并能返回主菜单. C++课程设计 数据统计,平均值,方差问题功能描述:键盘输入20个数据.统计1:统计其中奇数个数是多少;统计2:统计其中素数个数是多少;统计3:统计大于平均值的数据是多少;对奇数位置 1.数学计算函数集成功能要求:各计算功能单独编写成函数,在主函数中通过选项菜单调用函数。可以返复运行,当输入0时退出。C++编程(1)选项菜单集成各个计算功能函数(2)求任意数 跪求数字电子钟的课程设计一、任务 设计一个六位数字电子钟,并有一组定时开关.二、功能要求时为24进制.具有整点提示功能,播放一首音乐.时间可修改,按键功能如下:加、减、位选择.按位 求单片机课程设计 求机械原理课程设计 求魔王语言的代码求高手前来知道小弟因为数据结构课程设计遇到了问题,课程设计的题目为魔王语言的翻译,问题描述有一个魔王总是使用自己的一种非常精炼而抽象的语言讲话,没有人能听 请问怎样做-我每次从菜单只能选1种肉类,2种不同蔬菜和1种甜品.请问从下面菜单看,我有多少种选择(请描述方法)肉类- 牛/鸡/猪蔬菜-豆/玉米/土豆/番茄甜品-巧克力/蛋糕/布 焊接课程设计 如图所示压力容器 只做5结点处接管法兰就行,材料16MnR 名义尺寸16mm要求1 设计所选结点处焊接接头形式及坡口形式2选择焊接方法及焊接材料(按标准选择)做好能稍微详细点 “结合实际谈谈社会学研究的意义与功能”(逐条举例即可)功能:1描述功能 3社会控制与社会管理功能 4预测功能 5社会批评功能 6教育功能意义1为社会发展战略的选择和政策制定提供科学 求《数据结构》课程设计(题目:算术表达式求值)系统应具备的功能:(1)设计算术表达式的存储结构(2)实现前缀表达式、中缀表达式和后缀表达式的求值 (3)输出求值结果希望 求一数据结构课程设计心得体会. 求等臂杠杆课程设计 急求课程设计:数字电子钟逻辑电路设计(5000字))课程设计估计回答问题的朋友能知道吧,如果不知道那就不要回答了.