匯編語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(2024更新)_第1頁
匯編語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(2024更新)_第2頁
匯編語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(2024更新)_第3頁
匯編語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(2024更新)_第4頁
匯編語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(2024更新)_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

匯編語言程序設(shè)計(jì)指導(dǎo)書

禹定臣

去油學(xué)院信息工程學(xué)院2024.02

目錄

試驗(yàn)一調(diào)試程序DEBUG及8086指令運(yùn)用..............3

試驗(yàn)?zāi)康模?.............................................................................3

內(nèi)容及步驟:...........................................................................3

試駿報(bào)告要求:.........................................................................4

附:DEBUG吩咐詳解.....................................................................5

試驗(yàn)二內(nèi)存操作數(shù)及尋址方法..........................21

試險(xiǎn)目的:..........................................................................................................................................21

試驗(yàn)內(nèi)容和步驟:......................................................................21

試驗(yàn)報(bào)告要求:........................................................................23

試驗(yàn)三數(shù)據(jù)串傳送和查表程序..........................23

試驗(yàn)?zāi)康模?............................................................................23

試臉內(nèi)容及步驟:......................................................................23

試險(xiǎn)報(bào)告要求:........................................................................25

試驗(yàn)四屏幕字符顯示程序...............................26

試驗(yàn)?zāi)康模?............................................................................26

試臉內(nèi)容及步驟:......................................................................26

試驗(yàn)報(bào)告要求:........................................................................27

試驗(yàn)五二進(jìn)制數(shù)顯示成十六進(jìn)制數(shù)的屏幕字符顯示程序...................................28

試驗(yàn)?zāi)康模?............................................................................28

試臉內(nèi)容及步驟:......................................................................28

試驗(yàn)報(bào)告要求;........................................................................29

試驗(yàn)六查表指令及子程序嵌套試驗(yàn)......................29

試駿目的:.............................................................................29

試驗(yàn)內(nèi)容及步驟:......................................................................29

試臉報(bào)告要求:........................................................................32

試驗(yàn)七8255接口電路試驗(yàn)..............................33

試驗(yàn)要求:...........................................................................33

試驗(yàn)?zāi)康模?..........................................................................33

試臉說明:...........................................................................33

試驗(yàn)電路:.............................................................................33

試駿程序:...........................................................................34

試驗(yàn)一調(diào)試程序DEBUG及8086指令運(yùn)用

試驗(yàn)?zāi)康模?/p>

通過試驗(yàn)駕馭下列學(xué)問:

1、8086指令:MOV,ADD,ADC,SUB,SBB,DAA,XCHG

3、DEBUG吩咐:A,D,E,G,Q,R,T,U,F,H。

4、BCD碼,ASCII碼及用16進(jìn)制數(shù)表示二進(jìn)制碼的方法。

5、8086寄存器:AX,BX,CX,DX,F,IP。

內(nèi)容及步驟:

一、DEBUG吩咐運(yùn)用:

1、打DEBUG進(jìn)入DEBUG限制,顯示提示苻

2s用吩咐F10010F'A'將'A'的ASCH碼填入內(nèi)存。

3、用吩咐D10010F視察內(nèi)存中的16進(jìn)制碼及屏幕右邊的ASCII字符。

4、用吩咐F11011F41重復(fù)上二項(xiàng)試驗(yàn),視察結(jié)果并比較。

5、用吩咐E100303132……3F將3OH-3FH寫入地址為100起先的內(nèi)存

單元中,再用D吩咐視察結(jié)果,看鍵入的16進(jìn)制數(shù)是什么字符的ASCII碼?

6、用H吩咐檢查下列各組16進(jìn)制數(shù)加減結(jié)果并和你的手算結(jié)果比較:

(1)3411,2211(2)56117811(3)A5,7911(4)1284H,567811(5)A758,347FII

7、用R吩咐檢查各寄存器內(nèi)容,特殊留意AX,BX,CX,DX,IP及標(biāo)記位中ZF,CF

和AF的內(nèi)容。

8、用R吩咐將AX,BX內(nèi)容改寫為1050H及23A8H。

二、8086/8088常用指令練習(xí)

1、傳送指令

1)用A吩咐在內(nèi)存100H處鍵入卜.列內(nèi)容:

MOVAX,1234

MOVBX,5678

XCHGAX,BX

MOVAH,35

MOVAL,48

MOVDX,75AB

XCHGAX,DX

2)用U吩咐檢查鍵入的程序并記錄,特殊留意左邊的機(jī)器碼。

3)用T吩咐逐條運(yùn)行這些指令,每運(yùn)行一行檢查并記錄有關(guān)寄存器及IP的變更狀況。并留

意標(biāo)記位有無變更.

2、加減法指令:

1)用A吩咐在內(nèi)存100H處鍵入下列內(nèi)容:

MOVAH,34

MOVAL,22

ADDAL,AH

SUBAL,78

MOVCX,1284

MOVDX,5678

ADDCX,DX

SUBCX,AX

SUBex,ex

2)用U吩咐檢查鍵入的程序及對應(yīng)的機(jī)器碼。

3)用T吩咐逐條運(yùn)行這些指令,檢查并記錄有關(guān)寄存器及ZF狀況。

思索:這次運(yùn)行還是打入T,行不行?怎么辦?用R吩咐檢查?下IP的內(nèi)容。留意T吩咐與IP

的關(guān)系。

3、帶進(jìn)位加減法:

1)用A吩咐在內(nèi)存200H處鍵入下列內(nèi)容,并用U吩咐檢查:

MOVAll,12

MOVAL,84

MOVCH,56

MOVCL,78

ADDAL,CL

ADCAH,CH

MOVDH,A7

MOVDL,58

SUBDL,7F

SBBDH,34

2)用T吩咐逐條運(yùn)行這些指令,檢查并記錄有寄存器及CF內(nèi)容。

3)上面這段程序若改用16位操作指令達(dá)到同樣結(jié)果,怎么改?試修改并運(yùn)行之。

4、BCD碼加減法

1)內(nèi)容:

MOVAL,58

ADDAL,25

DAA

2)要求:用A吩咐鍵入,U吩咐檢查,T吩咐逐條運(yùn)行并記錄有關(guān)寄存器及AF內(nèi)容。

試驗(yàn)報(bào)告要求:

