匯編語言與接口技術葉繼華(第二版)習題答案_第1頁
匯編語言與接口技術葉繼華(第二版)習題答案_第2頁
匯編語言與接口技術葉繼華(第二版)習題答案_第3頁
匯編語言與接口技術葉繼華(第二版)習題答案_第4頁
匯編語言與接口技術葉繼華(第二版)習題答案_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

習題一解答:1.3(1)[0.0000]原=0.0000[0.0000]反=0.0000[0.0000]補=0.0000(2)[0.1001]原=0.1001[0.1001]反=0.1001[0.1001]補=0.1001(3)[-1001]原=11001[-1001]反=10110[-1001]補=101111.4[N]反=1.0101[N]原=1.1010[N]補=1.0110N=-0.10101.5(1)原碼運算:比較可知,正數(shù)較大,用正數(shù)減負數(shù),結果為正01010011-00110011=[01010011]原-[00110011]原=00100000反碼運算:01010011-00110011=[01010011]反+[-00110011]反=001010011+111001100=000011111補碼運算:01010011-00110011=[01010011]補+[-00110011]補=001010011+111001101=000100000(2)原碼運算:比較可知,負數(shù)較大,用負數(shù)減正數(shù),結果為負0.100100-0.110010=[0.110010]原-[0.100100]原=-0.001110反碼運算:0.100100-0.110010=[0.100100]反+[-0.110010]反=0.100100+1.001101=1.110001補碼運算:0.100100-0.110010=[0.100100]補+[-0.110010]補=0.100100+1.001110=1.1100101.6(1)(11011011)2=(1×27+1×26+1×24+1×23+1×21+1×20)10=(219)10=(001000011001)BCD(2)(456)10=(010001010110)BCD(3)(174)8=(1×82+7×81+4×80)10=(124)10=(000100100100)BCD(4)(2DA)16=(2×162+13×161+10×160)10=(730)10=(011100110000)BCD1.7(1)9876H看成有符號數(shù)時,默認為負數(shù)的補碼,轉(zhuǎn)換為十進制數(shù)是:-265069876H=1001100001110110B為負數(shù)的補碼,對其求補得到正數(shù)的補碼,即[1001100001110110B]補=0110011110001010B=(1×214+1×213+1×210+1×29+1×28+1×27+1×23+1×21)10=26506所以原負數(shù)為-26506(2)9876H看成無符號數(shù)時,轉(zhuǎn)換為十進制數(shù)是:390309876H=1001100001110110B=(1×215+1×212+1×211+1×26+1×25+1×24+1×22+1×21)10=390301.8(1)98的壓縮BCD碼為:10011000B(2)98的非壓縮BCD碼為:0000100100001000B1.9(1)[S1+S2]補=[S1]補+[S2]補=00010110+00100001=00110111,無溢出[S1-S2]補=[S1]補+[-S2]補=00010110+11011111=11110101,無溢出(2)[S1+S2]補=[S1]補+[S2]補=00010110+11011111=11110101,無溢出[S1-S2]補=[S1]補+[-S2]補=00010110+00100001=00110111,無溢出(3)[S1+S2]補=[S1]補+[S2]補=01100100+00011110=10000010,有溢出[S1-S2]補=[S1]補+[-S2]補=01100100+11100010=01000110,無溢出(4)[S1+S2]補=[S1]補+[S2]補=10011100+11100010=01111110,有溢出[S1-S2]補=[S1]補+[-S2]補=10011100+00011110=10111010,無溢出習題二解答:2.1答:8086有哪些寄存器組?各有什么用途?①通用寄存器AX、BX、CX、DX它既可用作16位寄存器,又可將它拆成高、低8位,分別作為兩個獨立的8位寄存器使用。AX稱累加器。常用于存放算術邏輯運算中的操作數(shù),所有I/O指令都使用累加器與外設接口傳送數(shù)據(jù);BX稱基址寄存器。常用來存放訪問內(nèi)存時的基地址或用作間接尋址時的地址寄存器。CX稱計數(shù)寄存器。在循環(huán)和串操作指令中用作計數(shù)器,指令執(zhí)行后CX寄存器中的內(nèi)容會自動改變。DX稱數(shù)據(jù)寄存器。在I/O指令中用來存放端口的地址,在乘除指令中用作輔助寄存器。②4個專用寄存器SP堆棧指針寄存器。它在堆棧中存放棧頂偏移指針,;BP基址指針寄存器。一般也用來存放訪問內(nèi)存時的基地址;SI源變址寄存器,DI目的變址寄存器。它們常常用在變址尋址方式中。③4個段寄存器CS代碼段寄存器。存放當前程序所在段的段基址;DS數(shù)據(jù)段寄存器。存放當前程序所用數(shù)據(jù)段的段基址;SS堆棧段寄存器。存放當前程序所用堆棧段的段基址,ES附加段寄存器。存放當前程序所用輔助數(shù)據(jù)段的段基址。④指令指針寄存器IP16位的指令指針寄存器IP用于存放下一條執(zhí)行指令的偏移地址。⑤標志寄存器FR它是16位寄存器,但只使用其中的9位,這9位包括6個狀態(tài)標志位和3個控制標志位。狀態(tài)標志記錄了前面算術邏輯運算結果的一些特征;控制標志是用戶自己通過指令設置的,設置后將對其后的操作產(chǎn)生控制作用。2.2答:8086流水線技術是利用8086內(nèi)部指令隊列,使8086/8088的執(zhí)行部件和總線接口部件并行工作。其工作過程如下:當8086的指令隊列中有兩個空字節(jié),或者8088的指令隊列中有一個空字節(jié),總線接口部件就自動執(zhí)行一次指令周期,從內(nèi)存中取出后續(xù)的指令代碼放入隊列中。當執(zhí)行部件需要數(shù)據(jù)時,總線接口部件根據(jù)執(zhí)行部件給出的地址,從指定的內(nèi)存單元或外設中取出數(shù)據(jù)供執(zhí)行部件使用。當運算結束時,總線接口部件將運算結果送入指定的內(nèi)存單元或外設。當指令隊列空時,執(zhí)行部件等待,直到有指令為止。若總線接口部件正在取指令,執(zhí)行部件此時正好發(fā)出訪問總線的請求,則必須等總線接口部件取指令完畢后,該請求才能得到響應。一般情況下,程序按順序執(zhí)行,但當遇到跳轉(zhuǎn)指令時,總線接口部件就使指令隊列復位,從新地址取出指令,并立即傳給執(zhí)行部件去執(zhí)行。所以,8086流水線技術減少了CPU為取指令而等待的時間,提高了CPU的利用率,加快了整機的運行速度,也降低了對存儲器存取速度的要求。2.3答:為了盡可能使8086/8088CPU適應各種使用場合,8086/8088CPU通常有兩種工作模式:最大工作模式和最小工作模式。最小工作模式,就是在系統(tǒng)中只有8086或者8088一個微處理器。在這種系統(tǒng)中,所有的控制信號直接由8086或8088產(chǎn)生,因此,系統(tǒng)中的總線控制邏輯電路被減到最少。最大工作模式,是相對最小工作模式而言。在此工作模式系統(tǒng)中,一般包含兩個或兩個以上微處理器,但是主處理器只有一個,其他的處理器均為協(xié)處理器,協(xié)助主處理器工作。2.4答:邏輯地址是由段基址和偏移地址兩部分構成,通常由編程人員在指令中使用。8086系統(tǒng)中任何一個存儲單元對應20位的物理地址,都是由邏輯地址轉(zhuǎn)換得來的。8086存儲器中的物理地址是由內(nèi)部總線接口部件BIU——地址加法器產(chǎn)生。由地址加法器把16位段寄存器的內(nèi)容轉(zhuǎn)換為20位物理地址,即段基址左移4位后,再加上有效偏移量地址。物理地址=CS×16+IP=40000H+2200H=42200H2.5答:8086CPU為了能夠?qū)Υ鎯ζ鬟M行字節(jié)和字的訪問,在技術上將1M字節(jié)的存儲器空間分成兩個512K字節(jié)(219)的存儲體。一個存儲體中包含偶數(shù)地址,該存儲體被稱為偶存儲體;另一個存儲體中包含奇數(shù)地址,該存儲體被稱為奇存儲體,兩個存儲體之間采用交叉編址方式,然后通過A0和BHE組合就可以確定對哪一組存儲體進行訪問,是對字節(jié)還是對字進行訪問。2.6答:在存儲器中,對要存放的字,其低位字節(jié)可以從奇數(shù)地址開始存放,也可以從偶數(shù)地址中開始存放;如果從奇數(shù)地址開始存放稱為非規(guī)則存放,按非規(guī)則存放的字稱為字不對準存放。從偶數(shù)地址中開始存放稱為規(guī)則存放,按規(guī)則存放的字稱為字對準存放。使用字對準存放要在一個總線周期完成,用字不對準存放則需要兩個總線周期才能完成。所以為了加快程序運行速度,編程時應盡可能使用字對準存放。習題三解答:3.6答:(1)MOVCX,BX(2)MOVAX,1234H(3)MOVAX,WORDPTR[20H](4)MOVBYTEPTR[BX],20H3.7答:(1)EA=3000H(2)EA=1200H(3)EA=3300H(4)EA=4200H(5)EA=4500H3.8答:(1)立即數(shù)尋址(2)直接尋址(3)寄存器間接尋址(4)基址變址尋址(5)相對基址變址尋址(6)寄存器尋址3.9答:(1)段內(nèi)間接尋址(2)段內(nèi)間接尋址(3)段間間接尋址3.10答:(1)直接尋址PA=10200H(2)寄存間接尋址PA=10010H(3)跨段寄存器間接尋址PA=15010H(4)跨段寄存器間接尋址PA=20010H(5)寄存器間接尋址PA=200A0H(6)寄存器相對址尋址PA=10110H(7)基址變址尋址PA=10110H(8)相對基址變址尋址PA=10210H(9)寄存器間接尋址PA=10100H3.12答:(1)AX=0100H(2)AX=1020H(3)AX=1020H(4)AX=5030H(5)AX=2010H(6)AX=2010H(7)AX=1020H3.13答:(1)SI=0320H(2)BP=1320H(3)DI=0310H(4)X=0FFF0H3.11答:(1)MOVAL,1234H(2)MOVCS,AX(3)MOV[1000],1000H(4)MOVBYTEPTR[BX],1000H(5)PUSHAL(6)INAX,[BX](7)SHLAX,5(8)XCHGDS,AX(9)XCHG[BX],[SI](10)DEC[SI](11)NEG1234H(12)MUL05H(13)DIVAX,BX(14)LEAAX,0100H(15)AND[BX],[SI]類型不匹配代碼段寄存器不能賦值類型不匹配,目的操作數(shù)未指明數(shù)據(jù)類型類型不匹配類型不匹配源操作數(shù)為0~255移位大于1時,應放入CL中不能為段寄存器兩個操作數(shù)不能同時為MEM未指明操作數(shù)的數(shù)據(jù)類型操作數(shù)不能是立即數(shù)操作數(shù)應為REG或MEM單操作數(shù),且操作數(shù)應為REG或MEM源操作數(shù)為MEM兩個操作數(shù)不能同時為MEM3.14答:指令AXCFOFZFSFMOVAX,00000H不影響不影響不影響不影響DECAX0FFFFH不影響001NOTAX0000H不影響不影響(0)不影響(0)不影響(1)ANDAX,0FFFFH0000H0010CMPAX,0FFFFH0000H1000SUBAX,1200H0EE00H1001MOVCX,50EE00H不影響(1)不影響(0)不影響(0)不影響(1)SARAX,10F700H1001SARAX,CL0FFB8H0不確定01ADDAX,0FFFFH0FFB7H1001NEGAX(0-(AX))0049H10003.15答:(1)測試AL中1、3、5位是否均為“1(2)對32位數(shù)(高位在DX,低位在AX)求補碼3.16答:(1)XOR AL,2AH(2)MOVBL,ALNOTBLTEST BL,2AH JE L1 MOVAL,0AL高4AL高4AL低4BL高4BL低4BL低4BL高4AL低4AL高4ALBL↓↓(3)分析:AL和BL循環(huán)左移4位,然后互換。 L1: MOVAL,1(3)MOVCL,4ROLAL,CLROLBL,CLXCHGAL,BL(4)PUSHFPOPAX(5)PUSHFPOPAXANDAX,0FEFFH;設置TF=D8=0PUSHAX(6)分析:用BX來保存DX的低4位(左移4位BX,將DX的低4位保存在BL的高4位中),然后再按照需求右移4位DX,AX,最后用OR指令將DX的低4位(保存在BL的高4位)合并到AH的高4位中。D(6)分析:用BX來保存DX的低4位(左移4位BX,將DX的低4位保存在BL的高4位中),然后再按照需求右移4位DX,AX,最后用OR指令將DX的低4位(保存在BL的高4位)合并到AH的高4位中。D1D0DXAX↓↓D3D2A1A0A3A2D2D10000D3A2A1D0A3(6)MOVCL,4MOVBX,DXSHLBX,CLSHRDX,CLSHRAX,CLORAH,BL100個字節(jié)100個字節(jié)0100H0150H0163H01B3H┆┆┆┆┆80個字節(jié)100個字節(jié)(7)分析:如圖所示只能是從高地址向低地址傳送,且為同一個數(shù)據(jù)段。(7)STDMOVAX,DSMOVES,AXMOVSI,0163HMOVDI,01B3HMOVCX,100REPMOVSB(8)MOVAL,BYTEPTRAIMUL BYTEPTRB;(AX)←A*BMOVBYTEPTRC,ALMOVBYTEPTRC+1,AH

