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

下載本文檔

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

文檔簡介

匯編語?課后題答案檢測點(diǎn)1.1(1)1個(gè)CPU的尋址能?為8KB,那么它的地址總線的寬度為13位。(2)1KB的存儲(chǔ)器有1024個(gè)存儲(chǔ)單元,存儲(chǔ)單元的編號(hào)從0到1023。(3)1KB的存儲(chǔ)器可以存儲(chǔ)8192(2^13)個(gè)bit,1024個(gè)Byte。(4)1GB是1073741824(2^30)個(gè)Byte、1MB是1048576(2^20)個(gè)Byte、1KB是1024(2^10)個(gè)Byte。(5)8080、8088、80296、80386的地址總線寬度分別為16根、20根、24根、32根,則它們的尋址能?分別為:64(KB)、1(MB)、16(MB)、4(GB)。(6)8080、8088、8086、80286、80386的數(shù)據(jù)總線寬度分別為8根、8根、16根、16根、32根。則它們?次可以傳送的數(shù)據(jù)為:1(B)、1(B)、2(B)、2(B)、4(B)。(7)從內(nèi)存中讀取1024字節(jié)的數(shù)據(jù),8086?少要讀512次,80386?少要讀256次。(8)在存儲(chǔ)器中,數(shù)據(jù)和程序以?進(jìn)制形式存放。檢測點(diǎn)2.1(1)寫出每條匯編指令執(zhí)?后相關(guān)寄存器中的值。movax,62627AX=F4A3Hmovah,31Hmoval,23Haddax,axAX=31A3HAX=3123HAX=6246Hmovbx,826CHmovcx,axBX=826CHCX=6246Hmovax,bxAX=826CHaddax,bxmoval,bhmovah,bladdah,ahaddal,6AX=04D8HAX=0482HAX=6C82HAX=D882HAX=D888HAX=D810HAX=6246Haddal,almovax,cx檢測點(diǎn)2.2(1)給定段地址為0001H,僅通過變化偏移地址尋址,CPU的尋址范圍為0010H到1000FH。(2)有?數(shù)據(jù)存放在內(nèi)存20000H單元中,現(xiàn)給定段地址為SA,若想?偏移地址尋到此單元。則SA應(yīng)滿?的條件是:最?為1001H,最?為2000H。檢測點(diǎn)2.31、下?的3條指令執(zhí)?后,cpu?次修改IP?都是在什么時(shí)候?最后IP中的值是多少?movax,bxsubax,axjmpax答:?共修改四次第?次:讀取movax,bx之后第?次:讀取subax,ax之后第三次:讀取jmpax之后第四次:執(zhí)?jmpax修改IP最后IP的值為0000H,因?yàn)樽詈骯x中的值為0000H,所以IP中的值也為0000H檢測點(diǎn)3.1(1)在DEBUG中,?“D0:0lf”查看內(nèi)存,結(jié)果如下:0000:00007080F030EF6030E2-00808012662022600000:00106226E6D6CC2E3C3B-ABBA000026066688下?的程序執(zhí)?前,AX=0,BX=0,寫出每條匯編指令執(zhí)?完后相關(guān)寄存器中的值。movax,1movds,axmovax,[0000]ax=2662Hmovbx,[0001]bx=E626Hmovax,bxax=E626H

movax,bxax=E626Hmovax,[0000]ax=2662Hmovbx,[0002]bx=D6E6Haddax,bxaddax,[0004]ax=2C14Hmovax,0ax=0moval,[0002]ax=00e6Hmovbx,0bx=0movbl,[000c]bx=0026Hax=FD48Haddal,bl(2)ax=000CH①指令序列如下:movax,6622hjmp0ff0:0100movax,2000hmovds,axmovax,[0008]movax,[0002]②寫出CPU執(zhí)?每條指令后,CS、IP和相關(guān)寄存器中的數(shù)值。指令序列↓寄存器→CSIPDSAXBX初始值→2000H00001000H00movax,6622h2000H00031000H6622H0000jmp0ff0:01001000H00001000H6622H0000movax,2000h1000H00031000H2000H0000movds,ax1000H00052000H2000H0000movax,[0008]1000H00082000HC389H0000movax,[0002]1000H000B2000HEA66H0000檢測點(diǎn)3.2(1)補(bǔ)全下?的程序,使其可以將10000H-1000FH中的8個(gè)字,逆序拷貝到20000H-2000FH中。movax,1000Hmovds,axmovax,2000Hmovss,axmovsp,10hpush[0]push[2]push[4]push[6]push[8]push[A]push[C]push[E](2)補(bǔ)全下?的程序,使其可以將10000H-1000FH中的8個(gè)字,逆序拷貝到20000H-2000FH中。movax,2000Hmovds,axmovax,1000Hmovss,axmovsp,0pop[e]pop[c]pop[a]pop[8]pop[6]pop[4]pop[2]pop[0]