1、16進(jìn)制數(shù)加減法手算結(jié)果及試驗(yàn)結(jié)果

2、8086/8088常用指令練習(xí)部分的逐條運(yùn)行記錄,思索結(jié)果及自編程序運(yùn)行記錄(列出

自編程序)。

附:Debug吩咐詳解

1、Debug:A(匯編)

干脆將8086/8087/8088記憶碼合并到內(nèi)存。該吩咐從匯編語言語句創(chuàng)建可執(zhí)

行的機(jī)器碼。全部數(shù)值都是十六進(jìn)制格式,必需按一到四個(gè)字符輸入這些數(shù)值。

在引用的操作代碼(操作碼)前指定前綴記憶碼。

a[address]

參數(shù)address指定鍵入?yún)R編語言指令的位置。對address運(yùn)用十六進(jìn)制值,并健入

不以“h”字符結(jié)尾的每個(gè)值。假如不指定地址,a將在它上次停止處起先匯編

范例

a吩咐支持全部形式的間接注冊吩咐,如下例所示:

addbx,34[bp+2].[si-l]

pop[bp+dij

push[si])

還支持全部操作碼同義詞,如下例所示:

loopz100

loope100

ja200

jnbe200

對于8087操作碼,必需指定wait或fwait前綴,如下例所示:

fwaitfaddst,st(3);thislineassembles

;anfwaitprefix

說明

運(yùn)用記憶碼

段的替代記憶碼為cs:、ds:、es:和ss:0遠(yuǎn)程返回的記憶碼是retf。字符串處

理的記憶碼必需明確聲明字符串大小。例如,運(yùn)用movsw可以移動(dòng)16位的字串,

運(yùn)用mov***(文字因故被系統(tǒng)屏蔽)***(文字因故被系統(tǒng)屏蔽)可以移動(dòng)8位

字節(jié)串。

匯編跳轉(zhuǎn)和調(diào)用

匯編程序依據(jù)字節(jié)替換自動(dòng)將短、近和遠(yuǎn)的跳轉(zhuǎn)及調(diào)用匯編到目標(biāo)地址。通

過運(yùn)用near或far前綴可以替代這樣的跳轉(zhuǎn)或調(diào)用,如下例所示:

-aO100:0500

()100:0500jmp502;a2-byteshortjump

0100:0502jmpnear505;a3-bytenearjump

0100:0505jmpfar50a;a5-bytefarjump

可以將near前綴緡寫為ne。

區(qū)分字和字節(jié)內(nèi)存位置

當(dāng)某個(gè)操作數(shù)可以引用某個(gè)字內(nèi)存位置或者字節(jié)內(nèi)存位置時(shí),必需用前

綴wordptr或者前綴bytepu?指定數(shù)據(jù)類型??山邮艿目s寫分別是w。和by。以

下范例顯示兩種格式:

decwo[si]

negbyteptr[128]

指定操作數(shù)

Debug運(yùn)用包括在中括號(口)的操作數(shù)引用內(nèi)存地址的習(xí)慣用法。這是因?yàn)?/p>

另一方面Debug不能區(qū)分馬上操作數(shù)和內(nèi)存地址的操作數(shù)。以下范例顯示兩種

格式:

movax,21;loadAXwith21h

movax,[21];loadAXwiththe

;contentsof

;memorylocation21h

運(yùn)用偽指令

運(yùn)用a吩咐供應(yīng)兩個(gè)常用的偽指令:db操作碼,將字節(jié)值干脆匯編到內(nèi)存,

dw操作碼,將字值干脆匯編到內(nèi)存。以下是兩個(gè)偽指令的范例:

db1,2,3,4,“THISISANEXAMPLE11

dbTHISISAQUOTATIONMARK:"

db"THISISAQUOTATIONMARK:"

dw1000,2000,3000;'BACH"

2、Debug(轉(zhuǎn)儲(chǔ))

顯示肯定范圍內(nèi)存地址的內(nèi)容。

d[range]

參數(shù)

range

指定要顯示其內(nèi)容的內(nèi)存區(qū)域的起始和結(jié)束地址,或起始地址和長度。有關(guān)

有效的range值的信息,請單擊“相關(guān)主題”列表中的“Debug說明"。假如不

指定range,Debug程序?qū)囊郧癲吩咐中所指定的地址范圍的末尾起先顯

示128個(gè)字節(jié)的內(nèi)容。

有關(guān)顯示寄存器內(nèi)容的信息,請單擊“相關(guān)主題”列表中的DebugR(寄存

器)。

范例

假定鍵入以下吩咐:

des:10010f

Debug按以下格式顯示范圍中的內(nèi)容:

04BA:0100544F4D0053415759-4552000000000000

TOM.SAWYER......

假如在沒有參數(shù)的狀況下鍵入d吩咐,Debug按以前范例中所描述的內(nèi)容來

編排顯示格式。顯示的每行以比前一行的地址大16個(gè)字節(jié)(假如是顯示40列的

屏幕,則為8個(gè)字節(jié))的地址開頭。

對于后面鍵入的每個(gè)不帶參數(shù)的d吩咐,Debug將緊接在最終顯示的吩咐后

馬上顯示字節(jié)內(nèi)容。

假如鍵入以下吩咐,Debug將從CS:100起先顯示20h個(gè)字節(jié)的內(nèi)容:

dcs:100l20

假如鍵入以下吩咐,Debug將顯示范圍從CS段的100h到115h中全部字節(jié)

的內(nèi)容:

des:100115

說明

當(dāng)運(yùn)用d吩咐時(shí),Debug以兩個(gè)部分顯示內(nèi)存內(nèi)容:十六進(jìn)制部分(每個(gè)字

節(jié)的值都用十六進(jìn)制格式表示)和ASCII碼部分(每個(gè)字節(jié)的值都用ASCII碼

字符表示)。每個(gè)非打印字符在顯示的ASCII部分由句號(.)表示。每個(gè)顯示行顯

示16字節(jié)的內(nèi)容,第8字節(jié)和第9字節(jié)之間有一個(gè)連字符。每個(gè)顯示行從16字

節(jié)的邊界上起先。

3、Debug:E(鍵入)

將數(shù)據(jù)輸入到內(nèi)存中指定的地址。

可以按十六進(jìn)制或ASCII格式鍵入數(shù)據(jù)。以前存儲(chǔ)在指定位置的任何數(shù)據(jù)

