2023年電子科大計(jì)算機(jī)學(xué)院匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第1頁(yè)
2023年電子科大計(jì)算機(jī)學(xué)院匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第2頁(yè)
2023年電子科大計(jì)算機(jī)學(xué)院匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第3頁(yè)
2023年電子科大計(jì)算機(jī)學(xué)院匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第4頁(yè)
2023年電子科大計(jì)算機(jī)學(xué)院匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程

學(xué)院

標(biāo)準(zhǔn)實(shí)驗(yàn)報(bào)告

(實(shí)驗(yàn))課程名稱(chēng)匯編語(yǔ)言與微機(jī)接

口技術(shù)綜合實(shí)驗(yàn)

電子科技大學(xué)教務(wù)處制表

力孑科技大孽

實(shí)驗(yàn)

學(xué)生姓名:鄲縣英格拉姆學(xué)號(hào):9指導(dǎo)教師:皮皮怪

實(shí)驗(yàn)地點(diǎn):主樓A2_412實(shí)驗(yàn)時(shí)間:2023年4月25

日星期二

一、實(shí)驗(yàn)室名稱(chēng):主樓A2_412機(jī)房

二、實(shí)驗(yàn)項(xiàng)目名稱(chēng):匯編語(yǔ)言編程訓(xùn)練

三、實(shí)驗(yàn)學(xué)時(shí):3學(xué)時(shí)

四、實(shí)驗(yàn)原理:(涉及知識(shí)點(diǎn),電路圖,流程圖)

知識(shí)點(diǎn)

(一)課后自學(xué)一一使用DOSB。x在win7x64位下搭建匯編環(huán)境

1.軟件安裝

a.安裝3DOSBox

b.準(zhǔn)備debug.exe?masm.exe,1ink.exe,edit.exe文獻(xiàn)。

2.使用

a.DOSBox安裝完畢后,打開(kāi),可發(fā)下它的提醒符是:"Z:\>",這是DOSBo

x里的虛擬盤(pán)。我們需要更改到我們自己的盤(pán)符,假如直接更改的話(huà),會(huì)提醒你錯(cuò)

誤。一方面需要mount到自己的目錄。

b.比如我們準(zhǔn)備將D:\DEBUG作為我們自己的匯編測(cè)試目錄,則執(zhí)行“m。

untCD:\DEBUG”命令,這樣C盤(pán)符也就虛擬成了自己本地電腦的D:\

DEBUG目錄。我們?cè)贒OSBox中切換到C盤(pán)符時(shí),也就事實(shí)上切換到了D:\D

EBUG目錄。

c.將debug.exe,masm.exe,link.exe,edit.com放置于D:\DEBUG目

錄下,我們就能在DOSBox下直接使用它們了。

3.配置

上面我們?yōu)槭褂肈OSBox,要mount到我們本地目錄,但是我們每一次打

開(kāi)DOSBox都要進(jìn)行這兩步,有點(diǎn)麻煩,可以通過(guò)下面的操作來(lái)保存配置。

a.開(kāi)始->所有程序->DOSBox-0.74->Options->DOSBox0.74Opt

ions,在文本的最后位置找到“[autoexec]”:

