匯編語言王爽第二版課后答案_第1頁
匯編語言王爽第二版課后答案_第2頁
匯編語言王爽第二版課后答案_第3頁
匯編語言王爽第二版課后答案_第4頁
匯編語言王爽第二版課后答案_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

匯編語言王爽第二版課后答案匯編語言王爽第二版課后答案匯編語言王爽第二版課后答案匯編語言王爽第二版課后答案編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:第一章基礎(chǔ)知識檢測點(第8頁)

----------------------(1)13(2)1024,0,1023(3)8192,1024(4)2^30,2^20,2^10(5)64,1,16,4(6)1,1,2,2,4(7)512,256(8)二進(jìn)制注意:

1.第4題中的符號'^'指求冪運(yùn)算(如:2^30指2的30次方)第二章寄存器(CPU工作原理)檢測點(第18頁)

----------------------(1)寫出每條匯編指令執(zhí)行后相關(guān)寄存器中的值。第一空:F4A3H第二空:31A3H第三空:3123H第四空:6246H第五空:826CH第六空:6246H第七空:826CH第八空:04D8H第九空:0482H第十空:6C82H第十一空:D882H第十二空:D888H第十三空:D810H第十四空:6246H(2)只能使用目前學(xué)過的匯編指令,最多使用4條指令,編程計算2的4次方。解答如下:movax,2addax,axaddax,axaddax,ax檢測點(第23頁)

----------------------(1)00010H,1000FH(2)1001H,2000H第2題說明:因為段的起始地址要為16的倍數(shù)。所以當(dāng)段地址小于1001H或大于2000H時CPU都無法尋到。檢測點(第33頁)

----------------------答:CPU修改了4次IP的值。情況如下:第1次:執(zhí)行完movax,bx后第2次:執(zhí)行完subax,ax后第3次:讀入jmpax后第4次:執(zhí)行完jmpax后最后IP的值為0實驗1查看CPU和內(nèi)存,用機(jī)器指令和匯編指令編程(第33頁)

-----------------------------------------------------1.預(yù)備知識:Debug的使用<此部分略>2.實驗任務(wù)(第43頁)(1)<此部分略>(2)<此部分略>(3)

通過DEBUG中的D命令查看到主板的生產(chǎn)日期[以月、日、年,分隔符為'/'的格式]存儲在內(nèi)存ffff:0005~ffff:000C(共8個字節(jié)單元中)處。此生產(chǎn)日期不能被改變,因為其具有‘只讀’屬性。(4)通過向內(nèi)存中的顯存寫入數(shù)據(jù),使計算機(jī)根據(jù)寫入的數(shù)據(jù)進(jìn)行ASCII轉(zhuǎn)換,并將轉(zhuǎn)換后且可打印的字符輸出到屏幕上。<注:關(guān)于顯存的詳細(xì)討論不在此題范圍>第三章寄存器(內(nèi)存訪問)檢測點(第52頁)

----------------------(1)(題目:略)第一空:2662H第二空:E626H第三空:E626H第四空:2662H第五空:D6E6H第六空:FD48H第七空:2C14H第八空:0000H第九空:00E6H第十空:0000H第十一空:0026H第十二空:000CH提示:此題可在DEBUG中利用E命令在本機(jī)上按照題目中所給出的內(nèi)存單元及其數(shù)據(jù)進(jìn)行相應(yīng)地修改,然后再用A命令進(jìn)行寫入(題目中所給出的)相應(yīng)的匯編指令,最后再進(jìn)行T命令進(jìn)行逐步執(zhí)行,以查看相應(yīng)結(jié)果。(2)1.指令序列如下:movax,6622hjmp0ff0:0100movax,2000hmovds,axmovax,[0008]movax,[0002]2.寫出CPU執(zhí)行每條指令后,CS、IP和相關(guān)寄存器中的數(shù)值。指令序列↓寄存器→CSIPDSAXBX初始值→2000H00001000H00movax,6622h2000H00031000H6622H0000jmp0ff0:01001000H00001000H6622H0000movax,2000h1000H00031000H2000H0000movds,ax1000H00052000H2000H0000movax,[0008]1000H00082000HC389H0000movax,[0002]1000H000B2000HEA66H0000