全部丟失。

eaddress

參數(shù)

address

指定輸入數(shù)據(jù)的第一個(gè)內(nèi)存位置。

list

指定要輸入到內(nèi)存的連續(xù)字節(jié)中的數(shù)據(jù)。

有關(guān)集成記憶碼的信息,請單擊“相關(guān)主題”列表中的DebugA(匯編)。

有關(guān)顯示內(nèi)存部分內(nèi)容的信息,請單擊“相關(guān)主題”列表中的DebugD(轉(zhuǎn)

儲(chǔ))。

++

范例

假定鍵入以下吩咐:

ecs:100

Debug按下面的格式顯示第一個(gè)字節(jié)的內(nèi)容:

04BA:0100EB.

要將該值更改為41,請?jiān)诓迦朦c(diǎn)鍵入41,如下所示:

04BA:0100EB.41_

可以用一個(gè)e吩質(zhì)鍵入連續(xù)的字節(jié)值。在鍵入新值后按SPACEBAR(空格

鍵),而不是按ENTER鍵。Debug顯示卜一個(gè)值。在此范例中,假如按三

次SPACEBAR(空格鍵),Debug將顯示下面的值:

04BA:0100EB.4110.00.BC._

要將十六進(jìn)制值BC更改為42,請?jiān)诓迦朦c(diǎn)鍵入42,如下所示:

04BA:0I00EB.4110.00.BC.42_

假定確定值10應(yīng)當(dāng)是6F。要訂正該值,請按HYPHEN鍵兩次以返回到地

址0101(值10)。Debug顯示以下內(nèi)容:

04BA:0100EB.4110.00.BC.42-

04BA:010200.-

04BA:010110._

在插入點(diǎn)鍵入6f更改值,如下所示:

04BA:010110.6f_

按ENTER停止e吩咐并返回到Debug提示符下。

以下是字符串項(xiàng)的范例:

eds:l()()"Thisisthetextexample"

該字符串將從DS:100起先填充24個(gè)字節(jié)。

++

說明

運(yùn)用address參數(shù)

假如在沒有指定瓦選的lisl參數(shù)的值狀況下指定address的值,Debug將顯

示地址和內(nèi)容,在下一行重復(fù)地址,并等待您的輸入。此時(shí),您可以執(zhí)行卜.列操

作之一:

?替換字節(jié)值U為此,請?jiān)诋?dāng)前值后鍵入新值U假如您鍵入的值不是有效

的十六進(jìn)制值,或該值包含兩個(gè)以上的數(shù)字,則Debug不會(huì)回顯無效或額外的

字符。

-進(jìn)入下一個(gè)字節(jié)。為此,請按SPACEBAR(空格鍵)。要更改該字節(jié)中

的值,請?jiān)诋?dāng)前值后鍵入新值。假如按SPACEBAR(空格鍵)時(shí),移動(dòng)超過了8位

界限,Debug程序?qū)@示新的一行并在行首顯示新地址。

?返回到前一個(gè)字節(jié)。為此,請按HYPHEN鍵(-)??梢苑磸?fù)

按HYPHEN鍵(-)向后移動(dòng)超過多個(gè)字節(jié)。在按HYPHEN時(shí),Debug起先新行

并顯示當(dāng)前地址和字節(jié)值。

?停止執(zhí)行e吩咐。為此,請按ENTER鍵c在任何字節(jié)位置都可以

按ENTERo

運(yùn)用list參數(shù)

假如指定list參數(shù)的值,隨后的e吩咐將運(yùn)用列表中的值替換現(xiàn)有的字節(jié)

值。假如發(fā)生錯(cuò)誤,將不更改任何字節(jié)值。

Lisi值可以是I六進(jìn)制字節(jié)或字符串。運(yùn)用空格、逗號或制表符來分隔值。

必需將字符串包括在單或雙引號中。

++++

4、Debug:F(填充)

運(yùn)用指定的值填充指定內(nèi)存區(qū)域中的地址。

可以指定十六進(jìn)制或ASCH格式表示的數(shù)據(jù)。任何以前存儲(chǔ)在指定位置的

數(shù)據(jù)將會(huì)丟失。

frangelist

參數(shù)

range

指定要填充內(nèi)存區(qū)域的起始和結(jié)束地址,或起始地址和長度。關(guān)于有效

的range值的信息,請單擊“相關(guān)主題”列表中的“Debug說明”。

list

指定要輸入的數(shù)據(jù)。ListnJ以由十六進(jìn)制數(shù)或引號包括起來的字符串組成。

++

范例

假定鍵入以下吩咐:

f()4ba:10011004245525441

作為響應(yīng),Debug運(yùn)用指定的值填充從04BA:100到O4BA:1FF的內(nèi)存位置。

Debug重復(fù)這五個(gè)值直到100h個(gè)字節(jié)全部填滿為止。

++

說明

運(yùn)用range參數(shù)

假如range包含的字節(jié)數(shù)比list中的數(shù)值大,Debug將在list中反復(fù)指派值,

直到range中的全部字節(jié)全部填充。

假如在range中的任何內(nèi)存損壞或不存在,Debug將顯示錯(cuò)誤消息并停

止f吩咐。

運(yùn)用list參數(shù)

假如list包含的數(shù)值多于range中的字節(jié)數(shù),Debug將忽視list中額外的值。

5、Debug:G(轉(zhuǎn)向)

運(yùn)行當(dāng)前在內(nèi)存中的程序。

g[=address][breakpoints]

參數(shù)

=address

指定當(dāng)前在內(nèi)存中要起先執(zhí)行的程序地址。假如不指定address,Windows

2000將從CS:IP寄存器中的當(dāng)前地址起先執(zhí)行程序。

breakpoints

指定可以設(shè)置為g吩咐的部分的1到1()個(gè)臨時(shí)斷點(diǎn)。

有關(guān)執(zhí)行循環(huán)、重復(fù)的字符串指令、軟件中斷或子程序的信息,請單擊“相

關(guān)主題”列表中的DebugP(執(zhí)行)。

有關(guān)執(zhí)行指令的信息,請單擊“相關(guān)主題”列表中的DebugT(跟蹤)。

范例

假定鍵入以下吩咐:

gcs:755()

Windows20()0運(yùn)行當(dāng)前內(nèi)存中的程序,直到執(zhí)行到CS段中的斷點(diǎn)地