[autoexecj

#Linesinthissectionwil1berunatstartup.

#YoucanputyourMOUNTlineshere.

b.然后將下面的2條命令寫(xiě)在此處:第一條命令的作用是mount目錄,第二

條命令的作用是mount之后切換到D盤(pán)符:

mountCD:\DEBUG

C:

知識(shí)點(diǎn)(二)課堂講述——相關(guān)知識(shí)介紹

1.生成可執(zhí)行程序的過(guò)程

?建立匯編源程序(*.asm)

?匯編源程序文獻(xiàn),生成目的文獻(xiàn)(*.obj)、

?連接目的文獻(xiàn),生成可執(zhí)行文獻(xiàn)(*.exe)

?運(yùn)營(yíng)調(diào)試程序

2.匯編

假設(shè)masm.exe在D盤(pán)根目錄下,編輯了一個(gè)名為demo.asm的源文獻(xiàn),

則通過(guò)命令

D:\>masmdemo.asm;擴(kuò)展名可以忽略,默認(rèn)為asm類(lèi)型

得到匯編結(jié)果,如下圖所示:

D:\>nasndeno

Microsoft<R>MacroAssemblerUersion5.00

Copyright<C>MicrosoftCorp1981-1985,1987.Allrightsreserued.

Objectfilename(demo.OBJ]:demo

Sourcelisting(NUL.LST]:deno

Cross-reference(NUL.CRF]:

50088+415864Bytessymbolspacefree

0WarningErrors

0SevereErrors

?擴(kuò)展名為*.1st的文獻(xiàn)稱(chēng)為列表文獻(xiàn),該文獻(xiàn)對(duì)于后續(xù)的調(diào)試十分有用。

關(guān)于列表文獻(xiàn)(*.1st)

列表文獻(xiàn)同時(shí)列出源程序和機(jī)器語(yǔ)言程序清單,并給出段表、段的大小及

屬性,以及用戶(hù)定義的符號(hào)表、符號(hào)類(lèi)型及屬性,對(duì)于調(diào)試程序十分有用。

3.連接

在生成了目的文獻(xiàn)demo.obj以后,通過(guò)輸入命令

D:\>1inkdemo.obj;LINK.EXE是連接程序,同樣的,擴(kuò)展名可以忽略,默認(rèn)為o

bj類(lèi)型

得到連接結(jié)果,如下圖所示:

D:X>linkdeno

Microsoft<R>OverlayLinkerUersion3.60

Copyright<C>MicrosoftCorp1983-1987.Allrightsreserued.

RunFile[DEMO.EXE]:

ListFileCNUL.MAP]:

Libraries[.LIB]:

LINK:warningL4021:nostacksegment

4.調(diào)試

a.關(guān)于DEBUG.EXE

b.DEBUG.EXE的用法

在DOS的提醒符下,如下鍵入:U):\>debugdemo.exe

c.DEBUG.EXE的注意事項(xiàng)

d.本實(shí)驗(yàn)課需要的DEBUG指令

運(yùn)營(yíng)命令G、追蹤命令T、繼續(xù)命令P、顯示內(nèi)存單元內(nèi)容命令D、退出

命令Q

修改內(nèi)存單元內(nèi)容命令E、檢查和修改寄存器內(nèi)容的命令R

流程圖

實(shí)驗(yàn)(-)題目1,

實(shí)驗(yàn)(二)

在程序框圖了程序框圖:

BINASC)

DX<-待轉(zhuǎn)換數(shù)據(jù)

Dl<=存放ASCH碼首址

取出待補(bǔ)換數(shù)據(jù)CXv=轉(zhuǎn)換的位數(shù)

給出存:放結(jié)果首址恃轉(zhuǎn)換的程一進(jìn)制數(shù)

給出轉(zhuǎn)換的位數(shù)送AL的第。位

調(diào)用血奐了程序"AL6(AL)A01H

取出待后換數(shù)據(jù)AL<?(AL)+30H

f^SCII碼:(I)I)<=(AL)

給出存放結(jié)果首址一,1二

給出轉(zhuǎn)換的位數(shù)修改指針:Dl<=(DI)+1

二:一:

調(diào)川就奐子程序“數(shù):CX<=(CX)-J

'(cx)=o?

C結(jié)'束)CJSB)

五、實(shí)驗(yàn)電路(本次實(shí)驗(yàn)無(wú)電路圖)

六、實(shí)驗(yàn)內(nèi)容:(介紹自己所選的實(shí)驗(yàn)內(nèi)容)

實(shí)驗(yàn)內(nèi)容一:

學(xué)習(xí)“第4章順序、分支、循環(huán)程序例子.ppt”,按照規(guī)定完畢下列題

目并給出實(shí)驗(yàn)結(jié)果(至少選擇兩個(gè)):我選擇1、2

