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,' $ '
代碼結束
結束新聞之星
這是壹個從網上下載的計算程序,可以實現加減乘除的計算。該程序接受
是16的十六進制數。
執行時,需要在文件名後直接跟計算表達式。例如,在命令提示符下執行的結果如下:
c:\ masm & gt;js 3+2
五
c:\ masm & gt;聯署材料6*7
2A
c:\ masm & gt;js 10-4
c
c:\ masm & gt;js 12/3
六