匯編語言程序設(shè)計_第1頁
匯編語言程序設(shè)計_第2頁
匯編語言程序設(shè)計_第3頁
匯編語言程序設(shè)計_第4頁
匯編語言程序設(shè)計_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、匯編語言程序設(shè)計課后習(xí)題及答案作者名:不詳來源:網(wǎng)友提供 06年6月8日 第一章 1.1 CPU 分析、控制并執(zhí)行指令的部件 IP 指示下一條將要執(zhí)行的指令的地址 SP 保存當前棧頂?shù)刂返募拇嫫?狀態(tài)標志 指出指令操作結(jié)果的標志,如ZF,CF等。 控制標志 控制操作的標志,只有DF,IF,TF三個。 ALU 進行算術(shù)和邏輯運算的單元 存儲器 存儲程序、數(shù)據(jù)等信息的的記憶裝置。 物理地址 CPU發(fā)出的訪問存儲器的地址信息。 偏移地址 相對于段起始地址的偏移量。 段地址 是邏輯段的起始地址。1.2下列操作可使用哪些寄存器 存放各種運算操作的數(shù)據(jù):AX,BX,CX,DX,SP,BP,SI,DI (我

2、的輔導(dǎo)書上沒有SP,BP;why?) 存放數(shù)據(jù)串操作時的計數(shù)值:CX 查看程序已執(zhí)行到哪條指令的地址:IP 查看堆棧中當前正要進行入出棧的存儲單元的地址:SP 查年運算結(jié)果是否等于零:PSW的ZF 查年程序中的數(shù)據(jù)存放段區(qū)是從哪個地址開始的:DS,ES 查看程序中的指令存放的段區(qū)是從哪個地址開始的:CS 1.3段地址和偏移地址為1000:117A的存儲單元的物理地址是什么?而1109:00EA或1025:0F2A的存儲單元的物理地址又是什么:這說明了什么問題? 1000:117A物理地址為:1117A;1109:00EA的物理地址為:1117A;1025:0F2A的物理地址為:1117A.說明

3、物理地址不變,段地址改變,偏移地址也隨之變化. 1.存儲器地址對應(yīng)的數(shù)據(jù)(圖略) 75422H(字節(jié)):9CH 75424H(字節(jié)):5DH 75422H(字):249CH 75424H(字):E65DH第二章 2.1寫出相應(yīng)的匯編語言指令: (1)以寄存器BX和SI作為基址變址尋址方式把存儲器中的一個字傳送到CX寄存器。 MOV CX,BXSI(注:寄存器尋址只能使用:BX,BP,SI,DI;且BX、BP或SI,DI不能同時使用,可能我說的不太對,請版主確認一下) (2)以寄存器BX和偏移量value作寄存器相對尋址方式把存儲器的一個字和AX相加,把結(jié)果(即和)送回那個字單元中。 ADD v

4、alueBX,AX (3)將一個字節(jié)立即數(shù)0B6H與符號的地址為NUM的存儲器字節(jié)單元內(nèi)容相比較。 CMP BYTE PTR 0B6H,NUM(如果前面不加BYTE RTR,默認的也是字節(jié)比較吧?還有雙字比較,應(yīng)該怎么寫?) (4)測試從寄存器BP和DI、偏移量COUNT作為相對基址變址尋址方式尋址的存儲器字節(jié)單元內(nèi)容最高位B7的值,字節(jié)單元的內(nèi)容不能改變。 TEST COUNTBPDI,80H (5)將AH寄存中的高4位和低4位數(shù)據(jù)互換。 MOV CL,4 ROL(或ROR) AH,CL (6)清除以寄存器SI間接尋址的存儲器字單元,同時清除CF標志位. XOR AX,AX ;使AX=000

5、00000,CF=0 MOV SI,AX 2.2設(shè)DS=1000H,BX=2865H,SI=0120H,偏移量D=47A8H,試計算下列各種尋址方式下的有效地址. 1)使用D的直接尋址 47A8H (這道指令怎么寫?如何定義D的值) 2)使用BX的寄存器間接尋址 2865H 3)使用BX和D的寄存器相對尋址 700DH 4)使用BX、SI和F的相對基址變址尋址 712DH 5)使用BX、SI的基址變址尋址 2985 2.3假設(shè)DS=1000H,BX=2A80H,CX=3142H,SI=0050H,(10050H)=3BH,(10051H)=86H,(11200H)=7AH,(11101H)=6