址7550為止。Debug將顯示寄存器的內(nèi)容和標(biāo)記的狀態(tài)并結(jié)束g吩咐。

以下吩咐設(shè)置兩個(gè)斷點(diǎn):

gcs:7550,cs:8()00

假如在Debug遇到斷點(diǎn)之后再次鍵入g吩咐,將從在斷點(diǎn)之后的指令起先

執(zhí)行,而不是在通常的起先地址執(zhí)行。

++

說明

運(yùn)用address參數(shù)

必需在address參數(shù)之前運(yùn)用等號(=)以區(qū)分起先地址(address)和斷點(diǎn)地址

(breakpoints)o

指定斷點(diǎn)

程序在它遇到的第一個(gè)斷點(diǎn)處停止,而不論您在breakpoint列表的什么位置

鍵入斷點(diǎn)。Debug在每個(gè)斷點(diǎn)處用中斷代碼代替原始指令。

當(dāng)程序到達(dá)斷點(diǎn)時(shí),Debug將全部斷點(diǎn)地址復(fù)原到它們的最初指令并顯示全

部寄存器的內(nèi)容、全部標(biāo)記的狀態(tài)以及最終執(zhí)行指令的解碼形式。Debug顯示的

信息與運(yùn)用Debugr(寄存器)吩咐并指定斷點(diǎn)時(shí)所顯示的信息相同。

假如不在斷點(diǎn)處停止程序,Debug程序?qū)⒉贿\(yùn)用原始指令替換中斷代碼。

設(shè)置斷點(diǎn)的限制

可以只在包含8086操作代碼(操作碼)的第一個(gè)字節(jié)的地址上設(shè)置斷點(diǎn)。

假如設(shè)置了10個(gè)以上的斷點(diǎn),Debug將顯示以下信息:

bperror

對用戶堆棧指針的要求

用戶堆棧指針必需有效且必需有6個(gè)字節(jié)可用于g吩咐。該吩咐運(yùn)用iret指

令跳轉(zhuǎn)到正在被測試的程序。Debug設(shè)置用戶堆棧指針并將用戶標(biāo)記、代碼段寄

存器和指令指針壓入用戶堆棧。(假如用戶堆棧無效或太小,操作系統(tǒng)可能會(huì)失

敗。)Debug在指定的斷點(diǎn)處設(shè)置中斷代碼(OCCh)。

重新啟動(dòng)程序

不要在Windows2000顯示以下消息后嘗試重新啟動(dòng)程序;

Programterminatednormally

要正確地運(yùn)行程序,必需通過運(yùn)用Debugn(名稱)和1(加載)吩咐重新

加載該程序。

++++

6、Debug:H(十六進(jìn)制)

對指定的兩個(gè)參數(shù)執(zhí)行十六進(jìn)制運(yùn)算。

hvalue1value2

參數(shù)

value1

代表從0到FFFFh范圍內(nèi)的任何十六進(jìn)制數(shù)字。

value2

代表從0到FFFFh范圍內(nèi)其次個(gè)十六進(jìn)制數(shù)字。

++

范例

假定鍵入以下吩咐:

hl9f10a

Debug執(zhí)行運(yùn)算并顯示以下結(jié)果。

02A90095

++

說明

Debug首先將指定的兩個(gè)參數(shù)相加,然后從第一個(gè)參數(shù)中減去其次個(gè)參數(shù)。

這些計(jì)算的結(jié)果顯示在一行中:先計(jì)算和,然后計(jì)算差。

++++

7、Debug:M(移動(dòng))

將一個(gè)內(nèi)存塊中的內(nèi)容復(fù)制到另一個(gè)內(nèi)存塊中。

mrangeaddress

參數(shù)

range

指定要復(fù)制內(nèi)容的內(nèi)存區(qū)域的起始和結(jié)束地址,或起始地址和長度。

address

指定要將range內(nèi)容復(fù)制到該位置的起始地址。

++

范例

假定鍵入以卜吩咐:

mcs:l()()11()cs:5()0

Debug首先將CS:11()地址中的內(nèi)容復(fù)制到地址CS:51()中,然后

將CS:1OF地址中的內(nèi)容復(fù)制到CS:5OF中,如此操作直至將CS:1OO地址中的內(nèi)

容復(fù)制到地址CS:5OO中。要查看結(jié)果,請運(yùn)用Debugd(轉(zhuǎn)儲(chǔ))吩咐,并運(yùn)用m吩

咐指定目標(biāo)地址。

++

說明

復(fù)制操作對現(xiàn)有數(shù)據(jù)的影響

假如新數(shù)據(jù)沒有寫入正在被復(fù)制的數(shù)據(jù)塊中的地址,則源數(shù)據(jù)將保持不變。

但是,假如目標(biāo)塊已經(jīng)包含數(shù)據(jù)(就象它在覆蓋副本操作中一樣),則將改寫該數(shù)

據(jù)。(覆蓋復(fù)制操作是指那些目標(biāo)數(shù)據(jù)塊部分內(nèi)容覆蓋原數(shù)據(jù)塊部分內(nèi)容的操

作。)

執(zhí)行覆蓋復(fù)制操作

m吩咐執(zhí)行目標(biāo)地址的覆蓋復(fù)制操作,而不丟失數(shù)據(jù)。將改寫的地址內(nèi)容首

先復(fù)制。因此,假如將較高位地址的數(shù)據(jù)復(fù)制到較低位地址,則復(fù)制操作從原塊

的最低位地址起先并向最高位地址進(jìn)行。反之,假如要將數(shù)據(jù)從低地址復(fù)制到高

地址,復(fù)制操作從原塊的最高地址起先,向最低地址進(jìn)行。

++++

8、Debug:Q(退出)

停止Debug會(huì)話,不保存當(dāng)前測試的文件。

當(dāng)您鍵入q以后,限制返回到Windows2000的吩咐提示符。

參數(shù)

該吩咐不帶參數(shù)。

有關(guān)保存文件的信息,請單擊“相關(guān)主題”列表中的DebugW(寫入)。

++++

9、Debug:R(寄存器)

顯示或變更一個(gè)或多個(gè)CPU寄存器的內(nèi)容。