3.再次體會:數(shù)據(jù)和程序有區(qū)別嗎如何確定內(nèi)存中的信息哪些是數(shù)據(jù),哪些是程序?

答:(略)

檢測點(第66頁)

----------------------(1)movax,2000Hmovss,axmovsp,10H(2)movax,1000Hmovss,axmovsp,0H實驗2用機(jī)器指令和匯編指令編程(第70頁)

---------------------------------------1.預(yù)備知識:Debug的使用<此部分略>2.實驗任務(wù)(1)使用Debug,將下面的程序段寫入內(nèi)存,逐條執(zhí)行,根據(jù)指令執(zhí)行后的實際運(yùn)行情況填空。從第一空開始依次如下:ax=5BEAax=5CCAbx=30F0bx=6029sp=FE220FE5CCAsp=FC220FC6029sp=FE6029sp=100H5CCAsp=FE220FE30F0sp=FC220FC2E39說明:此題可能因機(jī)子軟、硬件環(huán)境不同而導(dǎo)致答案不一致!(2)仔細(xì)觀察圖的實驗過程,然后分析:為什么2000:0~2000:f中的內(nèi)容會發(fā)生改變?

答:因為用T指令進(jìn)行調(diào)試時,會產(chǎn)生中斷。而為了保護(hù)現(xiàn)場,CPU則先將標(biāo)志寄存器進(jìn)棧、再把當(dāng)前CS的值進(jìn)棧,最后將IP的值進(jìn)棧。<關(guān)于中斷的詳細(xì)內(nèi)容的討論不在此題范圍>第五章[BX]和loop指令實驗4[BX]和loop的使用(第113頁)

-------------------------------

(1)編程,向內(nèi)存0:200~0:23F依次傳送數(shù)據(jù)0~63(3FH)。程序如下:assumecs:codesgcodesgsegment movax,0020h movds,ax movbx,0 movdl,0 movcx,40hs: mov[bx],dl incdl incbx loops movax,4c00h int21hcodesgendsend(2)編程,向內(nèi)存0:200~0:23F依次傳送數(shù)據(jù)0~63(3FH),程序中只能使用9條指令,9條指令中包括“movax,4c00h”和“int21h”。程序如下:assumecs:codesgcodesgsegment movax,0020h movds,ax movbl,0 movcx,40hs: mov[bx],bl incbl loopsmovax,4c00h int21hcodesgendsend(3)下面的程序的功能是將“movax,4c00h”之前的指令復(fù)制到內(nèi)存0:200處,補(bǔ)全程序。上機(jī)調(diào)試,跟蹤運(yùn)行結(jié)果。assumecs:codecodesegment movax,code;code為所填寫的數(shù)據(jù) movds,ax movax,0020h moves,ax movbx,0 movcx,18h;18h為所填寫的數(shù)據(jù)s:moval,[bx] moves:[bx],al incbx loops movax,4c00h int21hcodeendsend提示:

1.因為題目的要求是把代碼段內(nèi)的指令當(dāng)作數(shù)據(jù),復(fù)制到目的地址。所以,源數(shù)據(jù)段ds和代碼段cs相同,通過movax,code/movds,ax('/'符號是指兩條指令的分隔)來設(shè)置源數(shù)據(jù)段。