1、運(yùn)用學(xué)號(hào)查學(xué)生的數(shù)學(xué)成績(jī)表

在數(shù)據(jù)段中建立一個(gè)成績(jī)表TABLE,表中的成績(jī)按照學(xué)生學(xué)號(hào)從小到大的

順序存放。要查的學(xué)號(hào)存放在變量NUM中,查表的結(jié)果放在變量MATH中。(用

XLAT指令進(jìn)行查表)

2、無(wú)符號(hào)數(shù)排序

數(shù)據(jù)段的ARY數(shù)組中存放有10個(gè)無(wú)符號(hào)數(shù),試找出其中最大者送入MAX單

元。(用LOOP指令做循環(huán))

實(shí)驗(yàn)內(nèi)容二:

學(xué)習(xí)“第4子程序設(shè)計(jì)例子(1).ppt”,用“堆棧傳遞參數(shù)”的方式編程

并運(yùn)營(yíng)給出結(jié)果.

將兩個(gè)給定的二進(jìn)制數(shù)(8位和16位)轉(zhuǎn)換為ASCH碼字符串。用堆棧

傳遞參數(shù),規(guī)定:分環(huán)節(jié)給出堆棧狀態(tài)和運(yùn)營(yíng)結(jié)果。

七、實(shí)驗(yàn)環(huán)節(jié):(編輯調(diào)試的過(guò)程)

實(shí)驗(yàn)一:

題目1.運(yùn)用學(xué)號(hào)查學(xué)生的數(shù)學(xué)成績(jī)表

1、根據(jù)題目規(guī)定,建立匯編源程序,用Windows系統(tǒng)自帶的記事本進(jìn)行編輯,另

存為projecl.asm,并保存至masm.exe所在目錄中。

2、匯編源程序文獻(xiàn),生成目的文獻(xiàn)projectl.obj;

C:X>masmprojectl.asm

Microsoft(R)MacroAssemblerUersion5.00

Copyright(C)MicrosoftCorp1981-1985,1987.Allrightsreserved.

Objectfilename[projectl.OBJ]:

Source1isting[NUL.LST]:projectl

Cross-reference[NUL.CRF]:

51144+4654G0Bytessymbo1spacefree

0WarningErrors

0SevereErrors

3、通過(guò)1ink命令連接目的文獻(xiàn),生成可執(zhí)行文獻(xiàn)projectl.exe;

C:X>linkprojectl.obj

Microsoft(R)OverlayLinkerUersion3.60

Copyright(C)MicrosoftCorp1983-1987.Allrightsreserved.

RunFileIPROJECT1.EXE]:

ListFile[NUL.MAP]:

Libraries[.LIB]:

4、運(yùn)營(yíng)調(diào)試程序,鍵入debugprojectl.asm滲考LST文獻(xiàn),通過(guò)G命令、

D命令進(jìn)行調(diào)試,分析結(jié)果。(分析過(guò)程見(jiàn)報(bào)告第九部分)。

題目2.無(wú)符號(hào)數(shù)排序

1、根據(jù)題目規(guī)定,建立匯編源程序,用Windows系統(tǒng)自帶的記事本進(jìn)行編輯,

另存為Projec2.asm,并保存至masm.exe所在目錄中。

2、匯編源程序文獻(xiàn),生成目的文獻(xiàn)project2.obj

3、通過(guò)link命令連接目的文獻(xiàn),生成可執(zhí)行文獻(xiàn)project2.exe

4、運(yùn)營(yíng)調(diào)試程序,參考LST文獻(xiàn),通過(guò)G命令、D命令進(jìn)行調(diào)試,分析結(jié)果,(分

析過(guò)程見(jiàn)報(bào)告第九部分)。

實(shí)驗(yàn)二:

題目:用“堆棧傳遞參數(shù)”的方式編程,將兩個(gè)給定的二進(jìn)制數(shù)(8位和16位)轉(zhuǎn)

換為ASCII碼字符串。