r[register-namel

參數(shù)

假如在沒有參數(shù)的狀況下運(yùn)用,則r吩咐顯示全部寄存器的內(nèi)容以及寄存器

存儲(chǔ)區(qū)域中的標(biāo)記。

register-name

指定要顯示其內(nèi)容的寄存器名。

有關(guān)顯示內(nèi)存部分內(nèi)容的信息,請單擊“相關(guān)主題”列表中的DebugD(轉(zhuǎn)

儲(chǔ))。

有關(guān)反匯編字節(jié)的信息,請單擊“相關(guān)主題”列表中的DebugU(反匯編)。

十十

范例

要查看全部寄存器的內(nèi)容、全部標(biāo)記的狀態(tài)和當(dāng)前位置的指令解碼表,請鍵

入以下吩咐:

r

假如當(dāng)前位置是CS:11A,顯示外觀將類似于以下內(nèi)容:

AX=OEOOBX=OOFFCX=0007DX=01FFSP=039DBP=OOOOSI=005C

DI=OOOO

DS=04BAES=04BASS=04BACS=04BAIP=OUANVUPDINGNZACPE

NC

04BA:011ACD21INT2I

要只查看標(biāo)記的狀態(tài),請鍵入以下吩咐:

rf

Debug按以下格式顯示信息:

NVUPDINGNZACPENC-_

現(xiàn)在,您可以按隨意依次鍵入一個(gè)或多個(gè)有效的標(biāo)記值,其中可以有或沒有

空格,如下所示:

nvupdingnzacpenc-pleicy

Debug結(jié)束r吩咐并顯示Debug提示符。要查看更改,請鍵入r或許吩咐。

Debug將顯示以卜內(nèi)容:

NVUPEIPLNZACPECY-_

按ENTER返回到Debug提示符。

++

說明

運(yùn)用r吩咐

假如指定了寄存器名稱,Windows2000將顯示以十六進(jìn)制標(biāo)記表示的寄存

器的16位值,并將冒號顯示為提示符。假如要更改包含在寄存器中的值,除非

鍵入新值并按ENTER鍵;否則,請按ENTER鍵返回Debug提示符。

有效寄存器名

以下是regisler?name的有效值:ax、bx、ex、dx、sp>bp>si、di、ds、es、

ss、cs、ip、pc及f。ip和pc都引用指令指針。

假如指定寄存器名稱,而不是從前面的列表中指定,Windows2000將顯示

以下消息:

brerror

運(yùn)用f字符而不是寄存器名

假如鍵入f字符代替寄存器名,Debug將每個(gè)標(biāo)記的當(dāng)前設(shè)置顯示為兩字母

代碼,然后顯示Debug提示符。要更改標(biāo)記的設(shè)置,請從下表中鍵入適當(dāng)?shù)膬?/p>

字母代碼:

標(biāo)記名設(shè)置清除

溢出ovnv

方向dn(減)up(增)

中斷ei(啟用)di(禁用)

正負(fù)ng(負(fù))pl(正)

零zrnz

協(xié)助進(jìn)位acna

奇偶校驗(yàn)pe(偶校驗(yàn))po(奇校驗(yàn))

進(jìn)位cync

可以按任何依次鍵入新的標(biāo)記值。不須要在這些值之間留出空格。要停

止r吩咐,請按ENTER鍵。任何沒有指定新值的標(biāo)記保持不變。

用r吩咐顯示的郵件

假如為標(biāo)記指定了多個(gè)值,Debug將顯不以卜消息、:

dferror

假如指定沒有在前面的表中列出的標(biāo)記代碼,Debug將顯示以下消息:

bferror

在這兩種狀況下,Debug將忽視全部在無效項(xiàng)目之后指定的設(shè)置。

Debug的默認(rèn)設(shè)置

在啟動(dòng)Debug時(shí)。,會(huì)將段寄存器設(shè)置到空閑內(nèi)存的低端,指令指針設(shè)置

為OlOOh,清除全部標(biāo)記,并且將其余寄存器設(shè)置為零,除了被設(shè)置

為FFEEh的sp之外。

++++

10、Debug:T(跟蹤)

執(zhí)行一條指令,并顯示全部注冊的內(nèi)容、全部標(biāo)記的狀態(tài)和所執(zhí)行指令的解

碼形式。

t[=address][numberl

參數(shù)

=address

指定Debug啟動(dòng)跟蹤指令的地址。假如省略address參數(shù),跟蹤將從程序

的CS:IP寄存器所指定的地址起先。有關(guān)address參數(shù)有效值的信息,請單擊“相

關(guān)主題”列表中的Debug。

number

指定要跟蹤的指令數(shù)。該值必需是十六進(jìn)制數(shù)。默認(rèn)值為1。

有關(guān)執(zhí)行循環(huán)、重復(fù)的字符串指令、軟件中斷或子例程的信息,請單擊“相

關(guān)主題”列表中的DebugP(執(zhí)行)。

有關(guān)執(zhí)行當(dāng)前內(nèi)存中程序的信息,請單擊“相關(guān)主題”列表中的DebugG(轉(zhuǎn)

向)°

++

范例

要執(zhí)行一個(gè)指令(CS:IP指向的指令),然后顯示寄存器的內(nèi)容、標(biāo)記的狀

態(tài)以及指令的解碼形式,請鍵入以下吩咐:

t

假如程序中的指令位于04BA:0UA,Debug口」能顯示卜列信息:

AX=()E()()BX=()()FFCX=0007DX=01FFSP=039DBP=()(X)()SI=()()5C

DI=OOOO

DS=04BAES=04BASS=04BACS=04BAIP=011ANVUPDINGNZACPE

NC

04BA:011ACD21INT21

++

說明

跟蹤只讀內(nèi)存中的指令

t吩咐運(yùn)用8086或8()88微處理器的硬件跟蹤模式。因此,也可以跟蹤存儲(chǔ)

在只讀內(nèi)存(ROM)中的指令。

運(yùn)用地址參數(shù)

必需在address參數(shù)之前運(yùn)用等號(=)以便將它與number參數(shù)區(qū)分。

11、Debug:U(反匯編)

反匯編字節(jié)并顯示相應(yīng)的原語句,其中包括地址和字節(jié)值。反匯編代碼看起

來象已匯編文件的列表。

u[range]

參數(shù)

假如在沒有參數(shù)的狀況下運(yùn)用,則u吩咐分解20h字節(jié)(默認(rèn)值),從前

面u吩咐所顯示地址后的第一個(gè)地址起先。

range

指定要反匯編代碼的起始地址和結(jié)束地址,或起始地址和長度。有

關(guān)range參數(shù)有效值的信息,請單擊“相關(guān)主題”列表中的Debug。

有關(guān)集成記憶碼的信息,請單擊“相關(guān)主題”列表中的DebugA(匯編)。

有關(guān)顯示內(nèi)存部分內(nèi)容的信息,請單擊“相關(guān)主題”列表中的DebugD(轉(zhuǎn)

儲(chǔ))。

++

范例

要反匯編16(10h)字節(jié),從地址04BA:0100起先,請鍵入以下吩咐:

u04ba:1001I0

Debug按以下格式顯示結(jié)果:

04BA:0100206472AND[SI+72],AH

04BA:010369DB69

04BA:01047665JBE016B

04BA:0106207370AND[BP+DI+70],DH

04BA:010965DB65

04BA:010A63DB63

04BA:010B69DB69

04BA:0I0C66DB66

04BA:010D69DB69

04BA:010E63DB63

O4BA:OIOF6lDB61

假如只顯示從04BA:0100到04BA:0108特定地址的信息,請鍵入以下吩咐:

u()4ba:01000108

Debug顯示以下內(nèi)容:

04BA:0100206472AND[SI+72],AH

04BA:010369DB69

04BA:01047665JBE016B

04BA:0106207370AND[BP+DI+70],DH

++++

試驗(yàn)二內(nèi)存操作數(shù)及尋址方法

試驗(yàn)?zāi)康模?/p>