6、4H,(12ADOH)=0A3H,每小題的括號中分別填入指令執(zhí)行后的結(jié)果: 1)MOV AX,1200H ;AX=1200H 2)MOV AX,1200H ;AX=1200H(書上的答案是647A,但是我用DEBUG試了一下是1200,可能是因為我的PII的原因吧,希望有8088的朋友能試一下,版主,考起試來應(yīng)該怎么寫呀?) 3)ADD SI,CX ;(10050H)=7DH,9100510=B7H,ZF=0,CF=0,SF=1,OF=1 4)OR BYTE PTR BXSI,54 ;(12AD0H)=F7,CF=0,OF=0 5)MOV 150HBX,CH ;12BD0H=31,CH=31

7、2.4指出下列指令的錯誤原因 1)MOV AX,CL 兩操作數(shù)的長度不一樣. 2)MOV CS,AX 不能給CS賦值 3)INC BETABP 書上說:沒有數(shù)據(jù)類型說明,但我認為它應(yīng)該自動默認為字節(jié)操作,版主再來看看吧 4)MOV ES,1850H 立即數(shù)不能直接送段寄存器 5)ADD BX,DS 段寄存器不能做為加法操作數(shù)使用 6)AND AX,CX 寄存器尋址只能使用BX,SI,DI,BP 2.5說明下列指令執(zhí)行的操作,說明原始數(shù)據(jù)和結(jié)果數(shù)據(jù)的存儲地點 原始數(shù)據(jù)(結(jié)果數(shù)據(jù)) 1)mov 2700h,cx 這條指令在我的P4試了一下,是錯誤的;如果考試時出只好說是:把CX中的內(nèi)容送到(數(shù)據(jù)段

8、中偏移地址為2700h字單元)中; 2)MOV DH,50SI 將數(shù)據(jù)段中有效地址為SI+50的字節(jié)單元中的數(shù)據(jù)送入(DH)中; 3)LEA SI,ARRAY 將ARRAY的偏移地址送入(SI),結(jié)果數(shù)據(jù)在代碼段對相應(yīng)指令字節(jié)中 4)DAS 將AL中的壓縮的十六進制數(shù)調(diào)整為十進制數(shù),結(jié)果數(shù)據(jù)在AL中,原始數(shù)據(jù)也在AL中 5)ADC CL,BX 將BX和CL的和加上CF的值后,存放在CL中,結(jié)果在CL中,原始在BX,CL,CF中 6)ROR WORD PTR ALPHASI,CL 將偏移地址為ALPHA+SI字單元中的數(shù)據(jù)循環(huán)移,結(jié)果和原始都在哪個字單元中. 2.6指出下列無條件轉(zhuǎn)移指令的轉(zhuǎn)移地

9、址中的偏移地址是什么,存放在何處. 1)JMP BX 偏移地址是BX中的值,存放在BX中 2)JMP WORD PTR BX 偏移地址是以BX中的值為偏移地址的一個字單元中的數(shù)值,存放在以BX中的值為偏移地址的一個字單元中 3)JMP NEAR PTR PROA 偏移地址為PROA的偏移地址,存放在CS段的相應(yīng)指令處(書上說的不一樣,請版主做下這道題) 4)JMP FAR PTR FAR_PRO 偏移地址為FAR_PRO的偏移地址,存放在CS段的相應(yīng)指令處 5)JMP SHORT AGAIN 偏移地址為AGAIN的偏移地址,存放在CS段的相應(yīng)指令處(書上說的不一樣,請版主做下這道題) 6)JM

10、P DWORD PTR BXDI 偏移地址是以BX,DI為基址變址尋址的兩個字單元的內(nèi)容,存放在以BX,DI為基址變址尋址的兩個字單元中 2.7寫出把道址為BLOCK的字數(shù)組的第六個字送到CX寄器的指令序列,要發(fā)別使用以下幾種尋址方式 1)以BX寄存器的間接尋址 LEA BX,BLOCK+0AH MOV CX,BX 2) 以BX寄存器的相對尋址 LEA BX,BLOCK MOV CX,0AHBX 3) 以BX,SI的基址變址尋址 LEA BX,BLOCK MOV CX,BXSI 2.8指出下列指令的源和目的操作數(shù)的尋址方式 (目地操作數(shù)尋址方式;原操作數(shù)尋址方式) 1)MOV ARRAY,BX