1.根據(jù)題目規(guī)定,建立匯編源程序,用Windows系統(tǒng)自帶的記事本進(jìn)行編輯,

另存為projec4.asm,并保存至masm.exe所在目錄中。

2.匯編源程序文獻(xiàn),生成目的文獻(xiàn)project4.obj

3.通過(guò)1ink命令連接目的文獻(xiàn),生成可執(zhí)行文獻(xiàn)project4.exe

4.運(yùn)營(yíng)調(diào)試程序,,通過(guò)G命令、D命令進(jìn)行調(diào)試,分析結(jié)果(分析過(guò)程見(jiàn)報(bào)告

第九部分)。

八、實(shí)驗(yàn)結(jié)果:(源程序代碼,必要的中文注釋?zhuān)约斑\(yùn)營(yíng)結(jié)果,涉及截

圖或者拍照)

實(shí)驗(yàn)一第一題

源代碼及其注釋如下:

TITLETABLELOOKUP

DATASEGMENT;數(shù)據(jù)段

TABLEDB01,02,0,0<,C-,,0,82,09,:

I,,,4,,,,18,.9,20;為了便于調(diào)試,把8

2之外的數(shù)據(jù)進(jìn)行特殊解決,使其數(shù)值等于所在的位置

NUMDB8;學(xué)號(hào)為8

MATHDB?

DATAENDS

STACKISEGMENTPARASTACK;堆棧段

DWi'llDUP()

STACKIENDS

COSEGSEGMENT

ASsUMEcs:COSEG,DS:DATA,SS:STACKI

sTART:MOVAX,DATA

MOVDS,AX;裝入DS

MOVBX,OFFSETTABLE;BX指向表首地質(zhì)

XORAH,AH;AH清零

MOVAL,NUM;NUM值賦給AL

DECAL;由于實(shí)際學(xué)號(hào)從1開(kāi)始

XLAT;查表

MOVMATH,AL;存結(jié)果

MOVAH,4CE

INT

COSEGENDS

ENDSTART

運(yùn)營(yíng)結(jié)果介紹及截圖、分析:

運(yùn)營(yíng)調(diào)試程序,通過(guò)G命令、D命令進(jìn)行調(diào)試,分析結(jié)果。

查看PROJECT1.LST文獻(xiàn),可以分析出調(diào)試的方法,分析過(guò)程見(jiàn)圖標(biāo)記:

TABLELOOKUP1

圖都懶得截,煩的一比

TITLETABLELOOKUP

0000DATASEGMENT

000001020304050607TABLEDB01,02,03,04,05,06,07,82,

09,10

5209OA

000A0B0C0D0EOF1011DB11,12,13,14,15,16,17,18,

19,20

121314

001408NUM加8

001509MATHDB?

doiF"STA""ENDS

0000STACKlSEGMENTPARASTACK

00000020(DV20HDUP(O)

0000

]

0040STACK1ENDS

0000COSEGSEGMENT

ASSUMECS:COSEG,DS:DATA,SS:STACKl

0000I38——RSTART:MOVAX,DATA

0003JJED8MOVDS,AX

0005Im0000RMOVBX,OFFSETTABLE

0008:\2E4XORAH,AH

000A/20014RMOVAL,NUM

000D1qC8DECAL

000FI)7XLAT

0010/120015RMOVMATH,AL

0013B4JCMO?AHdCH

0013CD21IM21H

COSEGENDS

ENDSTART

根據(jù)上述分析輸入指令g0013、d001511進(jìn)行調(diào)試,結(jié)果見(jiàn)下圖:

C:S>debugprojectl.exe

Lg0013

AX=0052BX=0O0OCX=0077DX=O0O0SP=0O4OBP=0OOOSI=O0OODI=O0Q0

DS=076AES=075ASS=076CCS=0770IP=OO13NUUPEIPLNZMAPONC

0770:0013B44cMOUAH,4c

Ld0O1511G

076A:OO1OR

結(jié)果分析:MATH中成績(jī)?yōu)?2h,相應(yīng)十進(jìn)制82,而在程序源代碼中對(duì)