通過試驗(yàn)駕馭下列學(xué)問:

1、8086/8088系統(tǒng)中數(shù)據(jù)在內(nèi)存中的存放方式和內(nèi)存操作數(shù)的幾種尋址方式。

2、8086/8088指令:INC,DEC,LOOP,INT3,INT20H,寄存器SI,DU

3、8086/8088匯編語言偽操作:BYTEPTR,WORDPTR。

4、求累加和程序和多字節(jié)加減法程序。

試驗(yàn)內(nèi)容和步驟:

一、內(nèi)存操作數(shù)及各種尋址方式運(yùn)用:

內(nèi)容:

MOVAX,123411

MOV[1000H],AX

MOVBX,1002H

MOVBYTEPTR[BX],20H

MOVDL,39H

INCBX

MOV[BX],DL

DECDL

MOVSI,3

MOV[BX+SI],DL

MOV[BX+SI+1],DL

MOVWORDPTR[BX+SH-2],2846H

步驟:(也可用emu8086)

1)用A吩咐鍵入上述程序,并用T吩咐逐條運(yùn)行。

2)每運(yùn)行一條有關(guān)內(nèi)存操作數(shù)的指令,要用【)吩咐檢查并記錄有關(guān)內(nèi)存單元的內(nèi)容并注

明是什么尋址方式。

留意D吩咐顯示結(jié)果中右邊的ASCII字符及雙字節(jié)數(shù)存放法。

思索:有關(guān)指令中BYTEPTK及WUKDPTK偽操作不加行不行?試一試。

二、求累加和程序:

程序:

MOVBX,1000H

MOVCX,10

SUBAX,AX

LOP:ADDAL,[BX]

ADCAU,0

INCBX

J:LOOPLOP

INT3H;斷點(diǎn)中斷

步驟:

1)用A吩咐將程序鍵入到100H起先的內(nèi)存中,在鍵入時(shí)登記標(biāo)號LOP和J的實(shí)際地址,在鍵

入LOOP指令時(shí)LOP用實(shí)際地址值代替。

2)用吩咐、AA將此程序命名為文件AA(文件名可任?。?/p>

3)用R吩咐將BX:CX改為程序長度值(即最終一條指令后面的地址減去開

始地址)

4)用吩咐*100將此程序存到AA命名的磁盤文件中。

5)用吩咐Q退出DEBUG。

6)用吩咐DEBUGAA再次調(diào)入DEBUG和文件AA,可用U吩咐檢查調(diào)入程序。

若調(diào)入DEBUG時(shí)忘了加AA文件名,可用N吩咐和L吩咐將文件調(diào)入。

7)用E吩咐在內(nèi)存地址1000H處鍵入16個(gè)數(shù)字

8)用吩咐G=100J(J用實(shí)際地址代替),使程序運(yùn)行并停在斷點(diǎn)J上,檢查

AX,BX的值是否符合你的預(yù)料值。

9)用T吩咐運(yùn)行一步,視察程樣方向(IP值)和CX值是否與你的估計(jì)一樣,

若不一樣,檢查程序是否有錯(cuò)。

10)重復(fù)GJ與T,再檢查AX是否正確。

11)用G吩咐使程序運(yùn)行到結(jié)束,檢查AX值是否正確。

三、多字節(jié)加法程序。

程序:

MOVDL1000H

MOVCX:8

MOVSI:2000H

CLC

LOP:MOVAL;[SI]

ADC[DI],AL

INCSI

INCDI

LOOPLOP

INT20H:INT2()H為DOS中斷返回』NT3為斷點(diǎn)中斷(用于DEBUG)

步驟:

1)用吩咐鍵入此程序

2)用E吩咐在1000H起先處鍵入一個(gè)8字節(jié)被加數(shù),在2000H起先處鍵入一個(gè)8字節(jié)加數(shù),均

為低字節(jié)在前面。

3)。用G吩咐運(yùn)行此程序,并用D吩咐檢查其結(jié)果(存放在哪里?),是否正確?

4)將INT20H指令改為INT3,有何區(qū)分?若這條指令不加,行不行?試一試。

四。自編程序:

用16位減法指令編一個(gè)32位(4字節(jié))數(shù)減法程序,兩個(gè)源數(shù)及結(jié)果存放

地址同上題。調(diào)試并做記錄。

試驗(yàn)報(bào)告要求:

1、各項(xiàng)試驗(yàn)結(jié)果記錄。

2、自編程序原稿及調(diào)試后修正稿,寫出原稿錯(cuò)在那里。

試驗(yàn)三數(shù)據(jù)串傳送和查表程序

試驗(yàn)?zāi)康模?/p>

通過試驗(yàn)駕馭下列學(xué)問:

1、堆棧、堆棧指示器SP和堆棧操作指令PUSH、POP。