2.可以先假設(shè)要復(fù)制8位[1h~0ffh]數(shù)據(jù)(因為我們?nèi)庋劬涂梢钥闯龃顺绦虻拈L度不可能大于0ffh個字節(jié))的字節(jié)數(shù)(如:10h),把程序補(bǔ)全,以便通過編譯。這時我們以準(zhǔn)確的第一空所填內(nèi)容code與假想的第二空內(nèi)容10h將程序補(bǔ)充完整并將其編譯、連接、運(yùn)行,接著進(jìn)行DEBUG,在DEBUG時我們可用R命令查看CX的值,這時我們可以看到CX的值為1D,由此我們可以算出該程序的長度[1Dh-5h]=18h,之所以減5是為了滿足題目的要求(因為movax,4c00h/int21h這兩條指令的長度等于5)第六章包含多個段的程序檢測點(第119頁)-------------------(1)assumecs:codesgcodesgsegment dw0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hstart: movax,0 movds,ax movbx,0 movcx,8s: movax,[bx] movcs:[bx],ax;此條指令為所填指令 addbx,2 loops movax,4c00h int21hcodesgendsendstart(2)assumecs:codesgcodesgsegment dw0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h dw0,0,0,0,0start: movax,cs;cs為所填第一空 movss,ax movsp,1ah;此條指令為所填第二空 movax,0 movds,ax movbx,0 movcx,8s: push[bx] popcs:[bx];此條指令為所填第三空 addbx,2 loops movax,4c00h int21hcodesgendsendstart實驗5編寫、調(diào)試具有多個段的程序(第123頁)-----------------------------------------(1)1.保持不變2.<考慮不同機(jī)子環(huán)境不同,答案無法統(tǒng)一>,X-1(2)1.保持不變2.<考慮不同機(jī)子環(huán)境不同,答案無法統(tǒng)一>,X-14.(N/16+1)*16[說明:N/16只取整數(shù)部分](3)1.保持不變2.<考慮不同機(jī)子環(huán)境不同,答案無法統(tǒng)一>+3,X+4(4)答:第3個仍然可以正確執(zhí)行。因為如果把end指令后的標(biāo)號start去掉后,編譯器便會順序執(zhí)行程序。換句話說:當(dāng)未給編譯器預(yù)先的通知,要求其從哪開始執(zhí)行程序時,編譯器就自動以'至上向下'的順序進(jìn)行編譯執(zhí)行源程序。(5)完整程序如下:assumecs:codeasegmentdb1,2,3,4,5,6,7,8aendsbsegmentdb1,2,3,4,5,6,7,8bendscsegmentdb0,0,0,0,0,0,0,0cendscodesegmentstart:movax,amoves,axmovax,cmovds,axmovbx,0movcx,8s1:movax,es:[bx]add[bx],axaddbx,2loops1movax,bmoves,axmovds,axmovbx,0movcx,8s2:movax,es:[bx]add[bx],axaddbx,2loops2movax,4c00hint21hcodeendsendstart(6)完整程序如下:assumecs:codeasegmentdw1,2,3,4,5,6,7,8aendsbsegmentdw0,0,0,0,0,0,0,0bendscodesegmentstart:movax,bmovss,axmovsp,10hmovax,amovds,axmovbx,0movcx,8s:push[bx]addbx,2loopsmovax,4c00hint21hcodeendsendstart第七章更靈活的定位內(nèi)存地址的方法實驗6實踐課程中的程序(第147頁)-------------------------------(2)編程:完成問題中的程序。問題完整程序如下:assumecs:codesg,ss:stacksg,ds:datasgstacksgsegmentdw0,0,0,0,0,0,0,0stacksgendsdatasgsegmentdb'1.display'db'2.brows'db'3.replace'db'4.modify'datasgendscodesgsegmentstart:movax,stacksgmovss,axmovsp,16movax,datasgmovds,axmovbx,0movcx,4s:;外循環(huán)pushcxmovsi,3movcx,4s0:;內(nèi)循環(huán)moval,[bx+si]andal,bmov[bx+si],alincsiloops0addbx,16popcxloopsmovax,4c00hint21hcodesgendsendstart第八章數(shù)據(jù)處理的兩個基本問題實驗7尋址方式在結(jié)構(gòu)化數(shù)據(jù)訪問中的應(yīng)用(第160頁)----------------------------------------------完整程序如下:assumecs:codesg,ds:data,es:tabledatasegmentdb'1975','1976','1977','1978','1979','1980','1981','1982','1983'db'1984','1985','1986','1987','1988','1989','1990','1991','1992'db'1993','1994','1995';以上是表示21年的21個字符串dd16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514dd345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000;以上是表示21年公司總收的21個dword型數(shù)據(jù)dw3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226dw11542,14430,45257,17800;以上是表示21年公司雇員人數(shù)的21個word型數(shù)據(jù)dataendstablesegmentdb21dup('yearsummne')tableendscodesgsegmentstart:movax,datamovds,axmovax,tablemoves,axmovbx,0movsi,0movdi,0movcx,21s:;進(jìn)入循環(huán)moval,[bx]moves:[di],almoval,[bx+1]moves:[di+1],almoval,[bx+2]moves:[di+2],almoval,[bx+3]moves:[di+3],al;以上8句的作用是存放年份movax,54h[bx];第一個'年收入'的段基址為54Hmovdx,56h[bx]moves:5h[di],axmoves:7h[di],dx;以上4句的作用是存放公司總收入movax,0A8h[si];第一個'人數(shù)'的段基址為0A8Hmoves:0Ah[di],ax;以上2句是存放公司的人數(shù)movax,54h[bx]divwordptrds:0A8h[si]moves:0dh[di],ax;以上3句是存放人均收入addbx,4addsi,2adddi,16;以上3句是為下一次循環(huán)時存放數(shù)據(jù)做準(zhǔn)備;3個寄存器遞增的速度決定了所要存取的數(shù)據(jù)的位置的偏移地址loops;跳到標(biāo)號s處movax,4c00hint21hcodesgendsendstart程序說明:此程序雖然可以達(dá)到預(yù)期效果(讀者可以自行調(diào)試驗證),但實現(xiàn)方法比較簡單,讀者有興趣的話可以尋找一種更具結(jié)構(gòu)化的設(shè)計方法來完成。第九章轉(zhuǎn)移指令的原理檢測點(第170頁)----------------------(1)若要使jmp指令執(zhí)行后,CS:IP指向程序的第一條指令,在data段中應(yīng)該定義哪些數(shù)據(jù)完整程序如下:assumecs:code,ds:datadatasegment db0,0,0dataendscodesegmentstart: movax,data movds,ax movbx,0 jmpwordptr[bx+1];段內(nèi)間接轉(zhuǎn)移codeendsendstart;解題理由:為了使IP的值經(jīng)跳轉(zhuǎn)后變?yōu)?,則需保證ds:[bx+1]處的字型單元數(shù)據(jù)為0000H,;所以定義3個字節(jié)型數(shù)據(jù)0就符合“應(yīng)該”的要求(2)補(bǔ)全程序,使jmp指令執(zhí)行后,CS:IP指向程序的第一條指令。完整程序如下:assumecs:code,ds:datadatasegment ddhdataendscodesegmentstart: movax,data movds,ax movbx,0 mov[bx],bx;源操作數(shù)bx為所填內(nèi)容 mov[bx+2],cs;源操作數(shù)cs為所填內(nèi)容 jmpdwordptrds:[0]codeendsendstart(3)用Debug查看內(nèi)存,結(jié)果如下:2000:1000BE0006000000......則此時,CPU執(zhí)行指令:movax,2000Hmoves,axjmpdwordptres:[1000H]后,(CS)=,(IP)=提示:為了使本機(jī)環(huán)境[2000:1000至2000:1005]中的數(shù)據(jù)與題目中所給出的數(shù)據(jù)一致,可以通過編寫程序來完成,完整程序如下:assumecs:codecodesegmentstart: movax,2000h movds,ax movbx,1000h movwordptr[bx].0,0BEH movwordptr[bx].2,6h movwordptr[bx].4,0 ;運(yùn)行完上6句則使2000:1000--2000:1005中的數(shù)據(jù)依次為:BE,00,06,00,00,00 ;以上6句則按題目中的數(shù)據(jù)進(jìn)行初始化,以便使運(yùn)行環(huán)境符合題目要求 ;movax,2000h moves,ax jmpdwordptres:[1000h]codeendsendstart經(jīng)上機(jī)調(diào)試得出:CS=0006H,IP=00BEH檢測點(第172頁)----------------------從標(biāo)號s處開始所要填寫的四條指令依次如下:第一條指令:movcl,[bx]第二條指令:movch,0第三條指令:jcxzok第四條指令:incbx檢測點(第173頁)----------------------補(bǔ)全程序,利用loop指令,實現(xiàn)在內(nèi)存2000H段中查找第一個值為0的byte,找到后,將它的偏移地址存儲在dx中。assumecs:codecodesegmentstart:movax,2000hmovds,axmovbx,0s:movcl,[bx]movch,0inccx;此條指令為題目要求補(bǔ)全的指令incbxloopok:decbxmovdx,bxmovax,4c00hint21hcodeendsendstart解答提醒:此題可用假設(shè)法來完成(比如設(shè)2000:0000至2000:0003的內(nèi)容依次為:1E06000A)。此題要注意loop指令的使用規(guī)則,同時要注意區(qū)別[內(nèi)存單元]與[內(nèi)存單元中的數(shù)據(jù)(或內(nèi)容)]的不同。實驗8分析一個奇怪的程序(第174頁)---------------------------------分析下面的程序,在運(yùn)行前思考:這個程序可以正確返回嗎運(yùn)行后再思考:為什么是這種結(jié)果通過這個程序加深對相關(guān)內(nèi)容的理解。assumecs:codesgcodesgsegmentmovax,4c00hint21hstart:movax,0s:nopnopmovdi,offsetsmovsi,offsets2movax,cs:[si]movcs:[di],axs0:jmpshortss1:movax,0int21hmovax,0s2:jmpshorts1nopcodesgendsendstart程序可以正常返回。詳細(xì)分析:在此題中較為深入地考察了‘段內(nèi)直接短轉(zhuǎn)移’[形如:jmpshort標(biāo)號]的概念。我們知道程序中:movdi,offsetsmovsi,offsets2movax,cs:[si]movcs:[di],ax四條指令的作用是將標(biāo)號s2處的一條指令復(fù)制到標(biāo)號s處。這時我們應(yīng)該關(guān)心所復(fù)制的語句"jmpshorts1"對程序的影響:我們知道在段內(nèi)直接短轉(zhuǎn)移指令所對應(yīng)的機(jī)器碼中,并不包含轉(zhuǎn)移的目的地址,而包含的是轉(zhuǎn)移的位移量(如對此概念還不太熟悉,請查看書中第167頁的內(nèi)容)。也就是說,在源程序的編譯過程中,編譯器遇到‘段內(nèi)直接短轉(zhuǎn)移’[形如:jmpshort標(biāo)號]時就會自動算出其要跳轉(zhuǎn)的位移量,以便程序在執(zhí)行‘段內(nèi)直接短轉(zhuǎn)移’的指令時就根據(jù)位移量進(jìn)行(向前或向后)跳轉(zhuǎn)。通過調(diào)試中的U命令我們可以看到指令's2:jmpshorts1'所對應(yīng)的機(jī)器碼是EBF6,F(xiàn)6h(-10d的補(bǔ)碼)就是跳轉(zhuǎn)的位移量[此位移量也可由指令's2:jmpshorts1'處的偏移地址18h減去指令's2:jmpshorts1'后一個字節(jié)的偏移地址22h得出]。這時我們就知道了其實復(fù)制到標(biāo)號s處的指令所對應(yīng)的機(jī)器碼就是EBF6(剛好取代兩個nop所對應(yīng)的機(jī)器碼),它的作用就是將當(dāng)前IP向前移動10個字節(jié)。當(dāng)程序執(zhí)行標(biāo)號s0處的指令后,程序便跳到標(biāo)號s處接著執(zhí)行標(biāo)號s處的指令。s處的指令的作用是向前跳10字節(jié),于是便跳到了代碼中的第一條指令,繼續(xù)執(zhí)行后便實現(xiàn)了程序的正常返回。[注意:此程序不會也不可能執(zhí)行標(biāo)號s1處后的指令。]實驗9根據(jù)材料編程(第175頁)-------------------------------assumecs:code,ds:data,ss:stackdatasegmentdb'welcometomasm!';定義要顯示的字符串(共16字節(jié))db02h,24h,71h;定義三種顏色屬性dataendsstacksegmentdw8dup(0)stackendscodesegmentstart:movax,datamovds,axmovax,stackmovss,axmovsp,10hmovbx,0movdi,0movax,0b872h;算出屏幕第12行中間的顯存的段起始位置放入ax中movcx,3;外循環(huán)為3次,因為要顯示三個字符串s3:pushcx;三個進(jìn)棧操作為外循環(huán)s3保存相關(guān)寄存器的值pushax;以防止它們的值在內(nèi)循環(huán)中被破壞pushdimoves,ax;此時es為屏幕第12行中間的顯存的段起始位置movsi,0movdi,0movcx,10h;內(nèi)循環(huán)為10h次,因為一個字符串中含10h個字節(jié)s1:moval,ds:[bx+si]moves:[bx+di],alincsiadddi,2loops1;此循環(huán)實現(xiàn)偶地址中存放字符movsi,1;si的值設(shè)為1,從而為在顯存奇地址中存放字符的顏色屬性做準(zhǔn)備popdi;將di的值恢復(fù)成進(jìn)入內(nèi)循環(huán)之前的時候的值moval,ds:10h[bx+di];取顏色屬性[源OP尋址方式:相對基址變址]movcx,10h;第二個內(nèi)循環(huán)也為10h次s2:moves:[bx+si],aladdsi,2loops2;此循環(huán)實現(xiàn)奇地址中存放字符的顏色屬性;以下4句為下一趟外循環(huán)做準(zhǔn)備incdipopaxaddax,0ah;將顯存的段起始地址設(shè)為當(dāng)前行的下一行;[在段地址中加0ah,相當(dāng)于在偏移地址中加了0a0h(=160d)]popcxloops3tmovax,4c00hint21hcodeendsendstart第十章call和ret指令檢測點(第179頁)----------------------第一空:1000h第二空:0提示:此題等效于把CS的值改為1000H,把IP的值改為0。因為retf指令進(jìn)行的操作是先將IP出棧,再將CS出棧,所以在進(jìn)棧時應(yīng)當(dāng)進(jìn)行相反的操作。檢測點(第181頁)----------------------ax=6提示:在執(zhí)行指令"calls"時,IP的值變?yōu)?,接著進(jìn)棧。此時程序直接執(zhí)行指令"s:popax",這就等于把棧中IP的值放入ax中。所以答案為6。關(guān)于更多的call指令的問題請看附注中的“錯誤指出”中的第6條。檢測點(第181頁)----------------------ax=1010提示:1.寄存器中存放的值為16進(jìn)制數(shù)2.關(guān)于更多的call指令的問題請看附注中的“錯誤指出”中的第6條。檢測點(第182頁)----------------------ax=000B提示:關(guān)于更多的call指令的問題請看附注中的“錯誤指出”中的第6條。檢測點(第183頁)----------------------(1)答:ax中的數(shù)值為3提示:不能利用T命令進(jìn)行調(diào)試,則改用U和G命令來調(diào)試。可用U命令先查看指令"movax,4c00h"處的偏移地址,然后用G命令直接執(zhí)行到指令"movax,4c00h"的偏移地址處。(2)ax=1bx=0提示:關(guān)于更多的call指令的問題請看附注中的“錯誤指出”中的第6條。實驗10編寫子程序(第194頁)--------------------------1.顯示子程序完整程序如下:datasegmentdb'Welcometomasm!',0dataendscodesegmentassumecs:code,ds:datastart:movdh,1;dh裝行號(范圍:1--25)movdl,1;dl裝列號(范圍:1--80)[注:每超過80等于行號自動加1]movcl,0cah;cl中存放顏色屬性(0cah為紅底高亮閃爍綠色屬性)movax,datamovds,axmovsi,0callshow_strmovax,4c00hint21hshow_str:;顯示字符串的子程序[定義開始]pushcxpushsimoval,0A0hdecdh;行號在顯存中下標(biāo)從0開始,所以減1muldhmovbx,axmoval,2muldlsubax,2;列號在顯存中下標(biāo)從0開始,又因為偶字節(jié)存放字符,所以減2addbx,ax;此時bx中存放的是行與列號的偏移地址movax,0B800hmoves,ax;es中存放的是顯存的第0頁(共0--7頁)的起始的段地址movdi,0moval,clmovch,0s:movcl,ds:[si]jcxzokmoves:[bx+di],cl;偶地址存放字符moves:[bx+di+1],al;奇地址存放字符的顏色屬性incsiadddi,2jmpshortsok:popsipopcxret;顯示字符串的子程序[定義結(jié)束]codeendsendstart2.解決除法溢出的問題(第197頁)完整程序如下:assumecs:code,ss:stackstacksegmentdw8dup(0)stackendscodesegmentstart:movax,stackmovss,axmovsp,10hmovax,4240hmovdx,0fhmovcx,0ahcalldivdwmovax,4c00h

溫馨提示

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

評論

0/150

提交評論