




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《匯編語言》第三版答案課后練習(xí)答案集相逢即是緣,記得關(guān)注我噢!檢測(cè)點(diǎn)1.11個(gè)CPU的尋址能力為8KB,那么它的地址總線的寬度為13位。1KB的存儲(chǔ)器有1024個(gè)存儲(chǔ)單元,存儲(chǔ)單元的編號(hào)從0到1023。1KB的存儲(chǔ)器可以存儲(chǔ)8192(2A13)個(gè)bit,1024個(gè)Byte。1GB?1073741824(2A30)個(gè)Byte、1MB是1048576(2A20)個(gè)Byte、1KB是1024(2A10)個(gè)Byte。8080、8088、80296、80386的地址總線寬度分別為16根、20根、24根、32根,則它們的尋址能力分別為:64(KB)、1(MB)、16(MB)、4(GB)。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)制形式存放。解題過程:(1)1KB=1O24B,8KB=1024B*8=2AN,N=13o(2)存儲(chǔ)器的容量是以字節(jié)為最小單位來計(jì)算的,1KB=1O24B。8Bit=lByte,1024Byte=lKB(1KB=1024B=l024B,8Bit)o1GB=1073741824B(BP230)imb=1048576B(gp220)1KB=1O24B(即2T0)o一個(gè)CPU有N根地址線,則可以說這個(gè)CPU的地址總線的寬度為N。這樣的CPU最多可以尋找2的N次方個(gè)內(nèi)存單元。(一個(gè)內(nèi)存單元=1Byte)o8根數(shù)據(jù)總線一次可以傳送8位二進(jìn)制數(shù)據(jù)(即一個(gè)字節(jié))。8086的數(shù)據(jù)總線寬度為16根(即一次傳送的數(shù)據(jù)為2B)1024B/2B=512,同理1024B/4B=256。(8)在存儲(chǔ)器中指令和數(shù)據(jù)沒有任何區(qū)別,都是二進(jìn)制信息。檢測(cè)點(diǎn)2.1(1)寫出每條匯編指令執(zhí)行后相關(guān)寄存器中的值。movax,62627AX=F4A3Hmovah,31HAX=31A3Hmoval,23HAX=3123Haddax,axAX=6246Hmovbx,826CHBX=826CHmovex,axCX=6246Hmovax,bxAX=826CHaddax,bxAX=04D8Hmoval,bhAX=0482Haddah,ahAX=D882Haddal,6AX=D888Haddal,alAX=D810Hmovax,exAX=6246H檢測(cè)點(diǎn)2.1(2)只能使用目前學(xué)過的匯編指令,最多使用4條指令,編程計(jì)算2的4次方。movax,2AX=2addax,axAX=4addax,axAX=8addax,axAX=16檢測(cè)點(diǎn)2.2(1)給定段地址為OOO1H,僅通過變化偏移地址尋址,CPU的尋址范圍為0010H至I」1000FH。解題過程:物理地址=5慶*16+/EA的變化范圍為Oh~ffffh物理地址范圍為(SA16-b0h)-(SAA6+ffffh)現(xiàn)在SA=0001h,那么尋址范圍為(0001h16+0h)~(0001h16+ffffh)=0010h-1000fh檢測(cè)點(diǎn)2.2(2)有一數(shù)據(jù)存放在內(nèi)存20000H單元中,現(xiàn)給定段地址為SA,若想用偏移地址尋到此單元。則SA應(yīng)滿足的條件是:最小為1001H,最大為2000Ho當(dāng)段地址給定為1001H以下和2000H以上,CPU無論怎么變化偏移地址都無法尋到20000H單元。解題過程:物理地址=5人*16+£人20000h=SA*16+EASA=(20000h-EA)/l6=2000h-EA/l6EA取最大值時(shí),SA=2000h-ffffh/l6=1001h,SA為最小值EA取最小值時(shí),SA=2000h-0h/16=2000h,SA為最大值檢測(cè)點(diǎn)2.3下面的3條指令執(zhí)行后,epu幾次修改IP?都是在什么時(shí)候?最后IP中的值是多少?movax,bxsubax,axjmpax答:一共修改四次第一次:讀取movax,bx之后第二次:讀取subax,ax之后第三次:讀取jmpax之后第四次:執(zhí)行jmpax修改IP最后IP的值為0000H,因?yàn)樽詈骯x中的值為0000H,所以IP中的值也為0000H檢測(cè)點(diǎn)3.1(1)在DEBUG中,用“D0:0If”查看內(nèi)存,結(jié)果如下:0000:00007080F030EF6030E2-00808012662022600000:00106226E6D6CC2E3C3B-ABBA000026066688下面的程序執(zhí)行前,AX=O,BX=O,寫出每條匯編指令執(zhí)行完后相關(guān)寄存器中的值movax,lmovds,axmovax,[0000]ax=2662Hmovbx,[0001]bx=E626Hmovax,bxax=E626Hmovax,[0000]ax=2662Hmovbx,[0002]bx=D6E6Haddax,bxax=FD48Haddax,[0004]ax=2C14Hmovax,0ax=0moval,[0002]ax=00e6Hmovbx,0bx=0movbl,[000c]bx=0026Haddal,blax=OOOCH檢測(cè)點(diǎn)3.1(2)內(nèi)存中的情況如圖3.6所示各寄存器的初始值:cs=2000h,ip=0,ds=1000h,ax=0,bx=0;檢測(cè)點(diǎn)3.2(1)補(bǔ)全下面的程序,使其可以將10000H-1000FH中的8個(gè)字,逆序拷貝到20000H-2000FH中。movax,l000Hmovds,axmovax,2000Hpush[0]push[2]push[4]push[6]push[8]push[A]push[C]push[E]檢測(cè)點(diǎn)3.2(2)補(bǔ)全下面的程序,使其可以將10000H-1000FH中的8個(gè)字,逆序拷貝到20000H-2000FH中。movax,2000Hmovds,axmovax,l000Hmovss.axmovsp,0pop[e]pop[c]pop[a]pop[8]pop[6]pop[4]pop[2]pop[0]檢測(cè)點(diǎn)6.1(1)下面的程序?qū)崿F(xiàn)依次用內(nèi)存0:0~0:】5單元中的內(nèi)容改寫程序中的數(shù)據(jù),完成程序:assumecs:codesgcodesgsegmentdw0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hmovds,axmovbx,0movex,8s:movax,[bx]movcs:[bx],axaddbx,2loopsmovax,4c00hint21hcodesgendsendstart檢測(cè)點(diǎn)6.1(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,0,0,0,0,0,0start:movax,codesg;^cmovax,csmovss,axmovsp,24h;或01。丫sp,36;(第一版填1ah或26)movax,0movds,axmovbx,0movex,8s:push[bx]popcs:[bx];或popss:[bx]addbx,2loopsmovax,4c00hint21hcodesgendsendstart(1)程序如下。assumecs:codedatasegmentdw2dup(0)dataendscodesegmentstart:movax,dtatmovds,axmovbx,0jmpwordptr[bx+1]codeendsendstart若要使jmp指令執(zhí)行后,CS:IP指向程序的第一條指令,在data段中應(yīng)該定義哪些數(shù)據(jù)?答案①db3dup(0)答案②dw2dup(0)答案③dd0jmpwordptr[bx+1]為段內(nèi)轉(zhuǎn)移,要CS:IP指向程序的第一條指令,應(yīng)設(shè)置ds:[bx+l]的字單元(2個(gè)字節(jié))存放數(shù)據(jù)應(yīng)為0,則(ip)=ds:[bx+l]=O簡(jiǎn)單來說就是,只要ds:[bx+1]起始地址的兩個(gè)字節(jié)為0就可以了檢測(cè)點(diǎn)9.1(1)程序如下。assumecs:codedatasegmentdd12345678hdataendscodesegmentstart:movax,datamovds,axmovbx,0mov[bx],bx ;Zernov[bx],wordptr0;^mov[bx],offsetstartmov[bx+2],cs;Zernov[bx+2],cs;§Jcmov[bx+2],segcodejmpdwordptrds:[O]codeendsendstart補(bǔ)全程序,使用jmp指令執(zhí)行后,CS:IP指向程序的第一條指令。第一格可填①mov[bx],bx②mov[bx],wordptr0③mov[bx],offsetstart等。第二格可填①mov[bx+2],cs?mov[bx+2],cs?mov[bx+2],segcode等。解析:jmpdwordptrds:。]為段間轉(zhuǎn)移,(cs)=(內(nèi)存單元地址+2),(ip)=(內(nèi)存單元地址),要CS:IP指向程序的第一條指令,第一條程序地址cs:O,應(yīng)設(shè)置CS:IP指向cs:O程序中的mov[bx],bx這條指令,是將ip設(shè)置為0mov[bx+2],cs,將cs這個(gè)段地址放入內(nèi)存單元執(zhí)行后,cs應(yīng)該不變,只調(diào)整ip為0,(ip)=ds:[O]=O檢測(cè)點(diǎn)9.1(3)用Debug查看內(nèi)存,結(jié)果如下:2000:1000BE0006000000…則此時(shí),CPU執(zhí)行指令:movax,2000hmoves,axjmpdwordptres:[lOOOh]后,(cs)=0006H,(ip)=OOBEH解析:jmpdwordptr為段間轉(zhuǎn)移,高位存放段地址,低位存放偏移地址(cs)=(內(nèi)存單元地址+2),(ip)=(內(nèi)存單元地址)根據(jù)書P16,對(duì)于寄存器AX,AH為高位(前1字節(jié)為高位),AL為低位(后1字節(jié)為低位)推算出(內(nèi)存單元地址)=00beh,(內(nèi)存單元地址+2)=0006h根據(jù)書Pl82,高位存放段地址(后2個(gè)字節(jié)為高位),低位存放偏移地址(前2個(gè)字節(jié)為低位)(cs)=(內(nèi)存單元地址+2),(ip)=(內(nèi)存單元地址)推算出(cs)=0006h,(ip)=00beh檢測(cè)點(diǎn)9.2補(bǔ)全編程,利用jcxz指令,實(shí)現(xiàn)在內(nèi)存2000H段中查找第一個(gè)值為。的字節(jié),找到后,將它的偏移地址存儲(chǔ)在dx中。assumecs:codecodesegmentstart:movax,2000hmovds,axmovbx,0s:movch,0movcl,[bx]jcxzok ^cx=O時(shí),CS:IP指向OKincbxjmpshortsok:movdx.bxmovax,4c00hint21hcodeendsendstart檢測(cè)點(diǎn)9.3補(bǔ)全編程,利用loop指令,實(shí)現(xiàn)在內(nèi)存2000H段中查找第一個(gè)值為。的字節(jié),找到后,將它的偏移地址存儲(chǔ)在dx中。assumecs:codecodesegmentstart:movax,2000hmovds,axmovbx,0s:movcl,[bx]movch,0incexincbxloopsok:decbxmovdx.bxmovax,4c00hint21hcodeendsendstart書Pl01,執(zhí)行l(wèi)oops時(shí),首先要將(ex)減1?!發(fā)oop標(biāo)號(hào)”相當(dāng)于decexif((ex)WO)jmpshort標(biāo)號(hào)檢測(cè)點(diǎn)10.1補(bǔ)全程序,實(shí)現(xiàn)從內(nèi)存1000:0000處開始執(zhí)行指令。assumecs:codestacksegmentdb16dup(0)stackendscodesegmentstart:movax,stackmovss,axmovsp,16movax,1000hpushaxmovax,0pushaxretfcodeendsendstart執(zhí)行reft指令時(shí),相當(dāng)于進(jìn)行:popippopcs根據(jù)棧先進(jìn)后出原則,應(yīng)先將段地址cs入棧,再將偏移地址ip入棧。檢測(cè)點(diǎn)10.2下面的程序執(zhí)行后,ax中的數(shù)值為多少??jī)?nèi)存地址機(jī)器碼匯編指令執(zhí)行后情況1000:0b80000movax,0ax=0ip指向1000:31000:3e80100callspopipip指向1000:71000:640incax1000:758s:popaxax=6用debug進(jìn)行跟蹤確認(rèn),ucall標(biāo)號(hào)”是將該指令后的第一個(gè)字節(jié)偏移地址入棧,再轉(zhuǎn)到標(biāo)號(hào)處執(zhí)行指令。assumecs:codecodesegmentcallsincaxs:popaxmovax,4c00hint21hcodeendsendstart檢測(cè)點(diǎn)10.3下面的程序執(zhí)行后,ax中的數(shù)值為多少??jī)?nèi)存地址機(jī)器碼匯編指令執(zhí)行后情況1000:0b80000movax,0ax=O,ip指向1000:31000:39a09000010callfarptrspopcs,popip,ip指向1000:91000:840incax1000:958s:popaxax=8haddax,axax=10hpopbx bx=1000haddax,bxax=1010h用debug進(jìn)行跟蹤確認(rèn),“callfarptrs”是先將該指令后的第一個(gè)字節(jié)段地址cs=lOOOh入棧,再將偏移地址ip=8h入棧,最后轉(zhuǎn)到標(biāo)號(hào)處執(zhí)行指令。出棧時(shí),根據(jù)棧先進(jìn)后出的原則,先出的為ip=8h,后出的為cs=1000h檢測(cè)點(diǎn)10.4下面的程序執(zhí)行后,ax中的數(shù)值為多少??jī)?nèi)存地址機(jī)器碼匯編指令執(zhí)行后情況1000:0b80600movax,6ax=6,ip指向1000:31000:3ffdOcallaxpopipjp指向1000:61000:540incax1000:658movbp,spbp=sp=fffehaddax,[bp]ax=[6+ds:(fffeh)]=6+5=0bh用debug進(jìn)行跟蹤確認(rèn),“callax(16位reg)”是先將該指令后的第一個(gè)字節(jié)偏移地址ip入棧,再轉(zhuǎn)到偏移地址為ax(l6位reg)處執(zhí)行指令。檢測(cè)點(diǎn)10.5(1)下面的程序執(zhí)行后,ax中的數(shù)值為多少?assumecs:codestacksegmentdw8dup(0)stackendscodesegmentstart:movax,stackmovss,axmovsp,16movds,axmovaxQcallwordptrds:[Oeh]incaxincaxincaxmovax,4c00hint21hcodeendsendstart推算:執(zhí)行callwordptrds:[Oeh]指令時(shí),先cs入棧,再ip=ll入棧,最后ip轉(zhuǎn)移到(ds:[Oeh])0(ds:[Oeh])=llh,執(zhí)行incax 最終ax=3題中特別關(guān)照別用debug跟蹤,跟蹤結(jié)果不一定正確,但還是忍不住去試試,看是什么結(jié)果。根據(jù)單步跟蹤發(fā)現(xiàn),執(zhí)行callwordptrds:[Oeh]指令時(shí),顯示ds:[0eh]=065D。ds:OOOO~ds:OOl0不是已設(shè)置成stack數(shù)據(jù)段了嘛,不是應(yīng)該全都是0的嘛。于是進(jìn)行了更詳細(xì)的單步跟蹤,發(fā)現(xiàn)初始數(shù)據(jù)段中數(shù)據(jù)確實(shí)為0,但執(zhí)行完movss,ax;movsp,l6這兩條指令后,數(shù)據(jù)段中數(shù)據(jù)發(fā)生改變。這是為什么呢?中斷唄——檢測(cè)點(diǎn)10.5(2)下面的程序執(zhí)行后,ax和bx中的數(shù)值為多少?assumecs:codesgstacksegmentpw8dup(O)stackendscodesgsegmentstart:
movax,stackmovss,axmovsp,10hmovwordptrss:[O],offsets;(ss:[0])=1ahmovss:[2],cs ;(ss:[2])=cscalldwordptrss:[O] ;cs入棧,ip=19h入棧,轉(zhuǎn)至ijcs:1ah處執(zhí)行指令;(ss:[4])=cs,(ss:[6])=ipnops:movax,offsets;ax=lahbubax,ss:[0ch]bubax,ss:[0ch];bx=cs=0c5bhsubbx,ss:[Oeh];bx=cs-cs=0subbx,ss:[Oeh];bx=cs-cs=0tiovax,4c00hint21hcodesgendsendstarttiovax,4c00hint21hcodesgendsendstart檢測(cè)點(diǎn)11.1寫出下面每條指令執(zhí)行后,ZF、PF、SF、等標(biāo)志位的值。subal,alal=OhZF=1PF=1SF=Omoval,lal=lhZF=lPF=1SF=Opushaxax=lhZF=1PF=1SF=Opopbxbx=lhZF=lPF=1SF=Oaddal,blal=2hZF=OPF=OSF=Oaddal,10al=12hZF=OPF=1SF=Omulalax=144hZF=OPF=1SF=O檢測(cè)點(diǎn)涉及的相關(guān)內(nèi)容:ZF是flag的第6位,零標(biāo)志位,記錄指令執(zhí)行后結(jié)果是否為0,結(jié)果為。時(shí),ZF=1PF是flag的第2位,奇偶標(biāo)志位,記錄指令執(zhí)行后結(jié)果二進(jìn)制中1的個(gè)數(shù)是否為偶數(shù),結(jié)果為偶數(shù)時(shí),PF=1SF是flag的第7位,符號(hào)標(biāo)志位,記錄有符號(hào)運(yùn)算結(jié)果是否為負(fù)數(shù),結(jié)果為負(fù)數(shù)時(shí),SF=1add^sub、mukdiv、inc、or、and等運(yùn)算指令影響標(biāo)志寄存器mov、push、pop等傳送指令對(duì)標(biāo)志寄存器沒影響。檢測(cè)點(diǎn)11.2寫出下面每條指令執(zhí)行后,ZF、PF、SF、CF、OF等標(biāo)志位的值。alCFOFSFZFPFalCFOFSFZFPFsubal,al0h/00000000b00011moval,10h10h/00100000b00011addal,90ha0h/10100000b00101moval,80h80h/l0000000b00101addal,80hOh/OOOO0000b11011moval.OfchOfch/11111100b11011addal,05h1h/00000001b10000moval,7dh7dh/l111HOlbl0000addal.Obh88h/l0001000b01101檢測(cè)點(diǎn)涉及的相關(guān)內(nèi)容:ZF是flag的第6位,零標(biāo)志位,記錄指令執(zhí)行后結(jié)果是否為0,結(jié)果為0時(shí),ZF=1PF是flag的第2位,奇偶標(biāo)志位,記錄指令執(zhí)行后結(jié)果二進(jìn)制數(shù)中1的個(gè)數(shù)是否為偶數(shù),結(jié)果為偶數(shù)時(shí),PF=1SF是flag的第7位,符號(hào)標(biāo)志位,記錄有符號(hào)運(yùn)算結(jié)果是否為負(fù)數(shù),結(jié)果為負(fù)數(shù)時(shí),SF=1CF是flag的第0位,進(jìn)位標(biāo)志位,記錄無符號(hào)運(yùn)算結(jié)果是否有進(jìn)/借位,結(jié)果有進(jìn)/借位時(shí),SF=1OF是flag的第11位,溢出標(biāo)志位,記錄有符號(hào)運(yùn)算結(jié)果是否溢出,結(jié)果溢出時(shí),OF=1add、subsmukdiv、inc、or、and等運(yùn)算指令影響flagmov、pushxpop等傳送指令對(duì)flag沒影響檢測(cè)點(diǎn)11.3(1)補(bǔ)全下面的程序,統(tǒng)計(jì)F000:。處32個(gè)字節(jié)中,大小在[32,128]的數(shù)據(jù)個(gè)數(shù)。movax,OfOOOhmovds,axmovbx,0 ;ds:bx指向第一個(gè)字節(jié)movdx.O ;初始化累加器movex,32s:moval,[bx]empal,32;和32進(jìn)行比較jbsO ;如果低于al轉(zhuǎn)到sO,繼續(xù)循環(huán)empal,128;和128進(jìn)行比較jasO ;如果高于al轉(zhuǎn)至iJsO,繼續(xù)循環(huán)incdxsO:incbxloops[32,128]是閉區(qū)間,包括兩端點(diǎn)的值(32,128)是開區(qū)間,不包括兩端點(diǎn)的值檢測(cè)點(diǎn)11.3(2)補(bǔ)全下面的程序,統(tǒng)計(jì)F000:0處32個(gè)字節(jié)中,大小在(32,128)的數(shù)據(jù)個(gè)數(shù)。movax.OfOOOhmovds,axmovbx.O ;ds:bx指向第一個(gè)字節(jié)movdx.O ;初始化累加器movex,32s:moval,[bx]empal,32 ;和32進(jìn)行比較jnasO ;如果不高于al轉(zhuǎn)到sO,繼續(xù)循環(huán)cmpal,128;和128進(jìn)行比較jnbsO 如果不低于al轉(zhuǎn)到sO,繼續(xù)循環(huán)incdxsO:incbx[32,128]是閉區(qū)間,包括兩端點(diǎn)的值(32,128)是開區(qū)間,不包括兩端點(diǎn)的值檢測(cè)點(diǎn)11.4下面指令執(zhí)行后,(ax)=45hmovax,0pushaxpopfmovax,OfffOhaddax,001Ohpushfpopaxandal,11000101Bandah,00001000B推算過程:popf后,標(biāo)志寄存器中,本章節(jié)介紹的那些標(biāo)志位都為0(但是此時(shí)標(biāo)志寄存器并不是所有位置都為0,這個(gè)不用關(guān)心,沒學(xué)過的位置用先代替),向下進(jìn)行,那么pushf將計(jì)算后的當(dāng)時(shí)狀態(tài)的標(biāo)志寄存器入棧,然后pop給ax,這是ax是寄存器的值(這個(gè)值中包含了我們的號(hào)),接下來就是對(duì)那些沒有學(xué)過的標(biāo)志位的屏蔽操作,這就是最后兩條指令的意義所在,將不確定的位置都?xì)w0,那么只剩下我們能夠確定的位置了,所以,結(jié)果就可以推理出來了。movax,0pushaxpopfmovax,OfffOhaddax,001Ohpushfpopax0000ofdfiftfsfzf0af0pf0cf000000**010*0101ax=flag=000000**010*0101bandal,l1000101Bal=01000101b=45handah,00001000Bah=OOOOOOOOb=Oh檢測(cè)點(diǎn)12.1(1)用debug查看內(nèi)存,情況如下:0000:00006810A7008B017000-16009D038B017000則3號(hào)中斷源對(duì)應(yīng)的中斷處理程序入口的偏移地址的內(nèi)存單位的地址為:0070:018b檢測(cè)點(diǎn)涉及相關(guān)內(nèi)容:一個(gè)表項(xiàng)存放一個(gè)中斷向量,也就是一個(gè)中斷處理程序的入口地址,這個(gè)入口地址包括段地址和偏移地址,一個(gè)表項(xiàng)占兩個(gè)字,高地址存放段地址,低地址存放偏移地址檢測(cè)點(diǎn)12.1(2)存儲(chǔ)N號(hào)中斷源對(duì)應(yīng)的中斷處理程序入口的偏移地址的內(nèi)存單元的地址為:4N存儲(chǔ)N號(hào)中斷源對(duì)應(yīng)的中斷處理程序入口的段地址的內(nèi)存單元的地址為:4N+2檢測(cè)點(diǎn)涉及相關(guān)內(nèi)容:一個(gè)表項(xiàng)存放一個(gè)中斷向量,也就是一個(gè)中斷處理程序的入口地址,這個(gè)人口地址包括段地址和偏移地址,一個(gè)表項(xiàng)占兩個(gè)字,高地址存放段地址,低地址存放偏移地址檢測(cè)點(diǎn)13.17ch中斷例程如下:Ip:pushbpmovbp,spdecexjexzIpretadd[bp+2],bxIpret:popbpiret(1)在上面的內(nèi)容中,我們用7ch中斷例程實(shí)現(xiàn)loop的功能,則上面的7ch中斷例程所能進(jìn)行的最大轉(zhuǎn)移位移是多少?最大位移是FFFFH檢測(cè)點(diǎn)13.1(2)用7ch中斷例程完成jmpnearptrs指令功能,用bx向中斷例程傳送轉(zhuǎn)移位移。應(yīng)用舉例:在屏幕的第12行,顯示data段中以0結(jié)尾的字符串。assumecs:codedatasegmentdb'conversation',0dataendscodesegmentstart:movax,datamovds,axmovsi,0movax,0b800hmoves,axmovdi,12w160s:cmpbyteptr[si],0jeokmoval,[si]moves:[di],alincsiadddi,2movbx,offsets-offsetokint7chok:movax,4c00hint21hcodeendsendstartjmpnearptrs指令的功能為:(ip)=(ip)+16位移,實(shí)現(xiàn)段內(nèi)近轉(zhuǎn)移assumecs:codecodesegmentstart:movax.csmovds,axmovsi,offsetdoO;設(shè)置ds:si指向源地址movax,0moves,axmovdi,200h;設(shè)置es:di指向目標(biāo)地址movex,offsetdoOend-offsetdoO;設(shè)置ex為傳輸長(zhǎng)度cld;設(shè)置傳輸方向?yàn)檎齬epmovsbmovax,0mo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生智能電子產(chǎn)品合理使用規(guī)范及責(zé)任認(rèn)定協(xié)議
- 二零二五年度企業(yè)分紅股權(quán)益變更協(xié)議
- 2025年度電影院影廳裝修及數(shù)字放映系統(tǒng)合同
- 2025年度股票轉(zhuǎn)讓與財(cái)務(wù)顧問及風(fēng)險(xiǎn)管理協(xié)議
- 2025年度智慧物流中心建設(shè)連帶擔(dān)保借款合同
- 二零二五年度大學(xué)生實(shí)習(xí)就業(yè)實(shí)習(xí)單位與高校就業(yè)指導(dǎo)協(xié)議
- 二零二五農(nóng)村宅基地買賣與農(nóng)村土地經(jīng)營(yíng)權(quán)流轉(zhuǎn)合同
- 二零二五年度兒童表演安全免責(zé)協(xié)議
- 二零二五年度破產(chǎn)重整背景下股東債權(quán)債務(wù)清算協(xié)議
- 2025年菜鳥驛站區(qū)域代理權(quán)及運(yùn)營(yíng)管理合同模板
- (完整word版)服務(wù)質(zhì)量評(píng)價(jià)表
- 2022年高考(全國甲卷)語文仿真模擬卷【含答案】
- 腸瘺治療PPT醫(yī)學(xué)課件(PPT 25頁)
- 員工轉(zhuǎn)正評(píng)價(jià)表
- 道路交通事故責(zé)任認(rèn)定行政復(fù)議申請(qǐng)書范例
- 鄭州大學(xué)圖書館平立剖面效果圖
- 高效液相含量測(cè)定計(jì)算公式
- 公安機(jī)關(guān)通用告知書模板
- 《小學(xué)數(shù)學(xué)課程與教學(xué)》教學(xué)大綱
- 《手機(jī)攝影》全套課件(完整版)
- 礦井無計(jì)劃停電停風(fēng)安全技術(shù)措施
評(píng)論
0/150
提交評(píng)論