成績(jī)的定義情況如下,其中的學(xué)號(hào)為8相應(yīng)的成績(jī)的確為82:

TABLEDB01,02,03,04,05,06,07(^2)09,10

DB11,12,13,14,15,16,討8,19,20

符合規(guī)定,實(shí)驗(yàn)成功。

實(shí)驗(yàn)一:第二題

源代碼及其注釋如下:

DATASEGMENT

ARYDB01,16,02,03,04,05,06,07,08,(

MAXDB?

DATAENDS

STACK1SEGMENTPARASTACK

Dw20HDUP(|)

STACK1ENDS

CODESEGMENT

ASSUMECS:CODE,DS;DATA,SS:STACK1

BEGIN:

MOVAX,DATA

MOVDS,AX;裝入DS

MOVSI,OFFSETARY;SI指向ARY第一個(gè)元素

MOVCX,9;CX做計(jì)數(shù)器

MOVAL,[SI];取第一個(gè)元素到AL

LOP:INCsi;si指向后一個(gè)元素

CMPAL,[SI];比較兩個(gè)數(shù)

JAEBIGER;前元素”后元素,則跳到B1GER進(jìn)行解決

MOVAL,[SI];取較大數(shù)到AL

BIGER:LOOPLOP;循環(huán)執(zhí)行LOOP

MOVMAX,AL;存最大數(shù)

MOVAH,4CH

INT21H

CODEENDS

ENDBEGIN

運(yùn)營(yíng)結(jié)果介紹及截圖、分析:

運(yùn)營(yíng)調(diào)試程序,通過(guò)G命令、D命令進(jìn)行調(diào)試,分析結(jié)果。

查看PROJECT2.LST文獻(xiàn),可以分析出調(diào)試的方法,分析過(guò)程見(jiàn)圖標(biāo)記:

日立蛤次生早

0000DATASEQENT

000001100203C4C5ARYDB01,16,02,03,04,05,06,07,08,09

OOOB

0000STACK1SEGMENTPARASTACK

00000020[Dff20HDUP(O)

0000

]

0040STACK1rNDS

COMSEGMENT

ASSUMECS:COOE,DS:DATA,SS:STACK1

BEGIN:

MOVAX,DATA

MOVDS,AX

MOVSI,OFFSETARY

MOVCX,9

MOVAL[SI]

6

4LOP:INCSI

A

仇CMPAL,[SI]

1037J3

JAEBIGER

0012&A02

00*MOVAL,[SI]

14E204

00AF7BIGER:LOOPLOP

0016A2(XXMOVMAX,AL

B44C

0019而MOVAH.4CH

001B21

00IDI';T21H

CODEENDS

ENDBEGIN

根據(jù)上述分析輸入指令g0019.d000a11進(jìn)行調(diào)試,結(jié)果見(jiàn)下圖:

C:\>debugproject2.exe

-g0O19

AX=0710BX=O0OOCX=0O0ODX=OOOOSP=0040BP=OOOOSI=GO09DI=OO0O

DS=O?6AES=075ASS=076BCS=076FIP=0019NUUPEIPLNZACPONC

O76F:0019B44cMOUAH,4c_

-d000a11

076A:0000J

MATH中成績(jī)?yōu)?0h,相應(yīng)十進(jìn)制數(shù)16,的確是我編寫(xiě)的十個(gè)數(shù)中的最大數(shù):

ARYDB01?02,03,04,05,06,07,08,09

符合規(guī)定,實(shí)驗(yàn)成功。

實(shí)驗(yàn)二:堆棧傳遞參數(shù),轉(zhuǎn)化ASCII碼

代碼及注釋如下:

DATASEGMENT

BINIDB35H

BIN2DW0AB48H

ASCBUFDB20HDUP(?)

DATAENDS

STACK1SEGMENTPARASTACK

DWOHDUP(65535);相應(yīng)OFFFFH便于查看內(nèi)存單元時(shí)擬定堆棧位置

STACK1ENDS

COSEGSEGMENT

ASSUMECS:COSEG,DS:DATA,SS:STACKI

BEGIN:MOVAX,DATA

MOVDS,AX

XORAX,AX;清零AX

MOVAH,BlNl;第一個(gè)數(shù)據(jù)送AH

PUSHAX;待轉(zhuǎn)換數(shù)據(jù)壓棧

MOVAX,

PUSHAX;待轉(zhuǎn)換位數(shù)壓棧

LEADI,ASCBUF

PUSHDI;存放ASCII碼首址壓棧

CALLBINASC;調(diào)用轉(zhuǎn)換子程序

MOVAX,BIN2;第二個(gè)數(shù)據(jù)送AX

PUSHAx;待轉(zhuǎn)換數(shù)據(jù)壓棧

MOVAX,

PUSHAX;待轉(zhuǎn)換位數(shù)壓棧

ADDDI,8

PUSHDI;DI+8壓棧

CALLBINASC;調(diào)用轉(zhuǎn)換子程序

MOVAH,CH

INT

BINASCPROC

PUSHAX

PUSHCX

PUSHDX

PUSHDI

MOVBPZSP

MOVDi,[BP+10];從堆棧取入口參數(shù)

MOVCX,[BP+1]

MOVDX,[BP+1]

LOP:ROLDX,;LOP為將所給轉(zhuǎn)化為ASC工工的算法

MOVAL,DL

ANDAL,1

ADDAL,-OH

MOV[DI],AL

INCDi

LOOPLOP

POPDI

POPDX

POPCX

POPAX

RET6;返回并從堆棧中彈出6個(gè)字節(jié)

BINASCENDP

COSEGENDS

ENDBEGIN

分析:

一方面單步運(yùn)營(yíng)幾條指令,通過(guò)doo查看內(nèi)存單元狀態(tài),檢測(cè)堆棧段等的

設(shè)立是否成功:

、X=076ABX=O0OOCX=0OBEDX=000OSP=0O40BP=0000SI=0000DI=0000

DS=076AES=0?5ASS=G?6DCS=0771IP=0Q05NUUPEIPLNZNAPONC

9771:000533C0XI

W6A

D76A毓LW

376A0020GO

0030FFFF-FF

0040FFFF-FF

0050FFFF-FF

0060FF07-00

376A0070BBZb

空間看起來(lái)有問(wèn)題:上面顯示00的部分是設(shè)立的ASCBUF應(yīng)當(dāng)有用32個(gè)

字節(jié),截圖顯示是45個(gè);下面的STACK1應(yīng)當(dāng)有64個(gè)字節(jié),截圖顯示是54個(gè),

但后面所有執(zhí)行完畢后結(jié)果是對(duì)的的。在網(wǎng)絡(luò)上查詢(xún)過(guò)后得知應(yīng)當(dāng)是軟件的因

素。

繼續(xù)執(zhí)行至將第一個(gè)待轉(zhuǎn)換數(shù)據(jù)0035H壓棧,查看內(nèi)存單元,截圖如下:

AX=350GB1X=OO00CX=0OBEDX=O0O0SP=O03EBP=OG0GDI=000O

DS=076A]SS=076DCS=0771IP=0GGCMUUP1