11、 直接尋址;寄存器尋址 2)ADC CX,ALPHABXSI 寄存器尋址;相對基址變址尋址,寄存器尋址 3)AND BYTE PTR GAMMA DI,11011001B 寄存器相對尋址;立即尋址,寄存器相對尋址 4)INC WORD PTR BX 寄存器間接尋址;寄存器間接尋址 5)TEST EX:IS,DX (目的操作數(shù)?在哪?只改變標志位,算寄存器尋址嗎?書上寫的寄存器間接尋址,不明白);寄存器間接尋址,寄存器尋址 6)SBB SI,SI 寄存器尋址;寄存器尋址,寄存器間接尋址 2.9分別說明下列每組指令中的兩條指令的區(qū)別: 1) MOV AX,TABLE LEA AX,TABLE 前者

12、是將變量TABLE的內(nèi)容傳遞給AX;后者是將TABLE和偏移地址傳遞給AX 2) AND BL,0FH OR BL,0FH 前者是BL的內(nèi)容與0F相與;后者是BL與0FH相或 3) JMP SHORT L1 JMP NEAR PTR L1 前者為短跳轉(zhuǎn),后者為近跳轉(zhuǎn) 4) MOV AX,BX第三章 3.1 1)使計算機執(zhí)行某種操作的命令 ;指令 2)表示計算機執(zhí)行什么操作的符號 ;助記符 3)存放指令機器碼的存儲器段區(qū) ;代碼段 4)指出指令在程序中位置的符號地址 ;標號 5)將匯編語言程序翻譯成機器碼程序的實用程序 ;匯編程序 3.2試寫出完成下列操作的指示性語句: 1)將56H,78,0B

13、3H,100存放在定義為字節(jié)變量ARRAY的存儲單元中. ARRAY DB 56H,78,0B3H,100 2)將字數(shù)據(jù)2965H,45H,2965,0A6H存放在定義為字節(jié)變量DATA的存儲單元中. ARRAY DB 65H,29H,45H,95H,0BH,0A6H ;書上在0B和0A6H后面有個0,不什么是什么. 3)將字節(jié)數(shù)據(jù)56H,0C6H,78H,12H存放在字變量ALPHA的存儲單元中.并且不改變數(shù)據(jù)按字節(jié)存儲的次序 ALPHA DW 0C656H,1278H 4)在BETA為道址的存儲單元中連續(xù)存放字節(jié)數(shù)據(jù):2個23,5個A,10個(1,2),20個空單元。 BETA DB 2

14、DUP (23),5 DUP (A),10 DUP (1,2), 20 DUP (?) 5)在STRING為首址的存儲單元中存放字符串THIS IS A EXAMPE STRING DB THIS IS A EXAMPE 3.3下列偽指令序列中,BASUB的值為多少?它表示什么意義? BUFF DB 7,6,56,? ARRAY DW 0,67H,7 BASUB EQU ARRAY-BUFF BASUB的值是5,它表示ARRAY與BUFF的首地址的差. 3.4假設(shè)程序中的數(shù)據(jù)定義如下: BUF1 DB 100 DUP (a) BUF2 DW 1275H,567,0C5H BUF3 DB 20

15、DUP (?) BUF4 DB 7,4,6,9,8 1)用一條指令將BUF1的諞移地址送入BX. LEA BX,BUF1 2)將BUF2的第三字節(jié)數(shù)據(jù)送入CL MOV BYTE PTR CL,BUF2+2 3)將0A6H送入BUF3的第10個字節(jié)單元中 MOV BYTE PTR BUF3+9,0A6H 4)用偽指令寫出BUF1和BUF2二者的總長度(字節(jié)數(shù)) L1_2 EQU BUF3-BUF1 5)用一組指令寫出BUF2的第二個數(shù)據(jù)567和BUF4的第三個數(shù)據(jù)6相加,結(jié)果(和)送入BUF3 MOV AL,BUF4+2 MOV AH,0 ADD AX,BUF2+2 MOV BUF3,AX 3.

16、5指出下列第一對偽指令語句的區(qū)別: 1)X1 DB 76; X2 EQU 76 前者是向X1的字節(jié)單元存入76,后者是將X2的值定義為76. 2)X1 DW 3548H; X2 EQU BYTE PTR X1 前者是定義X1的字單元值為3548,后者是定義X2的值為X1的第一個字節(jié)單元的值48. 3)X1 EQU 3; X2 = 3 兩者都是賦值語句,但前者只能定義一次,后者可以重復(fù)定義. 4)X1 DW 3678H; X2 DB 36H,78H 前者的字節(jié)單元內(nèi)容依次為78,36;后者的字節(jié)單元內(nèi)容依次為36,78. 5)X1 DW 6341H; X2 DW 6341 前者為十六進制的634