pop[0]實(shí)驗(yàn)4[BX]和loop的使?(1)編程,向內(nèi)存0:20063(3FH)。0:23F依次傳送數(shù)據(jù)0程序如下:assumecs:codesgcodesgsegmentmovax,0020hmovds,axmovbx,0movdl,0movcx,40hs:mov[bx],dlincdlincbxloopsmovax,4c00hint21hcodesgendsend(2)編程,向內(nèi)存0:200程序如下:assumecs:codesgcodesgsegmentmovax,0020hmovds,axmovbl,063(3FH),程序中只能使?9條指令,9條指令中包括“movax,4c00h”和“int21h”。0:23F依次傳送數(shù)據(jù)0movcx,40hs:mov[bx],blincblloopsmovax,4c00hint21hcodesgendsend(3)下?的程序的功能是將“movax,4c00h”之前的指令復(fù)制到內(nèi)存0:200處,補(bǔ)全程序。上機(jī)調(diào)試,跟蹤運(yùn)?結(jié)果。assumecs:codecodesegmentmovax,code或cs;code為所填寫的數(shù)據(jù)movds,axmovax,0020hmoves,axmovbx,0movcx,18h或17h或subcx,5s:moval,[bx]moves:[bx],alincbxloopsmovax,4c00hint21hcodeendsend檢測點(diǎn)6.1(1)下?的程序?qū)崿F(xiàn)依次?內(nèi)存0:0~0:15單元中的內(nèi)容改寫程序中的數(shù)據(jù),完成程序:assumecs:codesgcodesgsegment

codesgsegmentdw0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hstart:movax,0movds,axmovbx,0movcx,8s:movax,[bx]movcs:[bx],ax;此條指令為所填指令addbx,2loopsmovax,4c00hint21hcodesgendsendstart(2)下?的程序?qū)崿F(xiàn)依次?內(nèi)存0:0~0:15單元中的內(nèi)容改寫程序中的數(shù)據(jù),數(shù)據(jù)的傳送?棧來進(jìn)?。??臻g設(shè)置在程序內(nèi)。完成程序:assumecs:codesgcodesgsegmentdw0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hdw0,0,0,0,0start:movax,cs;cs為所填第?空movss,axmovsp,1ah或36;此條指令為所填第?空movax,0movds,axmovbx,0movcx,8s:push[bx]popcs:[bx];此條指令為所填第三空addbx,2loopsmovax,4c00hint21hcodesgendsendstart實(shí)驗(yàn)5編寫、調(diào)試具有多個(gè)段的程序(5)編寫code段中的內(nèi)容,將a段和b段中的數(shù)據(jù)依次相加,將結(jié)果存到c段中。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],ax

add[bx],axaddbx,2loops1movax,bmoves,axmovds,axmovbx,0movcx,8s2:movax,es:[bx]add[bx],axaddbx,2loops2movax,4c00hint21hcodeendsendstart(6)程序如下,編寫code段中的代碼,?push指令將a段中的前8個(gè)字型數(shù)據(jù),逆序存儲(chǔ)到b段中。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檢測點(diǎn)9.1-9.2見課件檢測點(diǎn)9.3補(bǔ)全程序,利?loop指令,實(shí)現(xiàn)在內(nèi)存2000H段中查找第?個(gè)值為0的byte,找到后,將它的偏移地址存儲(chǔ)在dx中。assumecs:codecodesegmentstart:movax,2000hmovds,axmovbx,0s:movcl,[bx]movch,0inccx;此條指令為題?要求補(bǔ)全的指令incbxloopsok:decbxmovdx,bx

movdx,bxmovax,4c00hint21hcodeendsendstart檢測點(diǎn)10.1-10.5見課件檢測點(diǎn)11.1寫出下?每條指令后,ZF、PF、SF等標(biāo)志位的值。ZFPFSFsubal,al110moval,1110pushax110popbx110addal,bl000addal,10010mulal010檢測點(diǎn)11.2CFOFSFZFPFsubal,al00011moval,10H00011addal,90H00101moval,80H00101addal,80H11011moval,0FCH11011addal,05H10000moval,7DH10000addal,0BH01101檢測點(diǎn)11.3(1)補(bǔ)全下?的程序,統(tǒng)計(jì)F000:0處32個(gè)字節(jié)中,??在[32,128]的數(shù)據(jù)的個(gè)數(shù)。movax,0f000hmovds,axmovbx,0movdx,0movcx,32s:moval,[bx]cmpal,32jbs0cmpal,120jas0incdxs0:incbxloops(2)補(bǔ)全下?的程序,統(tǒng)

溫馨提示

  • 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

提交評論