O771:0G0CMOUAX,0008人4

000000-00

076A0010

076A00Z0

076A0030

076AFF-FF

076AFF-FF

076A0060OO-OC

076A00708A-26

同樣的,執(zhí)行至待轉(zhuǎn)換位數(shù)、存放ASCII碼首址成功入棧,與上圖相似,

省去截圖,直至調(diào)用轉(zhuǎn)化子程序,執(zhí)行完一系列入棧操作和取入口參數(shù)、數(shù)據(jù)位數(shù)、

待轉(zhuǎn)換數(shù)據(jù)操作:

取=0006BX=00G0CX=G6BEDX-0GQ6SP=G630BP=eeeosi=eGO0Di=Geo3

DS-G76AES=075ASS=076DCS=0771IP=002FNUUPEIPLZRNAPENC

0771:GG2F8BECMOUBP,SP

-t

fjx=eeee0x=0000CX=O0BEDX=eO60SP=9630BP=6O3031=0060DI=0663

l>S=076AES=e?5ASS=G?6DCS=0771!P=eG31MUUPElPLZRMAPENC

0771:00318B7EGAMOUDI,IBP?】SS:003A=0663

歡二GG68BX=6O00CX=OOBEDX=6GG0SP=0630BP=0030SI=600?DI=€)eQ3