17、1;后者為十進制的6341 3.6設(shè)置一個數(shù)據(jù)段DATA_SEC,其中連續(xù)存放下列的8個變量,用段定義語句和數(shù)據(jù)定義語句寫出數(shù)據(jù)段: 1)DATA1為字符串變量:DATA SEGMENT 2)DATA2為十進制數(shù)字節(jié)變量:72,65,-10 3)DATA3為十六進制數(shù)字字節(jié)變量:109,98,21,40 4)DATA4為10個零的字節(jié)變量. 5)DATA5為數(shù)字的ASCII字符字節(jié)變量:12345 6)DATA6為十進制的字變量:7,9,298,1967 7)DATA7為十六進制的數(shù)的字變量:785,13475 8)DATA8為本段中字變量和字節(jié)變量之間的字節(jié)單元數(shù)之差 DATA_SEC SE

18、GMENT DATA1 DB DATA SEGMENT DATA2 DB 72,65,-10 DATA3 DB 6DH,62H,15H,28H DATA4 DB 10 DUP (0) DATA5 DB 12345 DATA6 DW 7,9,298,1967 DATA7 DW 0311H,34A3H D1 EQU DATA6-DATA1 D2 EQU $-DATA6 DATA8 EQU D2-D1 3.7設(shè)程序中的數(shù)據(jù)定義如下: DATA1 DW ? DATA2 DB 32 DUP (?) DATA3 DD ? DLENGTH EQU $-DATA1 問DLENGTH的值為多少?它表示什么意義?

19、 DLENGTH的值為38,表示DATA1,DATA2,DATA3所占用的字節(jié)數(shù)之和 3.8指出下列第一小題中的偽指令表達的操作哪些是錯誤的?錯誤在哪時? 1) ALPHA EQU 78H BETA EQU ALPHA+1 沒錯. 2) DATA DB 395 1個字節(jié)最多能夠表示256 3) X1 SEG . . . X1 ENDS SEG應(yīng)該寫成SEGMENT 4) ALPHA EQU BETA BETA沒有賦值 5) COUNT EQU 100 COUNT EQU 78 不可以用EQU給一個變量重復(fù)賦值 6) MAIN PROC . . . ENDP 過程結(jié)束標志,應(yīng)該有個MAIN 7)

20、ARRAY DW 10 DUP (?) . . . JMP ARRAY ARRAY是變量,JMP不能跳到ARRAY處 8) SEGMENT CODE_SEG . . . ENDS CODE_SEG 書寫格式錯誤,應(yīng)寫為 CODE_SEG SEGMENT CODE_SEG ENDS 3.9對于下面的數(shù)據(jù)定義,寫出各條指令執(zhí)行的結(jié)果: FLDB DW 0A24FH TABLE DB 32H,52,0C2H,213 TEA EQU WORD PTR TABLE ARRAY DB ABCD COUNT EQU $-ARRAY 1)MOV AX,FLDB AL=(4FH) 2)MOV BX,TEA BH

21、=(52H) 3)MOV CH,TABL3+2 CH=(0CH) 4)MOV DL,ARRAY DL=(41H) 5)MOV DH,COUNT DH=(4) 第四章 4.1寫出完成下述功能的程序段: 1)將32H存入CH中. MOV CH,32H 2)將CH中的內(nèi)容與2AH相加. ADD CH,2AH 3)將CH中的內(nèi)容乘2 ADD CH,CH ;(練習(xí)冊上的答案為:SHL CH,1) 4)將CH中的內(nèi)容存入以BX作為相對基址尋址的數(shù)組變量NUM的第10個字節(jié)單元中(數(shù)據(jù)段) MOV BX,9 MOV NUMBX,CH 4.2寫出完成下述功能的程序段: 1)在數(shù)據(jù)段中,字變量DARA1有兩個數(shù)