2、段寄存器和物理地址計(jì)算。

3、查表法和查表指令XLAT。

4、數(shù)據(jù)串傳送程序和數(shù)據(jù)串傳送指令MOVS、STOS及重復(fù)前輟REP。

5、循環(huán)指令ROL、邏輯與指令A(yù)ND和清方向位指令CLD。

6、偽操作指令DB。

試驗(yàn)內(nèi)容及步驟:

一、利用查表方法把DX的內(nèi)容(16進(jìn)制數(shù))轉(zhuǎn)換成ASCII碼:

1、用A吩咐鍵入下列程序:

MOVBX,1OODH

MOV1)(,200011

MOVCX,4

LOP:PUSHex

MOVCL,4

ROLDX,CL

POPex

MOVAL,DL

ANDAL,OFH

XLAT

CLD

STOSB

LOOPLOP

INT20H

2、用A吩咐在1000H處鍵入下歹UASCII碼并用D吩咐檢查之:

DB'0123456789ABCDEF,

用D吩咐檢查時(shí)留意左邊的ASCII碼值和右邊的字符。

3、用R吩咐給DX送一個(gè)四位的16進(jìn)制數(shù)(例7F8EH)?

4、用T吩咐逐條運(yùn)行這程序到LOOP指令處,視察并記錄每次運(yùn)行結(jié)果,特殊是SP和堆棧內(nèi)

容(用D吩咐檢查)

5、用G吩咐將此程序運(yùn)行到結(jié)束,并用D吩咐檢查200011處所轉(zhuǎn)換的結(jié)果。可留意屏幕右

邊的ASCII字符與DX是否一樣。

二、數(shù)據(jù)串搬家程序:

1、用A吩咐鍵入下列程序:

MOVSI,1OODH

MOVDI,150011

MOVCX,OFH

LOP:MOVAL,[SI]

MOV[DI],AL

INCSI

INC1)1

LOOPLOP

INT2011

2、用A吩咐DB偽指令在1000H鍵入下列字符串:

*IBM_PCCOMPUTER)

3、用G吩咐運(yùn)行此程序,并用D吩咐檢查FI的地址處的字符與源串是否一樣。

4、若此程序中的目的地址改為1002H,再運(yùn)行此程序,看能不能把1000H起先的

字符串搬到I002H起先的地方去?修改程序以做到這一點(diǎn)。

三、段寄存器概念及字符串傳送指令練習(xí):

1、用A吩咐鍵入下列程序:

MOVSI,0

MOVDI,0

MOVAX,1OODH

MOVDS,AX

MOVAX,1500H

MOVES,AX

MOVCX,OFH

CLD

REPMOVSB

INT20H

2、用A吩咐DB偽指令在1OOOH:OOOOH處鍵入字符串'IBM_PCCOMPUTER',并用D命檢查之

3、用D吩咐檢查OFOOH:1OOOH處內(nèi)容,看是否一樣。為什么?

4、用G吩咐運(yùn)行此程序,檢查目的地址1500H:0000H處內(nèi)容。并登記DS與ES值。

5、修改此程序,使ES與DS為同一值,以削減一條指令,而源物理地址和目的物理地址(是

多少?)仍和原來一樣。

試驗(yàn)報(bào)告要求:

1、各項(xiàng)試驗(yàn)記錄和思索題。

2、要求你修改的程序的清單(修改后)和調(diào)試記錄。

試驗(yàn)四屏幕字符顯示程序

試驗(yàn)?zāi)康模?/p>

通過試驗(yàn)駕馭下列學(xué)問:

1、8086/8088指令:JMP,ROR,XOR,HLTo

2、利用DOS功能調(diào)用1NT21H的2號和9號功能進(jìn)行屏幕顯示的方法。

3、干脆向RAM(VRAM)送ASCII碼進(jìn)行屏幕顯示的方法。

4、IBM-PC機(jī)的ASCII碼表及限制字符。

5、吩咐()文件及運(yùn)用方法。

6、利用"Break退出程序的方法及局限性。

試驗(yàn)內(nèi)容及步驟:

一、利用INT2109H號功能調(diào)用顯示字符串。

1、用A吩咐在100H處鍵入下列程序:

MOVAH,9

MOVDX,110

INT21

INT20

2、用A吩咐在UOH處鍵入下列字符串的ASCII碼:

DB'Thisisabcimple!$,

3、用N吩咐和W吩咐將此程序(包括數(shù)據(jù)區(qū))存入文件名為AA的磁盤文件中。(存入前

BX:CX必需置為文件長度值)。

4、用Q吩咐退出DEBUG。

5、在DOS吩咐下打AA,運(yùn)行此程序,即在屏幕上顯示'Thisisasample!'字符串,若不出

現(xiàn),用DEBUG檢查程序有無錯(cuò)誤。

二、利用INT21H2號功能顯示字符:

1、用A吩咐在100H處鍵入下列程序:

XORDL:DL

MOVCX,100

LOP:MOVAIL2

INT21

INCDL

LOOPLOP

INT20

2、用G吩咐運(yùn)行程序,即在屏幕卜依次緩慢的顯示256個(gè)ASCII字符.細(xì)致視察每個(gè)字符.

和IBM-PCASCII碼表比照,看07H-0I川處限制字符顯示結(jié)果與表上有何不同?

3、按CTRL+BREAK退出此程序,若一次不行可多做幾次。

三、干脆向VRAM送ASCII碼顯示字符

1、用A吩咐在100H處鍵入下列程序:

MOVAX,BOOD

MOVDS,AX

XORAL,AL

XORBX,BX

MOVCX,100

LOP:MOV[BX],AL

INCBX

INCAL

PUSHCX

MOVCX,8

DELY:PUSHCX

MOVCX,0

J:LOOPJ

POPCX

LOOPDELY

POPCX

LOOPLOP

INT20

2、用N吩咐和W吩咐將此程序存入BB文件中。(肯定要先存入!)

3、用G吩咐運(yùn)行此程序,細(xì)致視察每一個(gè)ASCII碼顯示結(jié)果,并和字符表及上一道程序運(yùn)

行狀況進(jìn)行比照,其限制字符區(qū)(07-0DH)顯示結(jié)果和INT21H2號功能調(diào)用有何不同?

四。自編一個(gè)程序,要求顯示AX的內(nèi)容,即能顯示AX=xxxx。

