已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本答案經(jīng)本人簡單作答、整理、修改(并是標準答案) ,僅供同學參考,歡迎同 學提出寶貴意見。 4.10 給定(BX)=637DH,(SI)=2A9BH,位移量 D=7237H,試確定在以下各種尋址方式下 的有效地址是什么 答案: (1)立即尋址 沒有 IP 的內容 (2)直接尋址 7237H ;MOV AX,7237H (3)使用 BX 的寄存器尋址 沒有 ;MOV AX,BX (4)使用 BX 的間接尋址 637DH ;MOV AX,BX (5)使用 BX 的寄存器相對尋址 0D5B4H ;MOV AX,DBX (6) 基址變址尋址 8E18H ;MOV AX,BXSI (7)相對基址變址 004FH ;MOV AX,DBXSI 4.11求執(zhí)行兩條指令后,各標志位的狀態(tài) MOV AL,91;執(zhí)行后, (AL)=91=5BH ADD AL,0BAH 加法執(zhí)行如下: 0BAH1011 1010 +05BH0101 1011 115H 1 0001 0101 CF:顯然最高位產(chǎn)生了進位(兩個加數(shù)都是兩位的,和卻有三位) ,CF=1 AF:低四位向高四位產(chǎn)生了進位(A+B 產(chǎn)生進位) ,AF=1 ZF:運算結果不為 0,ZF=0 SF:運算結果最高位為 0(高四位:1H=0001B) ,SF=0 OF:負+正=正(兩個加數(shù)的符號位不同) ,沒有溢出,OF=0 4-12 (1)MOV AL,0F5H 正確 (2)ADD BXBP,BX 錯誤,不能同時使用BXBP進行尋址 (3)CMP AL,100H 錯誤,AL 為 8 位,100H 大于 8 位,類型不匹配。 (4)TEST BP,DL 正確 (5)ADC 15,CL 錯誤,目的操作數(shù)不能是立即數(shù) (6)SUB DI,DA_WORD 錯誤,兩個操作數(shù)不能同時是存儲器操作數(shù)。 (7)OR CH,CL 正確 (8)MOV AL,1000H 錯誤,AL 為 8 位,1000H 為 16 位,類型不匹配。 (9)SAR 10HDI,2 錯誤,AL 為 8 位,移位多次必須 CL 中。 (10)NOT AL,BL 錯誤,邏輯非操作是單操作指令。 (11)DEC CX,1 錯誤,邏輯非操作是單操作指令。 (12)LEA ES,TABBX 錯誤,目的寄存器只能是通用寄存器。 4-13、根據(jù)下列要求,寫出相應的匯編指令 答案: (1)ADD AL,BXSI (3)ADD BX0B2H, CX (4)MOV AX,2A59H ADD 0524H ,AX (5)ADD AL ,0B5H 4-14、 答案: (1)寄存器間接尋址 MOV BX, OFFSET TABLE ADD BX, 08H MOV DX ,BX (2)寄存器相對尋址 MOV SI,O8H MOV DX,TABLESI (3)基址變址尋址 MOV BX , TABLE MOV SI,O8H MOV DX,BXSI 4-15 15、假設(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX) =0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09226H) =00F6H,(09228H)=1E40H,(1E4F6H)=091DH。試給出下列各指令或程序段的分別 執(zhí)行的結果。 答: (1) MOV CL,20HBXSI 有效地址 EA= 20H+BX+SI =20H+0024H+0012H=0056H 邏輯地址 DS:0056H 物理地址=091D0H+0056H=09226H (邏輯地址左移 1 為加有效地址) CL=09226H=0F6H (2) MOV BPDI,CX 有效地址 EA= BP+DI =0024H+0032H=0056H 邏輯地址 SS:0056H 物理地址=1E4A0H+0056H=1E4F6H 1E4F6H=CX=5678H (3) LEA BX,20HBXSI MOV AX,2BX 有效地址 EA= 20H+BX+SI =20H+0024H+0012H=0056H BX=0056H 有效地址 EA= 2H+BX=2H+0056H=0058H 邏輯地址 DS:0058H 物理地址=091D0H+0058H=09228H AX=09228H=1E40H (4) LDS SI,BXDI MOV SI,BX 有效地址 EA= BX+DI =0024H+0032H=0056H 邏輯地址 DS:0056H 物理地址=091D0H+0056H=09226H SI=09226H=00F6H DS=09226H+2H=09228H=1E40H 有效地址 EA= SI= 00F6H 邏輯地址 DS:00F6H 物理地址=1E400H+00 F6H=1E4F6H 1E4F6H=BX=0024H (5) XCHG CX,32HBX XCHG 20HBXSI,AX 有效地址 EA= 32H+BX =32H+0024H=0056H 邏輯地址 DS:0056H 物理地址=091D0H+0056H=09226H CX=09226H=00F6H 09226H=5678H 有效地址 EA= 20H+BX+SI =20H+0024H+0012H=0056H 邏輯地址 DS:0056H 物理地址=091D0H+0056H=09226H 09226H= 1234H AX=5678H 4-16 (01400)=1234H 應改為(01410)=1234H 分析:有效地址 EA=10H+SI= 10H+0400H=0410H 邏輯地址 DS:0100H 物理地址=01000H+0410H=01410H MOV AX ,10HSI ;傳送的是源操作數(shù)的內容 AX=1234H LEA AX ,10HSI ;傳送的是源操作數(shù)的有效地址 AX=0410H 4-17 mov ax,1234h ;將 1234h 這個 16 進制數(shù)放到 ax 寄存器中 mov bx ,5678h ;同理,將 5678h 這個 16 進制數(shù)放到 bx 這個寄存器中 push ax ;將 ax 壓棧,即將 1234h 放到棧頂 push bx ;將 bx 壓棧,即將 5678h 放到 1234h 上面(即棧頂) pop cx ;彈出當前棧頂元素(5678h),并將其傳送給 cx,即(cx) =5678h 4-18 寫出執(zhí)行以下計算的指令序列,其中 X,Y,Z,R 和 W 均為存放 16 位帶符號數(shù)單元 的地址。 (1)ZW+(Z-X) (2)ZW-(X+6)-(R+9) (3)Z(W*X)/(Y+6),R余數(shù) (4)Z(W-X)/5*Y)*2 本題與書上不盡相同參考下題 答案: (1). MOV AX,Z ;把 Z 送到 AX SUB AX,X ;Z-X ADD AX,W ;W+(Z-X) MOV Z,AX ;結果保存在 Z 中 (2).MOV AX,R ;R 送到 AX 中 ADD AX,9 ;R+9 MOV BX,X ;X 送到 BX 中 ADD BX,6 ;X+6 ADD AX,BX ;(R+9)+(X+6),結果保存在 AX 中 MOV BX,W ; W 送到 BX 中 SUB BX,AX ; W-(R+9)-(X+6),連續(xù)減去兩個數(shù),相當于減去這兩個數(shù)的和 MOV Z,BX ;最終結果送到 Z 中 (3).MOV AX,W ;把 W 送到 AX IMUL X ;W*X 注意:低十六位保存在 AX 里,高十六位保存在 DX 里 MOV BX,Y ;把 Y 送到 BX 里 ADD BX,6 ;Y+6 IDIV BX ;(W*X)/(Y+6) 注意:商保存在 AX 里,余數(shù)保存在 DX 里 MOV Z,AX ;把商送到 Z 中, MOV R,DX ;把余數(shù) 送到 R 中 (4).MOV AX,W ;把 W 送到 AX 中 SUB AX,X ;W-X CWD ;把 AX 中的十六位帶符號數(shù)擴展成為 32 位,低十六位保存在 AX 中,高 十六位保;在 DX 中 MOV BX,5 ;把 5 送到 BX 中 IDIV BX ;(W-X)/5 被除數(shù)為 32 位,除數(shù)為 16 位商為 16 位 IMUL Y ;上一步結果再乖以 Y,積為 32 位 MOV BX,2 ;把 2 送到 BX 中 IMUL BX ;上一步乘法所得的積再乘以 2,各為 64 位 MOV Z,EAX ;把結果中低 32 位放入 Z 雙字單元中 ,超出范圍 MOV Z+4,EDX ;把結果中高 32 位放入 Z+4 雙字單元中 ,超出范圍 請參考下題 試編制一程序,計算下列公式的值,將商存放在試編制一程序,計算下列公式的值,將商存放在 Z Z 單元,余數(shù)放在單元,余數(shù)放在 R R 單元內中。單元內中。 X X、Y Y、Z Z、R R、W W 分別為存放分別為存放 1616 位帶符號數(shù)單元的地址。計算過程中中間結果和最后結果在位帶符號數(shù)單元的地址。計算過程中中間結果和最后結果在 1616 位二進制數(shù)范圍內位二進制數(shù)范圍內 Z =(W-Z)/(5*Y)*2 MOV AX,W ;把 W 送到 AX 中 SUB AX,X ;W-X MOV BX,2 ;把 2 送到 BX 中 MUL BX ;先乘以 2 PUSH AX;保存中間結果(W-Z)*2 MOV AX,5;把 5 送到 AX 中 MUL Y ;5 再乖以 Y,乘機在 AX 中 MOV BX,AX;5*Y 再放到 BX 中 POP AX;返回中間結果(W-Z)*2 XOR DX,DX DIV BX;實現(xiàn)(W-Z)*2/(5*Y),商在 AX 中,余數(shù)在 DX 中 MOV Z,AX MOV R,DX 4-19給了一定初始寄存器條件,問執(zhí)行一段程序后,幾個寄存器中應該是什么內容 (遇到這種題目,應當把所有寄存器列一個表格,每一條指令分析完后,填上新的一行寄 存器內容,這樣才不容易出錯,逐條指令分析,每條指令都使用上條指令執(zhí)行完后新的寄 存器內容。下面我們按照這種思路來分析這段程序) (DS)=1234H, (SI)=124H, (12464H)=30ABH, (12484H)=464H (考試時可以用自己的方式簡寫寄存器狀態(tài),提高速度) 1)LEA SI,SI 分析:EA=(SI)=124H 指令執(zhí)行完后, (SI)=(SI)=124H (注意 LEA 指令的功能,不要搞成 MOV 指令了) 引起的寄存器內容變化:無(僅列出當前變化了的,能提高解題速度) 2)MOV AX,SI 分析:EA=(SI)=124H默認使用 DS 物理地址=12340H+124H=12464H 執(zhí)行后,寄存器變化為:(AX)=(12464H)=30ABH 3)MOV SI+22H,1200H 分析:SI+22H=22HSIEA=22H+(SI)=22H+124H=146H默認使用 DS 物理地址=12340H+146H=12486H 執(zhí)行后,寄存器沒有變化,存儲單元變化為:(12486H)=1200H 4)LDS SI,SI+20H 分析:SI+20H=20HSIEA=20H+(SI)=20H+124H=144H默認使用 DS 物理地址=12340H+144H=12484H 當前:(12484H)=464H(12486H)=1200H 執(zhí)行后,變化:(SI)=(12484H)=464H, (DS)=(12486H)=1200H 5)ADD AX,SI 分析:EA=(SI)=464H默認使用 DS 物理地址=12000H+464H=12464H 執(zhí)行后,變化:(AX)=(AX)+(12464H)=30ABH+30ABH=6156H 4-20假定了一些寄存器初始內容,問執(zhí)行一段程序后某些寄存器和標志位的內容。 初始:(AX)=0A5C6H, (CX)=0F03H 1)STC 執(zhí)行后,CF=1 2)RCL AX,CL 當前(CL)=03H, (AX)=1010010111000110B,CF=1 執(zhí)行后:(AX)=0010111000110110B=2E36H,CF=1, 3)AND AH,CH 當前(AH)=02EH=00101110B (CH)= 0FH =00001111B 功能為提取低 4 位,執(zhí)行后,AH=0EH,CF=0(強制清 0) 4)RCR AX,CL 當前(CL)=03H,CF=0, (AX)=0E36H=0000111000110110B, 執(zhí)行后:CF=1, (AX)=1000000111000110B=81C6H 4-21 初始:(AX)=0FC77H, (CX)=504H 1)CLC 執(zhí)行后,CF=0 2)SAR AX,CL 當前(CL)=04H, (AX)=0FC77H=1111110001110111B 算術右移 4 位(記得最高位補充符號) ,執(zhí)行后(AX) =1111111111000111B=0FFC7H,CF=0。 3)XCHG CH,CL 當前(CH)=05H, (CL)=04H 執(zhí)行后, (CH)=04H, (CL)=05H 4)SHL AX,CL 當前(CL)=05H, (AX)=0FFC7H=1111111111000111B 邏輯左移 5 位,執(zhí)行后(AX)=1111100011100000B=0F8E0H,CF=1 4-22 初始:(AX)=0FFFFH INC AX 執(zhí)行后, (AX)=0000H NEG AX 執(zhí)行后, (AX)=0000H DEC AX 執(zhí)行后, (AX)=0FFFFH NEG AX 執(zhí)行后, (AX)=0001H 4-23 初始:(BX)=12FFH 1)MOV CL,8 執(zhí)行后, (CL)=8 2)ROL BX,CL 循環(huán)左移 8 位,相當于低 8 位和高 8 位交換,CF 中保存高 8 位的最低位 執(zhí)行后, (BX)=0FF12H,CF=0 3)AND BX,0FFH 提取低 8 位,執(zhí)行后, (BX)=0012H,CF=0 4)CMP BX,0FFH 執(zhí)行后, (BX)不變, (BX)=0012H 因為作為無符號數(shù),0012H C MOV AX,A NEG B SUB AX,B MOV C,AX (4)把 DX,AX 中的 32 位無符號數(shù)右移 2 位 SHR DX,1 RCR AX,1 SHR DX,1 RCR AX,1 (5) 用一條指令把 CX 中的整數(shù)轉變?yōu)槠鏀?shù) OR CX,0001H (6)將 AX 中第 1,3 位變反,其余各位保持不變 XOR AL,00001010B (7) 根據(jù) AX 中有 0 的位對 BX 中對應位變反,其余各位保持不變。 NOT AX (AX中內容變反) XOR BX,AX 4-30 MOV CL, 4 ;設置循環(huán)次數(shù)為 SHR AX, CL ;實現(xiàn)將 AX 邏輯右移 MOV BL, DL ;將 DL 的低 4 位暫存在 BL 中 SHR DX, CL ;實現(xiàn)將 DX 邏輯右移 SHL BL, CL ;將 BL 邏輯左移 OR AH, BL ;將 BL 或上 AH ;也就是使 DL 的低 4 位或上 AH 高 4 位,從而實現(xiàn)了 DX、AX 中 的雙字右移四位。 4-39 要求不改變 DH 內容方法很多: 1. 先送進 BH,再在 BH 里清除高三位就行了 2. 放到 AL 里(或其它字節(jié)單元)處理,然后存入 BH 3. 先將 DX 入棧,處理完從棧中恢復 要清除最左 3 位,也有多種方法: 1. 與 00011111B(或 1FH)作 AND 運算 2. 左移三位,再右移三位 組合上面的兩種方法 1, 是這樣: MOV BH, DH AND BH, 00011111B 第五章答案 習題 5 5-1設已定義數(shù)據(jù)段 DATA SEGMENT ORG 0020H DA DB 20H DUP(0) DA1 DB 12H, 34H DA2 DB 56H, 78H ADDR DW DA1, DA2 ;變量ADDR(指定的單元)中存放變量DA1、DA2的(16 位)偏移地址。 ;也就是說,ADDR字存儲單元的內容為變量DA1的(16位) 偏移地址,ADDR+2字存儲單元的內容為變量DA2的(16 位)偏移地址. 為使ADDR+2字存儲單元中存放的內容為0022H,試用兩種不同語句填寫上述空格。 5-2試用DW數(shù)據(jù)定義語句改寫下面兩條語句,使它們在存儲器中與上述語句分別有完全 一致的存儲情況。 DA1 DB ABCDEFGHI DA2 DB 12H, 34H, 56H, 78H, 9AH, 0BCH, 0DEH 【分析】 (1)在DB偽指令中,一個字符串表達式可以連續(xù)書寫少于255個的字符,每一個字符分 配一個字節(jié)存儲單元,按地址遞增的排列順序依次存放字符串白左至右的每一個字 符。 (2)在DW偽指令中,每一個字符串表達式只能由12個字符組成,DW偽指令為每一個 字符串表達式分配兩個字節(jié)存儲單元。如果表達式是由兩個字符組成,那么前一個 字符的ASCII碼存放在高字節(jié)中,后一個字符的ASCII碼存放在低字節(jié)中。如果表 達式由一個字符組成,那么該字存儲單元的高字節(jié)存放00,而唯一字符的ASCII碼 存放在低字節(jié)存儲單元中。 DA1 DW BA, DC, FE, HG, I DA2 DW 3412H, 7856H, 0BC9AH, 0DEH 5-3下面兩條語句匯編后,NUM1和NUM2兩字節(jié)存儲單元中的內容分別是什么? NUM1 DB (12 OR 6 AND 2) GE 0EH NUM2 DB (12 XOR 6 AND 2) LE 0EH 【分析】運算符的優(yōu)先級 見page 214表5-2 NUM1 DB (12 OR 6 AND 2) GE 0EH (1)6 AND 201100010=0010 (2)12 OR 001011000010=1110140EH (3)0EH GE 0EHFFH 因此,NUM1 DB FFH NUM2 DB (12 XOR 6 AND 2) LE 0EH (1)6 AND 201100010=0010 (2)12 XOR 001011000010=1110140EH (3)0EH LE 0EHFFH 因此,NUM2 DB FFH 5-4下面兩條指令執(zhí)行后,DA2字存儲單元中的內容是什么? DA1 EQU BYTE PTR DA2 ; DA1所指定的存儲單元為DA2的低位字節(jié) DA2 DW 0ABCDH;(16位)字單元 SHL DA1, 1;(字節(jié))邏輯左移。最高位移入CF中,最低位補0。 ;0CDH(1100,1101)1,1001,1010CF=1 ;DA2低位字節(jié)存儲單元內容為9AH,高位字節(jié)內容不 變,為ABH。 SHR DA2, 1;(字)邏輯右移。最低位移入CF中,最高位補0。 ;0AB9AH(1010,1011,1001,1010) 0101,0101,1100,1101,0 ;CF=0,DA2字存儲單元內容為55CDH。 【分析】 5-5在下面數(shù)據(jù)定義中,數(shù)據(jù)為3000H的字存儲單元有幾個,它們的偏移地址分別是多少? ORG30H DATA1 DB0, 0, 30H, 0, 30H DWDATA1 【分析】2個,3000h, 3003h 地址30313233343536 存儲單元內容00303000303000 5-6在下面存儲區(qū)中能構成0302H數(shù)據(jù)的字存儲單元共有幾個? DB 8 DUP (3 DUP(2), 2 DUP(3) 【分析】 地 址 0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 存 儲 單 元 內 容 0 2 0 2 0 2 0 3 0 3 0 2 0 2 0 2 0 3 0 3 0 2 0 2 0 2 0 3 0 3 0 2 0 2 0 2 0 3 0 3 0 2 0 2 0 2 0 3 0 3 0 2 0 2 0 2 0 3 0 3 0 2 0 2 0 2 0 3 0 3 0 2 0 2 0 2 0 3 0 3 字單元必須始于偶地址處。 5-7下面的語句匯編后,數(shù)據(jù)項$+20H和$+40H中的$值分別是多少? ORG34H DA1DW10H, $+20H, 30H, $ +40H 【分析】 地址($值) 34H35H36H37H38H39H3AH3BH 存儲單元內容 10 00 56 00 30 00 7A00 5-8己定義數(shù)據(jù)段 ORG 0213H BYTE1DB 15H, 34H, 56H ADR1DW BYTE1 下列各指令語句執(zhí)行后,能使AX中數(shù)據(jù)為偶數(shù)的語句有哪些? (1)MOV AX, WORD PTR BYTE1;3415H (2)MOV AX, WORD PTR BYTE11;5634H (3)MOV AL, BYTE PTR ADR11;02H (4)MOV AX, WORD PTR BYTE12;1356H 【分析】 地址1314151617181920 存儲單元內容1534561302 5-9下面的指令序列執(zhí)行后,AX、BX、CX寄存器的內容分別是什么? ORG0202H DW1DW20H, 30H MOVAL, BYTE PTR DW1+1;(AL)=00H MOVAH, BYTE PTR DW1;(AH)=20H MOV BX, OFFSET DW1;(BX)=0202H MOVCL, BYTE PTR DW1+2;(CL)=30H MOVCH, TYPE DW1;(CH)=02H 【分析】 5-10下面的程序段運行后,AH和AL中的內容分別是什么? DA1DB;是任一數(shù)據(jù) DA2DB0FEH MOVAL, DA1 ORAL, DA2 MOVAH, AL XORAH, 0FFH 【分析】 5-11下面的程序段運行后,CX和DX中內容分別是什么? DA3DB82H, 76H, 56H, OADH, 7FH MOVCX, WORD PTR DA3;(CX)=7682H ANDCX, 0FH;(CX)=0002H MOVAL, DA3+3;(AL)=0ADH/1010 1101H SHLAL, CL;(AL)=0B4H/ 1011 0100H 上述程序段運行后,AL中的內容是什么? 【分析】 5-12下面的程序段運行期間,CX和DX中的內容分別是什么? DA4EQUWORD PTR DA5 DA5DB0ABH, 89H SHR DA4, 1;DA4原來為89ABH(1000 1001 1010 1011) 之后(0100 0100 1101 0101)=44D5H MOVDX , DA4;(DX)=44D5H SHLDA5 , 1; DA5原來為(1101 0101)=D5H之后(1010 1010)=AAH MOVCX, DA4;(CX)=44AAH 【分析】 5-13當執(zhí)行完INC BX指令且(BX)=05H時,CX和AL中的內容分別是什么? AA1DB10H DUP(2) AA2DW10H DUP(0304H) XORBX, BX ;設置數(shù)據(jù)指針 XORAL, AL ;設置累加器初值 XORCX, CX ;設置計數(shù)器初值為0 BB1:ADDAL, AA1BX ;累加 ADDAL, BYTE PTR AA2BX ;累加 INC BX ;修改數(shù)據(jù)指針 LOOPBB1 ;循環(huán) 【分析】 解:(AL)=2+4+2+3+2+4+2+3+2+4=28=1CH , (CX)=252 5-14下面的程序段運行后,(AX)=? 如用LOOPNE指令替代LOOP指令,那么上述程序段運行后,(AX)=?(CX)=? DB2DB4 DUP(2, 4, 6, 8) LEABX, DB2 MOVCX, 10H XORAX, AX LOP:ADDAL, BX ANDAL, 0FH CMPAL, 8 JBENEXT INCAH SUBAL, 08H NEXT:LOOP LOP 【分析】 由上表可知道,上述程序段執(zhí)行后,(AX)=0600H,(CX)=0 如果 LOOPNE 指令替代 LOOP 指令,那么上述程序段執(zhí)行后,(AX)=0300H (CX)=8 5-15下面的程序段運行后,AH和AL中的內容分別是什么? DA5DB2, 3, 7, 0AH, 0FH, 4, 5, 9, 8, 0CH XORAX, AX ; AX=0 XORCL, CL ; CL=0 XORBX, BX ; BX=0 LOP:TESTDA5BX, 01H ;測試存儲單元的數(shù)據(jù)是否偶數(shù) JENEXT ; 是偶數(shù),則跳轉 ADDAL, DA5BX ;是奇數(shù),將其累加 INCAH ; 計算奇數(shù)個數(shù) NEXT:INCBX ;指向下一個存儲單元 INCCL ;數(shù)據(jù)個數(shù)計數(shù)器 CMPCL, 10 ;運行后,(AL)=奇數(shù)之和=39=27H JNELOP ;(AH)=10 【分析】 5-16下面程序段是根據(jù)DAY字節(jié)存儲單元中內容(17),從表WEEK中查出對應的星期 一至星期日的英文縮寫,并用2號功能調用(單個字符顯示)顯示輸出。試把空白處填上適 當?shù)闹噶睿ㄒ粋€空白只填寫一條指令)。 WEEKDBMON, TUE, WED, THU, FRI, SAT, SUN DAYDB3;數(shù)據(jù)17 XORBX, BX MOVBL, DAY DECBL;BLDAY-1 MOVAL, BL SALBL, 1;BL2(DAY-1) ADDBL, AL;BL3(DAY-1) MOVCX, 3 LOP:MOVDL, WEEKBX MOVAH, 02H INT21H INCBX LOOPLOP 【分析】 地址0123456789101112131415161718192021 存儲單元內容MONTUEWEDTHUFRISATSUN3 ASCII碼4D03 5-17下面是判斷兩個存儲單元是否同為正數(shù)。如果是,則AX置0;否則AX置非0。試把 空白處填上適當?shù)臈l件轉移指令(兩個空白處要利用不同的標志位選用不同的條件轉移指 令,一個空白只填寫一條指令)。 DA6DW DA7DW MOVAX, DA6 MOVBX, DA7 XORAX, BX;AXDA6DA7。影響標志位 SF、ZF、PF,CF=0、OF=0,AF不確定。 ;如果DA6和DA7同為正數(shù)或負數(shù),則SF=0,否則 SF=1。(將0視為正數(shù)) JSNEXT;SF=1DA6和DA7一正一負,不設置AX,跳轉 至NEXT。 TESTBX, 8000H;(BX)(8000H)。BX的最高位是否為1?判斷BX 是否為負數(shù)。 ;影響標志位SF、ZF、PF,CF=0、OF=0,AF不 確定。 JNZNEXT;ZF=0上一條影響標志位ZF的指令運行的結果 不為0,DA7和DA6為負數(shù)。 MOVAX, 0 NEXT: 【分析】 DATA1 SEGMENT DA6DW 0111H DA7DW 8001H DISP1DB DA6 and DA7 are Positive Number,13,10,$ DISP2DB DA6 or DA7 are not Positive Number Number,13,10,$ DATA1 ENDS CODE1 SEGMENT MAINPROCFAR ASSUMECS:CODE1, DS:DATA1, ES:DATA1 START: PUSHDS SUBAX, AX PUSHAX MOVAX, DATA1 MOVDS, AX MOVES, AX MOVAX, DA6 MOVBX, DA7 XORAX, BX JSNEXT TESTBX, 8000H JNZNEXT LEADX, DISP1 JMPDISP NEXT:LEADX, DISP2 DISP:MOVAH, 09H INT21H RET MAINENDP CODE1 ENDS ENDSTART 5-18下面程序段是判斷寄存器AH和AL中第3位是否相同。如果相同,AH置0;否則AH置 非0。試把空白處填上適當?shù)闹噶睿ㄒ粋€空白只填寫一條指令)。 XORAH, AL;AHAHAL。按位異或,結果送AH。 ;對應位相同,則異或結果為零(AH的對應位為零)。 ;對應位不相同,則異或結果為1。 ;如果AH和AL的第3位相同,則AH的第3位為0,否則為1。 ANDAH, 08H;按位邏輯與,影響標志位 SF、ZF、PF,OF=0,CF=0。AF不定。 ;檢測第3位是否為1。 ;若第3位為1,則SF=0(邏輯與結果的最高位為0)、 ZF=0(邏輯與結果不等于0)、PF=0(邏輯與結果的第3 位為1,其余位為0)。 ;若第3位為0,則SF=0(邏輯與結果的最高位仍為0)、 ZF=1(邏輯與結果等于0)、PF=1(邏輯與結果的所有位 均為0) JP/JPEZERO JE/JZZERO MOVAH, 0FFH JMPNEXT ZERO:MOVAH, 0 NEXT: 【分析】 DATA1 SEGMENT DA6DB 01H DA7DB 01H DISP1DB OK,13,10,$ DISP2DB Different,13,10,$ DATA1 ENDS CODE1 SEGMENT MAINPROCFAR ASSUMECS:CODE1,DS:DATA1,ES:DATA1 START: PUSHDS SUBAX, AX PUSHAX MOVAX, DATA1 MOVDS, AX MOVES,AX MOVAH, DA6 MOVAL, DA7 XORAH, AL ANDAH, 08H JPZERO LEADX, DISP2 JMPNEXT ZERO:LEA DX, DISP1 NEXT:MOVAH,09H INT21H RET MAINENDP CODE1 ENDS ENDSTART 5-19試用兩條指令完成對寄存器AH和AL分別加1,且AL中加1形成的進位加在AH的最低 位,AH中加1形成的進位加在AL的最低位。 【分析】 ADD AX , 0101H ADC AL , 0 5-20在數(shù)據(jù)段中有一個九九乘法表,乘數(shù)和被乘數(shù)分別在兩個字節(jié)單元中。試編制一個 程序,用查表法求出1位數(shù)的乘積。 【分析】 DATA SEGMENT TAB1 DB 1,2,3,4,5,6,7,8,9 TAB2 DB 2,4,6,8,10,12,14,16,18 TAB3 DB 3,6,9,12,15,18,21,24,27 TAB4 DB 4,8,12,16,20,24,28,32,36 TAB5 DB 5,10,15,20,25,30,35,40,45, TAB6 DB 6,12,18,24,30,36,42,48,54 TAB7 DB 7,14,21,28,35,42,49,56,63 TAB8 DB 8,16,24,32,40,48,56,64,72 TAB9 DB 9,18,27,36,4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版生物質發(fā)電監(jiān)理服務合同三方協(xié)議3篇
- 二零二五版企業(yè)安全風險評估與安保服務合同3篇
- 二零二五年度高品質鋼結構裝配式建筑安裝服務合同3篇
- 二零二五版電影投資融資代理合同樣本3篇
- 二零二五版初級農(nóng)產(chǎn)品電商平臺入駐合同2篇
- 二零二五年度電商平臺安全實驗報告安全防護方案合同3篇
- 二零二五年度白酒銷售區(qū)域保護與競業(yè)禁止合同3篇
- 二零二五版建筑工程專用防水材料招投標合同范本3篇
- 二零二五年研發(fā)合作與成果共享合同2篇
- 二零二五版鋼結構工程節(jié)能合同范本下載3篇
- 2024年四川省德陽市中考道德與法治試卷(含答案逐題解析)
- 施工現(xiàn)場水電費協(xié)議
- SH/T 3046-2024 石油化工立式圓筒形鋼制焊接儲罐設計規(guī)范(正式版)
- 六年級數(shù)學質量分析及改進措施
- 一年級下冊數(shù)學口算題卡打印
- 真人cs基于信號發(fā)射的激光武器設計
- 【閱讀提升】部編版語文五年級下冊第三單元閱讀要素解析 類文閱讀課外閱讀過關(含答案)
- 四年級上冊遞等式計算練習200題及答案
- 法院后勤部門述職報告
- 2024年國信證券招聘筆試參考題庫附帶答案詳解
- 道醫(yī)館可行性報告
評論
0/150
提交評論