22、據(jù):1C35H和0214H,字變量DARA2有兩個數(shù)據(jù):0A678和81A4H,字變量DARA3為二個空單元. DATA SEGMENT DARA1 DW 1C35H,0214H DARA2 DW 0A678,81A4H DARA3 DW 2 DUP (?) DATA ENDS 2)將DATA1的第一個字數(shù)據(jù)傳送給AX. MOV AX,DATA1 3)將AX的內(nèi)容與FARA2的第一個字數(shù)據(jù)相減 SUB AX,FARA2 4)將AX中的結(jié)果存入DATA3的第一個空單元. MOV DATA3,AX 5)將DATA1的第二個字數(shù)據(jù)傳送給AX. MOV AX,DATA1+2 6)將AX的內(nèi)容與SARA

23、2的第二個數(shù)據(jù)及第一次相減速的借位相減 SBB AX,SARA2+2 7)將AX的結(jié)果存入DATA3的第二個單元中 4.3在A1和A2的字單元中各有一個帶符號數(shù)字數(shù)據(jù),試求出A1和A2組成的雙字長數(shù)的絕對值,存入B1和B2的字單元中,畫出程序流程圖和編寫職程 序段,包括偽指令和指令序列. DATA SEGMENT A1 DW n1 A2 DW n2 B1 DW ? B2 DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX CMP WORD PTR A2,7FFFH JNL CODE1 NEG WORD

24、 PTR A2 NEG WORD PTR A1 CODE1: MOV AX,A1 MOV DX,A2 MOV B1,AX MOV B2,DX MOV AH,00H INT 21H CODE ENDS END 4.4將存放在字節(jié)變量BCD1中的兩個十進制數(shù)的ASCII碼合并為一字節(jié)壓縮的BCD碼,存入BCD2中,試編寫程序段 DATA SEGMENT BCD1 DB 37H,38H BCD2 DB ? DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX MOV AL,BCD1+1 AND AL,0F

25、H MOV BL,BCD1 MOV CL,4 SHL BL,CL OR AL,BL MOV BCD2,AL CODE ENDS END START 4.5分別編寫出下列各算式的程序段,其中X、Y、Z、R和W均為存放16位無符號數(shù)的單元符號地址: DATA SEGMENT X DW 3031H Y DW 3032H Z DW 3033H R DW 3034H W DW 3035H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;1)Z ;2)Z-(W*X)/(Y+6),R ;3)Z ;4)Z-

26、(W-X)/5Y)2,余數(shù)丟棄 MOV AX,W SUB AX,X DIV 5 MOV AH,00H MUL Y MUL 2 MOV Z,AX MOV R,DX ;計算結(jié)果如果是雙字節(jié),將高16位存入Z字單元后面的一個字位中。 DTATA ENDS END START 第五章 5.1分支程序可分為哪些功能部分?用流程圖的形式來表示各種分支程序的功能組成部分?雙分支條件是怎么樣才能產(chǎn)生?多分支條件是怎么樣形成的?各種分支程序判斷條件的方法有什么不同?實現(xiàn)分支的方法有什么不同? 分支程序可分為:產(chǎn)生條件、測試、定向、標號。流程圖見教材P119圖54。用能夠影響CF、ZF、OF的指令來產(chǎn)生條件,如C

27、MP,SUM,AND,TEST,位移指令。(其余答案略,書上都有) 5.2試分析下列程序段,說明完成了什么操作?程序執(zhí)行前后,HEXNUM字節(jié)單元的內(nèi)容是什么? ASCNUM DB 41H HEXNUM DB ? MOV AH,ASCNUM CMP AH,39H JBE NEXT SUB AH,7 NEXT: SUB AH,30H MOV HEXNUM,AX HLT 完成了當ASCNUM所表示的十六進制數(shù)的ASCII碼轉(zhuǎn)換成十六進制數(shù),并存入ASCNUM字節(jié)單元的低四位,執(zhí)行前是空單元,執(zhí)行后是0A。 5.3試編寫完成題5.3圖的流程圖所規(guī)定的操作 P1: MOV AX,-1 JMP P4 P

28、2: MOV AX,0 JMP P4 P3: MOV AX,1 JMP P4 CMP AX,-1 JLE P1 JL P2 JMP P3 p4: MOV AL,00H INT 21 5.4測試ALPHA字節(jié)變量單元中的ASCII碼字符,進行如下操作: 1)若為數(shù)字字符,送入NUM字節(jié)單元中,置標記FLAG為0 2)若為大寫字母字符,送入BIGCHR字節(jié)單元中,置標記FLAG為0 3)若為小寫字母字符,送入SMLCHR字節(jié)單元中,置標記FLAG為0 4)否則,置標記FLAG為1 DATA SEGMENT ALPHA DB A NUM DB ? BIGCHR DB ? SMLCHR DB ? FL