調(diào)試時(shí)AX的內(nèi)容可用R吩咐賦值,也可用MOV指令賦值。

試驗(yàn)報(bào)告要求:

1、各項(xiàng)試驗(yàn)記錄及視察體會(huì)。

2、利用INT21H顯示和干脆向VRAM送ASCH碼顯示方法在顯示結(jié)果上有什么不同?

3、自編程序草稿及調(diào)試結(jié)果。

試驗(yàn)五二進(jìn)制數(shù)顯示成十六進(jìn)制數(shù)的屏幕字符顯示程序

試驗(yàn)?zāi)康模?/p>

通過試驗(yàn)駕馭下列學(xué)問:

1、8086指令:JG,SHR,MOV,OR,CMP,INC,LEA,INT等。

2、利用DOS功能調(diào)用INT21H的9號功能進(jìn)行屏幕顯示的方法。

試驗(yàn)內(nèi)容及步驟:

一、利用INT2109H號功能調(diào)用顯示字符串。

1、字符串顯示09H功能說明

功能:在屏幕上顯示在存儲(chǔ)器內(nèi)以“$”為結(jié)束符的字符串(不顯示).

入口參數(shù):DS:DX=串首址。

例4一個(gè)以“$”結(jié)束的字符串已存放在mess為首地址的內(nèi)存緩沖區(qū)中,利用09號功

能調(diào)用如下:

movah,9

movdx,segmess;ds:dx=串地址

movds,dx

movdx,offsetmess

int21h

2、從唳ss起先處存放下列字符串的ASCII碼;

'Thisisasample!$*

寫程序把它顯示出來。

3、把上面你寫出的程序存為aa

4、在DOS吩咐下打AA,運(yùn)行此程序,即在屏幕上顯示'Thisisasample!'字符串,若不出

現(xiàn),用DEBUG檢查程序有無錯(cuò)誤。

二、自編一個(gè)程序,要求把NUM單元存放的一個(gè)8位二進(jìn)數(shù),顯示成16進(jìn)制數(shù),

如NUM單元的內(nèi)容為僧1001011"要求能顯示“RESULT=4BH”.

程序框架為:

DATASEGMENT

NUMDB01001011B

BUFDBODH,OAH,'RESULT3

STRDB4DUP(?)

DATAENDS

STACKSEGMENTSTACK

DB200DUP(O)

STACKENDS

CODESEGMENT

ASSUMEl)S:DATA,SS:STACK,CS:CODE

START:MOVAX;DATA

MOVDS;AX

MOVAH;4CH

INT21H

CODEENDS

ENDSTART

試驗(yàn)報(bào)告要求:

1、各項(xiàng)試驗(yàn)記錄及視察體會(huì)。

2、自編程序草稿及調(diào)試結(jié)果。

試驗(yàn)六查表指令及子程序嵌套試驗(yàn)

試驗(yàn)?zāi)康模?/p>

通過試驗(yàn)駕馭下列學(xué)問:

1、8086/8088指令:MOV,XLAT,LEA,JNE,CALL,RET,PUSH,POP,CMP,INT。

2、數(shù)據(jù)段的定義方法。

3、XLAT指令的運(yùn)用方法。

4、子程序的嵌套調(diào)用及子程序參數(shù)傳遞的方法。

5、利用DOS功能調(diào)用INT21H的4cH號功能返回DOS的方法。

6、MASM、LINK、DEBUG、EMU8086等匯編、調(diào)試工具的運(yùn)用方法。

試驗(yàn)內(nèi)容及步驟:

一、調(diào)試以下兩個(gè)程序,讀懂程序,尤其是其次個(gè)程序,要駕馭階乘的算法,最終寫出

程序的運(yùn)行結(jié)果及結(jié)果存放的位置。

1、已知某班學(xué)生的英語成果按學(xué)號(從1起先)從小到大的依次排列在TAB表中,要查的學(xué)

生的學(xué)號放在變量N0中,查表結(jié)果放在變量ENGLISH中。編寫程序如下:

STACKSEGMENTSTACK

DB200DUP(O)

STACKENDS

DATASEGMENT

TABDB80,85,86,71,79,96

DB83,56,32,66,78。84

NODB10

ENGLISTDB?

DATAENDS

CODESEGMENT

ASSUMEDS:DATA,SS:STACK,CS:CODE

BEGIN:MOVAX,DATA

MOVDS,AX

LEABX,TAB

MOVAL,NO

DELAL

XLATTAB

MOVENGLISH,AL

MOVAH,4CH

INT21H

CODEENDS

ENDBEGIN

2、計(jì)算5!的程序示例,RESULT是保存階乘的存儲(chǔ)單元。

程序如下:

STACKSEGMENTSTACK

DB200DUP(O)

STACKENDS

DATASEGMENT

NDW5

RESULTDW?

DATAENDS

CODESEGMENT

ASSUMECS:CODE,SS:STACK,I)S:1)ATA

START:MOVAX,DATA

MOVDS,AX

MOVAX,N

CALLFACT

MOVAX,RESULT

MOVAH,4CH

INT2111

FACTPROC

CMPAX,0

JNELI

MOVRESULT,1

JMPEXIT

LI:PUSHAX

DECAX

CALLFACT

POPAX

MOVRESULT

MOVRESNLT,AX

EXIT:RET

FACTENDP

CODEENDS

ENDSTART

二、讀一讀以下程序,看一看運(yùn)行結(jié)果。(選作)

DATASEGMENT

ATRIDB6EH,52H,94H,52H,6EH

DATAENDS

STACKSEGMENTPARASTACK*STACK

DB200DUP(O)

STACKENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA,SS:STACK

ST:MOVAX,DATA

MOVDS,AX

MOVAH,0;設(shè)置80X25彩色文本方式

MOVAL,3

INT10H

LEASI,ATRI;屬性字節(jié)值表首址存SI

MOVDI,5;顯示5個(gè)字符

MOVDX,0A13II;顯示位置

MOVAH,15;取當(dāng)前頁號

INT10H

LP:MOVAH,2;置光標(biāo)位置

INCDL

INT10H

MOVAL,5,顯示梅花形字符

MOVBL,[SI]

MOVCX,1

MOVAH,9

INT10H

INCSI;指向下一屬性字節(jié)

DECDI;判顯示完否

J

溫馨提示

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

評論

0/150

提交評論