當前位置:成語大全網 - 書法字典 - ~ ~ ~ ~ ~ ~ ~ ~匯編程序可以進入~ ~ ~ ~ ~ ~ ~ ~ ~

~ ~ ~ ~ ~ ~ ~ ~匯編程序可以進入~ ~ ~ ~ ~ ~ ~ ~ ~

下面是編譯求解四則運算的源程序:

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