29、AG DB ? DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX MOV AX,ALPHA CMP AX,30H JBE N4 CMP AX,39H JA N1 MOV NUM,AX JMP N5 N1: CMP AX,41H JB N4 CMP AX,5A JA N2 MOV BIGCHR,AX JMP N5 N2: CMP AX,61H JB N4 CMP AX,7a JA N4 MOV SMLCHR,AX JMP N5 N4: MOV FLAG,1 JMP N3 N5: MOV FLAG,

30、0 N3: MOV AX,00H INT 21 CODE ENDS END START 5.5設(shè)在變量單元A、B和C中存放有三個數(shù),若三個數(shù)都不為0,則求出三個救之和存入D;若有一個為0,則將其它兩個單元也清零,請編寫此程序段。 DATA SEGMENT A DB 10 B DB 20 C DB 30 D DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX CMP A,0 JZ P1 CMP B,0 JZ P1 CMP C,O JZ P1 MOV AL,0 ADD AL,A ADD AL

31、,B ADD AL,C MOV D,AL JMP P2 P1: MOV A,0 MOV B,0 MOV C,0 P2: MOV AH,0 INT 21H CODE ENDS END START 5.6假設(shè)X和X2單元與Y和Y2單元中存放的是兩個雙字有符號數(shù)據(jù)(X、Y為低位字)。說明下列程序段所完成的是什么操作?若JBE L2指令 改為JB L2指令,在操作結(jié)果上有什么區(qū)別?AX1和 AX2分別說明了什么? MOV DX,X2 MOV AX,X ADD AX,X ADC DX,X2 CMP DX,Y2 JL L2 JG L1 CMP AX,Y JBE L2 L1: MOV AX,1 JMP EX

32、IT L3: MOV AX,2 EXIT: HLT 將X的雙字單元中的數(shù)乘2后與Y的雙字單元中的數(shù)進行比較。如果X小于等于Y,將2寫入AX中;如果X大于Y,將1寫入AX。 如果裝JBE L2指令改為JB L2,側(cè)是X等于Y時,將1寫入AX。其余同上。 5.7試編寫一段程序,要求比較數(shù)組ARRAY中的三個16位有符號數(shù)。根據(jù)比較結(jié)果,置FLAG標志: 1)如果三個數(shù)都不相等,則置FLAG為零。 2)如果三個數(shù)有兩個相等,則FLAG為1。 3)如果三個數(shù)全相等,則FLAG為2。 DATA SEGMENT ARRAY DW 1000H,2000H,3000H FLAG DB ? DATA ENDS

33、CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,ARRAY MOV BX,ARRAY+2 MOV CX,ARRAY+4 MOV DL,0 CMP AX,BX JNZ N1 INC DL N1: CMP BX,CX JNZ N2 INC DL CMP DL,2 JZ N5 N2: CMP AX,CX JNZ N3 INC DL JMP N5 N3: CMP DL,1 JNZ N4 JMP N5 N4: MOV DL,0 JMP N6 N5: MOV FLAG,DL N6: MOV AH,00H INT

34、 21H CODE ENDS END START 因為時間原因,以下題目我就不抄了,請大家對照書上做吧。第六章 6.1 循環(huán)參數(shù)置初值部分,循環(huán)工作部分和循環(huán)控制部分。(這種題我不太會做,大家上書上找吧。) 6.2 1)將從2開始的連續(xù)10個偶數(shù)相加,將和存入SUM。SUM110 2)將DAT1的后五個單元的數(shù)5,6,7,8,9依次送入DAT2的5個單元中去。DAT2的內(nèi)容是5,6,7,8,9 6.3 1) LEA AX,BUF1 LEA BX,BUF2 MOV CX,N LOP1: MOV AL,AX MOV BX,AL INC AX INC BX LOOP LOP1 2) LEA SI,BUF1 LEA DI,BUF2 MOV CX,N CLD REP MOVSB 3) LEA SI,BUF1 LEA DIBUF2 MOV CX,N CLD LP: LODSB STOSB LOOP LP 6。4 LEA BX,NUMBER LEA SI,PLUS MOV CX,256 LP: MOV AL,BX INC BX AND AL,AL JNS L1 LOOP LP JMP L2 L1: MOV SI,AL INC SI LOOP LP L2: HLT 6.5 DATA

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論