習題四解答:4.1答:指令語句:執(zhí)行語句,產(chǎn)生機器代碼。偽指令語句:不可執(zhí)行語句,完成數(shù)據(jù)定義、內(nèi)存分配等功能。4.2答:1).標號的屬性(標號是一條指令語句的符號地址。標號在匯編源程序中,只有在需要轉(zhuǎn)向一條指令語句時,才為該指令語句設置標號,以便在轉(zhuǎn)移類指令(含子程序調(diào)用指令)中直接引用這個標號。標號可作為轉(zhuǎn)移類指令的操作數(shù),即轉(zhuǎn)移地址。)(1).段屬性:標號所在段的段基址(通常在CS段)。(2).偏移地址屬性:標號所在地址與段基址的偏移量值。(3).類型屬性:指段內(nèi)操作(NEAR類型)或段間操作(FAR類型)。2).變量的屬性(發(fā)生變化的量稱變量。變量經(jīng)常在操作數(shù)字段中出現(xiàn),在代碼段之外的段中定義。變量是一個存放數(shù)據(jù)的存儲單元的名字(符號地址)。也可以定義一個數(shù)據(jù)區(qū)或存儲區(qū),但變量僅表示該數(shù)據(jù)區(qū)或存儲區(qū)的第一個單元(首地址)。)(1).段屬性:變量所在的段的段基址,通常在DS、ES中。(2).偏移地址屬性:從段基址到定義變量位置之間的字節(jié)數(shù),是16位的無符號數(shù)。(3).類型屬性:變量所具有的字節(jié)數(shù)。如:BYTE(單字節(jié)長度)、WORD(雙字節(jié)長度)、DWORD(4字節(jié)長度)、DQ(8字節(jié)長度)、DT(10字節(jié)長度),表示該變量所代表的存儲單元所能存放的數(shù)據(jù)的長度。4.3答:(1)X變量的定義。(2)X符號常量的定義。4.4答:A01H02H03H04HB31H32H33H34HC01H00H02H00H03H00H04H00HE34H12H00H00H4.5答:(1)STR1的偏移地址為:100H(2)NUM為10(因為$=10AH,所以$-STR1=10AH-100H=0AH=10)(3)STR2+3的存儲單元內(nèi)容為4FH(即第四個字符’O’所對應的ASCII碼)4.6答:分別為:3CH,1EH,0FH4.9答:(1)(AX)=1234H(2)(AX)=5678H(3)(AX)=5678H4.10答:DATASEGMENTARRAYEQUTHISWORDARRAYDB100DUP(?)DATAENDS4.11答:(1)ARRAYDB12H,34H,56H,0ABH(2)DARRAYDW1234H,5678H,0ABCDH(3)BCDDW1234(4)STRDB‘STRING’(5)DATA1SEGMENTDB12H,34H,‘A’,‘B’,‘C’DW1234H,5678H,0ABCDHDB10DUP(?)DATA1ENDS4.12答:(1)POPSTAK(2)LESSI,DVAR(3)MOVAX,TYPEVAR(4)MOVAX,OFFSETVSTR/LEAAX,VSTR4.13答:(1)VARDW5050/MOVWORDPTRVAR,50504.14答:(1)LEABX,DAT1/MOVBX,OFFSETDAT1(2)MOVCL,BYTEPTR[DAT2+2](3)MOVBYTEPTR[BUF1+9],11H(4)LEN1=13,LEN2=7(5)MOVCX,DAT2-DAT1lEASI,DAT1LEADI,BUF2MOVAX,DSMOVES,AXCLDREPMOVSB1DAT123‘1‘2‘3--34HDAT212H341212H00H--BUF1--::----BUF2::4.15答:LEASI,STRMOVDH,[SI]MOVDL,[SI+6]或者:MOV DH,STRMOV DL,STR+6習題五解答:5.1簡述匯編語言程序設計的基本步驟答:(1)分析問題,抽象出描述問題的數(shù)學模型(2)確定解決問題的算法或解題思想(3)繪制流程圖和結構圖(4)分配存儲空間和工作單元(5)根據(jù)流程圖編制程序(6)程序靜態(tài)檢查(7)上機調(diào)試5.2程序的基本結構分為哪幾種?答:3種結構:順序結構、分支結構、循環(huán)結構5.3簡述分支程序結構的特點?答:運行方向是向前的,在某一種確定的條件下,只能執(zhí)行多個分支中的一個分支。5.4簡述循環(huán)程序結構的特點、循環(huán)控制的方法。答:(1)循環(huán)程序結構是重復執(zhí)行某一程序段,直到滿足某個條件或達到重復的次數(shù)為止。(2)循環(huán)結構分為:直到型循環(huán)(do_until)和當型循環(huán)(do_while)(循環(huán)次數(shù)可以為0)。循環(huán)控制的方法1.計數(shù)控制法計數(shù)控制法適用于循環(huán)次數(shù)已知的循環(huán)程序設計,每執(zhí)行一次循環(huán),計數(shù)器變化一次(加1或是減1),然后和循環(huán)計數(shù)結束條件進行比較,以決定是否繼續(xù)循環(huán)。通常用LOOP指令實現(xiàn)。2.條件控制法條件控制法適用于循環(huán)次數(shù)不能預先確定的循環(huán)程序設計,程序運行時,通過測試特定的條件來實現(xiàn)對循環(huán)的控制,通常用比較指令和條件轉(zhuǎn)移指令配合來實現(xiàn)。5.5簡述主程序與子程序的參數(shù)傳遞方法。答:(1)約定寄存器法主程序把子程序所需要的入口參數(shù)預先存放在指定寄存器中,進入子程序后,子程序直接對這些寄存器內(nèi)容進行處理,并把處理結果存放在指定的寄存器中,作為返回到主程序的參數(shù)。適合參數(shù)少的情況。(2)約定存儲單元法利用預先定義的內(nèi)存空間存放入口參數(shù)或出口參數(shù),主程序?qū)⑷肟趨?shù)存放在預定的內(nèi)存空間中,進入子程序后,子程序到預定的內(nèi)存空間中取出參數(shù)進行處理,并把處理結果存放在預定的內(nèi)存空間中,作為返回到主程序的參數(shù)。適合參數(shù)多的情況。(3)堆棧法主程序在調(diào)用子程序之前先將入口參數(shù)壓入堆棧,進入子程序之后,使用出棧指令彈出參數(shù)進行處理,子程序處理完畢后將結果壓入堆棧,返回主程序后,在主程序中使用出棧指令彈出子程序的處理結果。注意避免與現(xiàn)場保護使用堆棧出現(xiàn)混亂情況。5.6什么是遞歸子程序?設計的關鍵是什么?答:(1)遞歸子程序:一個子程序直接或間接地調(diào)用自己,這樣的子程序稱為遞歸子程序。(2)設計的關鍵:遞歸調(diào)用一定要有遞歸結束的條件,在滿足遞歸結束條件時,必須有一條轉(zhuǎn)移指令實現(xiàn)嵌套的退出,保證能按反向次序退出并返回主程序。5.7答:(1)將一字節(jié)數(shù)據(jù)按位取反,然后與其本身進行邏輯乘,即清0作用; (2)AL的內(nèi)容為:89H,NUM的內(nèi)容為:00H。5.8答:(1)求DAT的平方,并將結果放到DAT+1中。(2)DAT+1的內(nèi)容為51H5.9答:(1)將DAT第0、2位清0,1、3、7位置1;(2)程序執(zhí)行后DAT的內(nèi)容為0DAH。5.10答:(AL)=0D4H5.11答:(1)雙字相加,低位字相加結果放置DAT3中,高位字相加結果放置DAT4中,;(2)兩個壓縮的BCD碼:4649H與2758H相減,結果放置DX中。5.12答:(1)對BUF的內(nèi)容清0,遇到BUF的內(nèi)容為0FF則停止清0。(2)求BUF中的前10個字節(jié)數(shù)之和(不考慮進位/溢出),結果放到AL中。(3)求DAT中的前10個字節(jié)數(shù)之和(不考慮進位/溢出),結果放入BUF。(4)從BLOCK開始的100個字節(jié)查找第一個和KEY相等的元素,找到就將結果放到ADDR中,否則DI置0。5.13答:判斷DAT如果為0,則將AL放到RES中;如果為正,將DAT的值加1,如果為負,將DAT的值減1,放到RES中。5.14答:(1)求DAT存儲單元中前10個字節(jié)數(shù)據(jù)之和(不考慮進位/溢出),結果放到預留的空間RES中。(2)將DAT存儲單元中前10個字節(jié)數(shù)據(jù)擴展成字,然后求和(不考慮進位/溢出),結果放到預留的空間RES中。(3)求1到100的和結果放到AX中。(4)(DX)=1×1+2×2+…+10×10。(5)統(tǒng)計AX中1的個數(shù),存放在BL中。5.15答:功能:將DAT1存儲單元中的字符串反向傳送到DAT2存儲單元中,所以,DAT2的前5個單元的內(nèi)容是‘98765’5.16答:(1)MOVAX,WORDPTR[DAT1+2](2)SUBAX,WORDPTRDAT1MOVWORDPTRDAT3,AX(3)MOVAX,WORDPTRDAT2ADDAX,WORDPTR[DAT2+2]MOVWORDPTR[DAT3+2],AX5.17答:DATASEGMENTDATDW100,200,150,6DUP(?);XDW100;YDW200;ZDW150DATAENDSSTACKSEGMENTSTACKDW200DUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAX,WORDPTRDATMOVBX,WORDPTR[DAT+2]ADDAX,BXMOVBX,WORDPTR[DAT+3]SUBAX,BXMOVWORDPTR[DAT+6],AXMOVAH,4CHINT21HCODEENDSENDSTART5.20答:DATASEGMENTDAT1DB?DAT2DB?DAT3DB?DATAENDSSTACKSEGMENTSTACKDB200DUP(?)STACKENDSCODESEGMENTASSUMEDS:DATA,CS:CODE,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAL,7BHMOVBL,ALANDBL,07HMOVDAT1,BLMOVCL,3SHRAL,CLMOVBL,ALANDBL,07HMOVDAT2,BLSHRAL,CLMOVDAT3,ALMOVAH,4CHINT21HCODEENDSENDSTART5.21答:DATASEGMENTDAT1DW‘A>B$’DAT2DW‘A<B$’DAT3DW‘A=B$’ADB200BDB100DATAENDSSTACKSEGMENTSTACKDB100DUP(0)STACKENDSCODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVAX,AMOVBX,BCMPAX,BXJAAABJEAEBMOVDX,OFFSETDAT2MOVAH,9INT21HJMPEXITAEB:MOVDX,OFFSETDAT3MOVAH,9INT21HJMPEXITAAB:MOVDX,OFFSETDAT1MOVAH,9INT21HEXIT:MOVAH,4CHINT21HCODEENDSENDSTART5.26答:DATASEGMENTTABLEDWA,B,C,D,EDATAENDSSTACKSEGMENTSTACKDB100DUP(?)STACKENDSCODESEGMENTASSUMEDS:DATA,CS:CODE,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAH,1INT21HCMPAL,‘A’JBEXITCMPAL,‘E’JAEXITANDAL,OFHDECALSHLAL,1JMPTABLE[AL]A:MOVDL,‘A’JMPDISPLAYB:MOVDL,‘B’JMPDISPLAYC:MOVDL,‘C’JMPDISPLAYD:MOVDL,‘D’JMPDISPLAYE:MOVDL,‘E’DISPLAY:MOVAH,2INT21HEXIT:MOVAH,4CHINT21HCODEENDSENDSTART5.33DATASEGMENTDAT1DB0DAT2DB0DAT3DB0DAT4DB0DAT5DB0DATDB76,69,59,85,98,85,75,100,86,95COUNTEQU($-DAT)/TYPEDATDATAENDSCODESEGMENTMAINPROCFARASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXCALLGRADEMOVAH,4CHINT21HGRADEPROCMOVCX,COUNTMOVSI,0COMPARE:CMPDAT[SI],60JGENEXTINCDAT1JMPADD_SINEXT:CMPDAT[SI],69JBESAVE_DCMPDAT[SI],79JBESAVE_CCMPDAT[SI],89JBESAVE_BCMPDAT[SI],100JBESAVE_AJMPADD_SISAVE_D:INCDAT2JMPADD_SISAVE_C:INCDAT3JMPADD_SISAVE_B:INCDAT4JMPADD_SISAVE_A:INCDAT5ADD_SI:INCSILOOPCOMPARERETGRADEENDPMAINENDPCODEENDSENDSTART習題六解答:6.9答:MOVSTRMACROSOURCE,DEST,NLEASI,DS:SOURCELEADI,ES:DESTMOVCX,NREPMOVSBENDM6.10答:CLRBUFMACRON,BUFMOVCX,NMOVAL,‘’LEADI,ES:BUFREPSTOSBENDM6.11答:STR

溫馨提示

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

評論

0/150

提交評論