求课程设计:题目:数学游戏
经过测试,运行正常,但不要说不正常~ ~ ~
下面是代码,别说不会~ ~直接复制,改后缀。ASM编译连接正常。
EQU字节指针
EQU单词PTR
EQU德沃德有限公司
代码段
假设CS:CODE,DS:CODE
ORG 100H
;主程序开始
新闻之星:
JMP明星报
甚至
NUM1 DW 0,0
NUM2 DW 0,0
NUM3 DW 0,0
JGV4 DW 0,0
YSF标签词
YSF1分贝0
YSF2 DB 0
JUV DB 0
UV DB 0
;让DS:SI指向第一个有效字符。
附近的OVERS标签
CLD
推斧
OVERS1:
LODSB
CMP AL,' '
JZ OVERS1
化学机械抛光铝,9
JZ OVERS1
十二月四日
CMP AL,13
爆破筒
浸水使柔软
;输出一个选项卡。
标签标签附近
MOV·阿尔,9岁
JMP肖特DISP
;输出回车换行符。
CRLF标签附近
MOV艾尔,13
打电话给DISP
MOV艾尔,10
;显示一个字符
DISP标签附近
推斧
推送DX
MOV啊,2
MOV有限公司
INT 21H
流行DX
爆破筒
浸水使柔软
;检查是否是操作员。
ISYSF标签附近
CLD
LODSB
打电话给ISJJ
JZ ISYSF1
呼叫ISII
JZ ISYSF1
十二月四日
ISYSF1:
浸水使柔软
;检查是否是加减运算。
ISJJ标签在附近
CMP AL,'+'
JZ ISYSF1
CMP AL,'-'
浸水使柔软
;检查是否是乘除运算。
ISII标签附近
CMP AL,' * '
JZ ISYSF1
CMP AL,'/'
JZ ISYSF1
CMP AL,' \ '
浸水使柔软
;数据输出
;CX=10十进制
;CX=16十六进制
DOUT标签在附近
推斧
推BX
推送DX
推送BP
异或BP,BP
DOUT1:
公司BP
推斧
MOV AX,DX
XOR DX,DX
CX分部
MOV·BX,斧头
爆破筒
CX分部
推送DX
BX MOV DX
或者BX,斧头
JNZ DOUT1
DOUT2:
爆破筒
添加AL,' 0 '
CMP AL,' 9 '
JBE·杜特3
添加AL,' A'-'9'-1
DOUT3:
打电话给DISP
十二月BP
JNZ DOUT2
流行血压
流行DX
波普·BX
爆破筒
浸水使柔软
;输入数据在DX:AX中返回。
;CX=0数据是10。
;CX#0数据是16十六进制数。
附近的日期标签
推BX
推送BP
推DI
异或AX,AX
XOR DX,DX
日期1:
MOV·迪·阿克斯
LODSB
CMP AL,' 0 '
JB日期7
CMP AL,' 9 '
JA日期6
日期2:
还有AX,0FH
SHL DI,1
RCL DX,1
迪MOV·BX
MOV BP,DX
SHL DI,1
RCL DX,1
SHL DI,1
RCL DX,1
JCXZ日期3
SHL DI,1
RCL DX,1
Jmp短日期4
日期3:
加迪·BX
ADC DX,BP
日期4:
添加AX,DI
ADC DX,0
JMP日期1
日期5:
添加AL,9
JMP日期2
日期6:
JCXZ日期7
CMP AL,' A '
JB日期7
CMP AL,' F '
JBE日期5
CMP AL,' a '
JB日期7
CMP AL,' f '
JBE日期5
日期7:
MOV阿克斯山口
十二月四日
或者DI,DX
波普迪
流行血压
波普·BX
浸水使柔软
;数据1和数据2根据YSF1加减。
JSJJ标签附近
MOV斧,NUM2
MOV DX,NUM2+2
CMP YSF1,'+'
JZ JSJJ1
子NUM1,AX
SBB NUM1+2,DX
JMP短JSJJ2
JSJJ1:
添加NUM1,AX
模数转换器NUM1+2,DX
JSJJ2:
浸水使柔软
;数据1和数据2按照YSF1进行乘法和除法运算。
JSII1标签附近
MOV BX,偏移量NUM1
JMP短JSII2_1
;数据2和数据3根据YSF2进行乘法和除法运算。
JSII2标签附近
MOV BX,偏移量NUM2
JSII2_1:
DB 66H
MOV斧,[BX]
DB 66H
MOV·CX,[BX+4]
CMP YSF2,' * '
JNZ JSII2_2
DB 66H
伊穆尔·CX
JMP短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],斧头
浸水使柔软
;显示结果
附近的XUJG标签
MOV AX,JGV4
MOV DX,JGV4+2
MOV CX,10
CMP UV,10
JZ XUJG0
MOV CX,16
XUJG0:
测试DX,8000小时
JZ XUJG1
CMP UV,10
JZ XUJG2
打电话给DOUT
XUJG2:
不是斧头
不是DX
添加AX,1
ADC DX,0
推斧
CMP UV,10
JZ XUJG3
MOV·艾尔
打电话给DISP
MOV·艾尔,‘(’
打电话给DISP
XUJG3:
“MOV·艾尔,”——”
打电话给DISP
爆破筒
CMP UV,10
JZ XUJG1
打电话给DOUT
MOV·艾尔,“)”
打电话给DISP
浸水使柔软
XUJG1:
打电话给DOUT
浸水使柔软
;计算结果放入DX:AX。
JSJG标签附近
打电话给JSJJ
MOV AX,NUM1
MOV DX,NUM1+2
浸水使柔软
;从DS:SI中取一个数据。
附近的装载标签
LODSB
CMP AL,'('
JZ负载1
十二月四日
推CX
CX XOR CX
CMP UV,10
JZ加载0
CX公司;取16的十六进制数。
LOADATE0:
通话日期;取数据放入DX:AX。
波普·CX
浸水使柔软
LOADATE1:
推送num 1;保存数据1,数据2和运算符。
推送NUM1+2
推送NUM2
按NUM2+2
推YSF
INC JUV
MOV JGV4,0;结果值被清除
MOV JGV4+2,0
;执行四则运算
附近的SZYS标签
调用ISYSF第一个字符是运算符吗?
JZ SZYS2
调用LOADATE不,取来保存。
MOV NUM1,AX
MOV NUM1+2,DX
SZYS1:
异或AX,AX;数据2清除
MOV NUM2,AX
MOV NUM2+2,AX
调用ISYSF接下来是接线员?
JZ SZYS3
JNZ SZYS6
SZYS2:
推斧
MOV AX,JGV4取结果为数据1。
MOV NUM1,AX
MOV AX,JGV4+2
MOV NUM1+2,AX
爆破筒
SZYS3:
MOV YSF1,铝
MOV YSF2,铝
叫ISJJ是加减法。
JZ SZYS4
调用LOADATE获取数据2
MOV NUM2,AX
MOV NUM2+2,DX
调用jsii 1;数据1和数据2按照YSF1进行乘法和除法运算。
JMP szys 1;结果保存在数据1中。
SZYS4:
调用LOADATE获取数据2并保存。
MOV NUM2,AX
MOV NUM2+2,DX
SZYS4_1:
呼叫ISYSF
JNZ SZYS6
叫ISJJ运算符2是加减法?
JNZ SZYS5不转弯
推斧
叫JSJJ数据1和数据2根据YSF1加减。
POP AX结果保存在数据1中。
MOV YSF1,AL;保存新操作员
JMP SZYS4
SZYS5:
MOV YSF2,铝;保存操作员2
调用LOADATE获取数据3
MOV NUM3,AX
MOV NUM3+2,DX
调用JSII2数据2和数据3根据YSF2进行乘法和除法运算。
JMP szys 4 _ 1;结果保存在数据2中。
SZYS6:
MOV有限公司
CMP AL,13
JNZ SZYS9
SZYS7:
呼叫JSJG
CMP JUV,0
JZ SZYS8
十二月十六日
波普·YSF
POP NUM2+2
POP数字2
POP NUM1+2
POP NUM1
浸水使柔软
SZYS8:
CMP CL,')'
JZ深圳10
MOV JGV4,AX
MOV JGV4+2,DX
JNZ SZYS12
SZYS9:
CMP AL,')'
JNZ SZYS11
公司SI
JMP SZYS7
SZYS10:
MOV NUM1,AX
MOV NUM1+2,DX
JMP SZYS1
SZYS11:
卫星追踪委员会(Satellite Tracking Committee)
浸水使柔软
SZYS12:
CanadianLabourCongress加拿大劳工大会
浸水使柔软
;数字系统处理
附近的紫外线标签
推送SI
UVIL1:
LODSB
CMP AL,' '
JZ紫外线2
化学机械抛光铝,9
JZ紫外线2
CMP AL,13
JZ·乌维尔
JNZ UVIL1
UVIL2:
MOV·BX,SI
通话结束
JZ紫外线3
LODSW
通话结束
波普斯
JNZ SZYS11
CMP AX,' 01 '
JNZ SZYS11
推送SI
MOV紫外线,10
UVIL3:
MOV艾尔,13
MOV [BX-1],铝
UVIL4:
波普斯
CanadianLabourCongress加拿大劳工大会
浸水使柔软
;预设结果
YVJG标签附近
MOV啊,52H
INT 21H
MOV·埃克斯:[BX-2]
MOV DS,AX
MOV斧,DS:[0CH]
MOV CS:JGV4,AX
MOV斧,DS:[0EH]
MOV CS:JGV4+2,AX
推送CS
流行数码相机
推送CS
流行元素
浸水使柔软
;保存结果
BCJG标签附近
MOV啊,52H
INT 21H
MOV·埃克斯:[BX-2]
MOV DS,AX
MOV AX,CS:JGV4
MOV DS:[0CH],AX
MOV AX,CS:JGV4+2
MOV DS:[0EH],AX
推送CS
流行数码相机
推送CS
流行元素
浸水使柔软
明星:
MOV司,81H
CLD
通话结束
JNZ STAR1
STAR0:
MOV DX,OFFSET MESS1
JMP之星4
STAR1:
打电话给YVJG
打电话给尤维尔
JB STAR0
MOV·萨维思普公司
打电话给SZYS
MOV储蓄银行
MOV DX,偏移消息2
JB STAR4
打电话给CRLF
打电话给XUJG
呼叫BCJG
MOV DX,偏置消息3
STAR4:
MOV啊,9
INT 21H
INT 20H
存储服务数据0
MESS1 DB 13,10,'语法:',13,10
DB ' JS & lt表达式& gt[10]',13,10,'$'
表达式中的“MESS2 DB”错误!$'
MESS3 DB 13,10,' $ '
代码结束
结束新闻之星