DS=O?6AES=075ASS=076DCS=e771IP=9034NUUPEIPLZRMAPENC

9771:60348B4E0CMOUCX,[BP*6C]SS:603c=0GO8

ftx=oeeeBx=eoooCX=06GeDX=6G00SP=QG30BP=0G3081=000?DI=0603

DS=0?6AES=675ftSS=G?6DCS=6771IPM3037NUUPEIPLZ?MAPENC

0??1:00378B560EMDUDX,[BP*0E1SS:003E=35e0

RX二0008BX=00O0CX=00eeDX=350OSP=0030BP=€?30SI=00G0DI=G0O3

DS=076AES=675fiSS=Q76DCS=6771IP=903ANUUPEIPLZRNAPENC

9771:003AD1CZROLDX,1

進(jìn)入標(biāo)號(hào)為L(zhǎng)OP的程序段,循環(huán)執(zhí)行求ASCII碼的算法,將數(shù)據(jù)一位一位

地轉(zhuǎn)化為ASCII碼,循環(huán)過(guò)程中可以看到CX依次減1,減小至0時(shí)不再執(zhí)行LOP

循環(huán):

代二0031BX=G0OGCX-00G1DX=0035SP=0O3OBP=0030SI-0000DI-0O0A

DS=o?6nEs=wsnSS=076DCS=G??11P=0012NUUPElPLNZNftPONC

3771:OM28805MUULDU.ALDS:eeOA-00

以-0031BX-GJO00CX-G0O1DX-6035SP-0030BP-0030SI-0O0GDI-0OQA

&S=Q?6AES=075ASS=G76DCS=0?71IP-0CH4NUUPEIPLNZNfiPONC

3??1:001147CX終時(shí)求皆郵,而是執(zhí)行后面的指令

^X-G031BX-Q0G6DX=^035SP-0030BP-0O3GSI^QOQQDI=0006

DS-076AES-675ACS^G771IP-QCH5NUUPElPLNZNAPONC

■P?1:改MSE2F3LOOP003A

收二9031BX=0066CX-0000DX^0O35SP-0030BP^003eSI=0000DKQO0B

運(yùn)通

DS二076AES-075A6DCSM9771IP3M7NUUPEIPLNZNAPONC

9771:0fM75FITOPDI

就是要借鑒下別人的報(bào)告

hx-oe3iBX-oeeoCX-6000DX-0035SP^003ZBP-0030Sl-OGOODl-0003

bs=076AES=075ASS=(376DCS=0771IP=0048NUUPElPLNZNAPONC

繼續(xù)執(zhí)行至第一個(gè)數(shù)據(jù)轉(zhuǎn)化結(jié)束,查看內(nèi)存單元情況,與預(yù)期結(jié)果進(jìn)行比較,

第一個(gè)待轉(zhuǎn)換數(shù)據(jù)35H=00110101B,其相應(yīng)ASCII碼的確與內(nèi)存單元中顯示

相同,

詳見(jiàn)圖片:

=T

35H=OO11O1O1B,O'對(duì)應(yīng)ASCH‘30’r對(duì)應(yīng)3r,結(jié)果正確

^X=0008BX=0O00CX=00BEDX=0O00SP=OO40BP=0Q30SI=0OOODI=0003

U)S=0?6AES=075ASS=0?6DC8=0?71IP=O018NUUPEIPLNZNAPONC

0771:0018A10100MOUAX,[00011DS:0001=AB48

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論