第3-5章習題解(新)_第1頁
第3-5章習題解(新)_第2頁
第3-5章習題解(新)_第3頁
第3-5章習題解(新)_第4頁
第3-5章習題解(新)_第5頁
已閱讀5頁,還剩58頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、重慶理工大學電子信息與自動化學院第三章主要內(nèi)容第三章主要內(nèi)容8086的尋址方式以及指令介紹匯編語言的語法規(guī)定、語句格式匯編語言程序設計重慶理工大學電子信息與自動化學院知識點:知識點: . 物理地址和邏輯地址物理地址和邏輯地址 . 尋址方式尋址方式 . 指令系統(tǒng)指令系統(tǒng) . 匯編語言程序設計匯編語言程序設計 掌握:掌握: . 物理地址與邏輯地址的換算物理地址與邏輯地址的換算 . 指令尋址方式的確定指令尋址方式的確定 . 指令尋址過程的分析,進而確定操作數(shù)指令尋址過程的分析,進而確定操作數(shù) . 指令正誤的判別指令正誤的判別 . 指令的功能及其對標志寄存器的影響指令的功能及其對標志寄存器的影響 .匯

2、編語言程序設計方法及典型程序段匯編語言程序設計方法及典型程序段重慶理工大學電子信息與自動化學院3.3.1 1設設DS=1000HDS=1000H,SS=2000HSS=2000H,AX=1A2BHAX=1A2BH,BX=1200HBX=1200H,CX=339AHCX=339AH,BP=1200HBP=1200H,SP=1350HSP=1350H,SI=1354HSI=1354H,(11350H)=0A5H(11350H)=0A5H,(11351H)=3CH(11351H)=3CH,(11352H)=0FFH(11352H)=0FFH,(11353H)=26H(11353H)=26H,(113

3、54H)=52H(11354H)=52H,(11355H)=OE7H(11355H)=OE7H,(126A4H)=9DH(126A4H)=9DH,(126A5H)=16H(126A5H)=16H,(21350H)=88H(21350H)=88H,(21351H)=51H(21351H)=51H 下列各指令都在此環(huán)境下執(zhí)行,在下列各小題的空下列各指令都在此環(huán)境下執(zhí)行,在下列各小題的空格中填入相應各指令的執(zhí)行結(jié)果。格中填入相應各指令的執(zhí)行結(jié)果。MOV MOV 目標操作數(shù),目標操作數(shù), 源操作數(shù)源操作數(shù) 源操作數(shù)可以是源操作數(shù)可以是8/16/328/16/32位的立即數(shù)、寄存器操作位的立即數(shù)、寄存器

4、操作數(shù)、內(nèi)存操作數(shù)。目標操作數(shù)不允許為立即數(shù),其余數(shù)、內(nèi)存操作數(shù)。目標操作數(shù)不允許為立即數(shù),其余同源操作數(shù)。源、目不能同時為內(nèi)存操作數(shù)。同源操作數(shù)。源、目不能同時為內(nèi)存操作數(shù)。重慶理工大學電子信息與自動化學院(2)MOV AX(2)MOV AX,1352H 1352H ;AX=AX=解:解:PA=DSPA=DS* *16+EA=10000H+1352H=11352H16+EA=10000H+1352H=11352H(11352H)=0FFH(11352H)=0FFH,(11353H)=26H(11353H)=26HAX=26FFHAX=26FFH(1)MOV AX(1)MOV AX,1352H

5、 1352H 解:解:AX=1352HAX=1352H(3)MOV 0150HBX(3)MOV 0150HBX,CHCH (11350H)= (11351H)=(11350H)= (11351H)=解:解: EA=BX+0150H=1350H EA=BX+0150H=1350H PA=DSPA=DS* *16+EA=10000H+1350H=11350H, CH=33H16+EA=10000H+1350H=11350H, CH=33H (11350H)=33H, (11351H)(11350H)=33H, (11351H)的值不變的值不變 ,(11351H)=3CH(11351H)=3CH(4

6、)MOV AX(4)MOV AX,0150HBP 0150HBP ;AX=_AX=_解:解: EA= BPEA= BP0150H0150H1350H1350HPA=PA=SS*16+EA=20000H+1350H=21350HEA=20000H+1350H=21350H AX=5188HAX=5188H重慶理工大學電子信息與自動化學院(5)POP AX (5)POP AX ; AX=_ AX=_,SP=_SP=_ 功能:功能: dest (SP+1)_(SP) dest (SP+1)_(SP) SPSP SPSP2 2 注意:注意: dest dest可以是可以是MEM/REG/SREG(CS

7、MEM/REG/SREG(CS除外)除外)解:解:EA= SP=1350HEA= SP=1350H PA=PA=SS*16+EA=20000H+1350H=21350HEA=20000H+1350H=21350H AX=5188H, SP=1350H+2H=1352HAX=5188H, SP=1350H+2H=1352H(6)ADD(6)ADD SISI,CXCX (11354H)=_(11354H)=_,(11355H)=_(11355H)=_,SF=_SF=_ ZF=_ZF=_, PF=_ PF=_, CF=_ CF=_, OF=_ OF=_ 功能:功能: dest dest+src de

8、st dest+src 注意注意:(1):(1)源和目的操作數(shù)不能同時為存儲單元源和目的操作數(shù)不能同時為存儲單元; ; (2)(2)標志寄存器中狀態(tài)位隨運算結(jié)果變化標志寄存器中狀態(tài)位隨運算結(jié)果變化 (3)(3)操作數(shù)是有符號或無符號數(shù)由程序員解釋操作數(shù)是有符號或無符號數(shù)由程序員解釋; ;重慶理工大學電子信息與自動化學院 (11354H) =0ECH, (11355H)= 1AH CF=1,ZF=0,CF=1,ZF=0,PF(PF(低八位奇偶校驗低八位奇偶校驗) ):0ECH= 11101100B0ECH= 11101100BPF=0PF=0SF(SF(最高位狀態(tài)最高位狀態(tài)) ),1H=0001

9、B1H=0001BSF=0SF=0OF(OF(溢出標志溢出標志) )0E752H=1110011101010010B0E752H=1110011101010010B 339AH=339AH=000011001110011010B11001110011010B 11111001110101001010011101010010+ + 00001100111001101011001110011010 1 100011010111011000001101011101100解:解:EA=SI=1354H, PA=DSEA=SI=1354H, PA=DS* *16+EA=10000H+1354H=1135

10、4H16+EA=10000H+1354H=11354H CX=339AH, (11354H)=52HCX=339AH, (11354H)=52H,(11355H)=OE7H(11355H)=OE7H 0E752H+339AH=0E752H+339AH=1 11AECH-(11355H): (11354H)1AECH-(11355H): (11354H)(11354H) =0ECH, (11355H)= 1AH(11354H) =0ECH, (11355H)= 1AH重慶理工大學電子信息與自動化學院(7)SUB BH(7)SUB BH,0150HBXSI0150HBXSIBH=_BH=_,SF=

11、_SF=_,ZF=_ZF=_,PF=_PF=_,CF=_CF=_,0F=_0F=_ 格式:格式:SUB dest, srcSUB dest, src 功能:功能:dest dest-srcdest dest-src 注意:注意:destdest、srcsrc不能同時為存儲單元。不能同時為存儲單元。 標志寄存器中的狀態(tài)位隨運算結(jié)果改變。標志寄存器中的狀態(tài)位隨運算結(jié)果改變。 減法時減法時OFOF溢出標志位何時為溢出標志位何時為0 0,何時為,何時為1 1? 當負數(shù)減正數(shù)時,若結(jié)果為正數(shù),當負數(shù)減正數(shù)時,若結(jié)果為正數(shù),OF=1OF=1;當正數(shù)減負數(shù);當正數(shù)減負數(shù) 時,若結(jié)果為負數(shù),時,若結(jié)果為負數(shù),

12、OF=1OF=1;否則為;否則為0.0.解:解:EA=0150H+BX+SI=26A4HEA=0150H+BX+SI=26A4H; PA=DSPA=DS* *16+EA=10000H+26A4H=126A4H16+EA=10000H+26A4H=126A4H; (126A4H)=9DH,BH=12H(126A4H)=9DH,BH=12H BH=75H, SF=0,ZF=0,PF=0, CF=1 ,OF=0BH=75H, SF=0,ZF=0,PF=0, CF=1 ,OF=0重慶理工大學電子信息與自動化學院(8)INC BYTE PTR 0152HBX(8)INC BYTE PTR 0152HBX

13、 (11352H)=_(11352H)=_,(11353H)=_(11353H)=_,CF=_CF=_ 格式:格式:INC destINC dest 功能:功能:dest destdest dest1 1 注意:注意:1 1)單操作數(shù)指令;)單操作數(shù)指令; 2 2)不影響)不影響CFCF標志;標志; 3 3)對內(nèi)存單元進行加)對內(nèi)存單元進行加1 1時,要指明內(nèi)存單元是時,要指明內(nèi)存單元是字字 節(jié),是字。可以在內(nèi)存單元前加操作符節(jié),是字??梢栽趦?nèi)存單元前加操作符BYTEBYTE PTRPTR,表明為字節(jié);加,表明為字節(jié);加WORD PTRWORD PTR表明是字表明是字 4 4)常用于地址指針和

14、加)常用于地址指針和加1 1計數(shù)。計數(shù)。解:解:EA=0152H+ BX= 1352H,PA=DSEA=0152H+ BX= 1352H,PA=DS* *16+EA=11352,16+EA=11352, (11352H)=0FFH, (11352H)=0FFH, (11352H)=00H, (11353H)= 26H, (11352H)=00H, (11353H)= 26H, 不影響不影響CFCF (9)INC WORD PTR 0152HBX(9)INC WORD PTR 0152HBX (11352H)=_(11352H)=_,(11353H)=_(11353H)=_,CF=_CF=_解:

15、解:EA=0152H+ BX= 1352H, PA=DSEA=0152H+ BX= 1352H, PA=DS* *16+EA=11532,16+EA=11532, (11352H)=0FFH, (11353H)= 26H (11352H)=0FFH, (11353H)= 26H (11352H)=00H, (11353H)= 27H, (11352H)=00H, (11353H)= 27H, 不影響不影響CF CF 重慶理工大學電子信息與自動化學院(10)SAR BYTE PTR 0150HBX(10)SAR BYTE PTR 0150HBX,1 1 (11350H) =_(11350H) =

16、_, CF=_ CF=_, OF=_ OF=_SHL SHL 移位對象,移位次數(shù)移位對象,移位次數(shù)狀態(tài)位狀態(tài)位CFCF、SFSF、ZFZF和和PFPF隨運算結(jié)果而變化;當移位次數(shù)隨運算結(jié)果而變化;當移位次數(shù)為為1 1時,若移位前后移位對象的最高位不同時,則時,若移位前后移位對象的最高位不同時,則OF=1,OF=1,否則為否則為0 0,當移位次數(shù)大于,當移位次數(shù)大于1 1時,時,OFOF是不確定的是不確定的解:解:EA=BX+0150H=1350HEA=BX+0150H=1350HPAPADSDS* *16+EA=11350H,16+EA=11350H, (11350H)=0A5H= 10100

17、101B (11350H)=0A5H= 10100101B11010010B=0D2H, CF=1,OF=011010010B=0D2H, CF=1,OF=0(11)SAL BYTE PTR 0150HBX(11)SAL BYTE PTR 0150HBX,1 1 (11350H)=_(11350H)=_,CF=_CF=_,OF=_OF=_解:解:EA=BX+0150H=1350H,PA=DSEA=BX+0150H=1350H,PA=DS* *16+EA=11350,16+EA=11350,(11350H)=0A5H= 10100101B(11350H)=0A5H= 10100101B 0100

18、1010B=4AH, CF=1,OF=1 01001010B=4AH, CF=1,OF=1重慶理工大學電子信息與自動化學院3.23.2 閱讀下列各小題的指令序列,在后面空格中填入閱讀下列各小題的指令序列,在后面空格中填入 該指令序列的執(zhí)行結(jié)果。該指令序列的執(zhí)行結(jié)果。(1) MOV BL(1) MOV BL,85H85H MOV AL MOV AL,17H17H ADD AL ADD AL,BLBL DAA DAAAL=_AL=_, BL=_ BL=_, CF=_ CF=_解:解:17H+85H17H+85H9CH9CHALAL DAA DAA 壓縮的壓縮的BCDBCD碼加法十進制調(diào)整指令。碼加

19、法十進制調(diào)整指令。 (AL(AL的低的低4 4位位99或或AF=1AF=1,ALALAL+06H,AFAL+06H,AF1;1; AFAF是輔助進位標志是輔助進位標志用以標志用以標志D3D3向向D4D4的進位的進位 ALAL的高的高4 4位位99或或CF=1CF=1,ALALAL+60H,CFAL+60H,CF1;1;) AL=9CH+ 06H=0A2HAL=9CH+ 06H=0A2H AL=0A2H+60H=AL=0A2H+60H=02H02H, , BL=85HBL=85H CF=1 CF=1重慶理工大學電子信息與自動化學院(2) MOV AX(2) MOV AX,BXBX NOT AX

20、NOT AX ADD AXADD AX,BXBX lNC AXlNC AXAX=_AX=_,CF=_CF=_解:解:INCINC不影響標志位不影響標志位 AX=0000HAX=0000H, CF=0CF=0(3)MOV AX(3)MOV AX,0FF60H 0FF60H STC STC ;CF=1 MOV DX MOV DX,96 96 ;DX=0060H XOR DH XOR DH,0FFH 0FFH ;XOR XOR 命令會使命令會使 CFCF0,OF0,OF0 0 SBB AX DX SBB AX DX ;AX-DX-CF=FF60H-FF60H-0=0AX=_AX=_,CF=_CF=_

21、解:解:AX=0000H, CF=0AX=0000H, CF=0重慶理工大學電子信息與自動化學院(4)MOV BX(4)MOV BX,0FFFEH 0FFFEH ; MOV CL,2MOV CL,2; SAR BX,CL SAR BX,CLBX=_BX=_,CF=_CF=_解:解:0FFFEH=1111111111111110B0FFFEH=1111111111111110B1111111111111111B, CF=01111111111111111B, CF=01111 1111 1111 1111B, CF=11111 1111 1111 1111B, CF=1 SAR SAR為算術(shù)右移

22、,低位移出到為算術(shù)右移,低位移出到CFCF中,高位中,高位用符號位填充。用符號位填充。 故運行結(jié)果為:故運行結(jié)果為:BX=0FFFFH, CF=1BX=0FFFFH, CF=1重慶理工大學電子信息與自動化學院3.3.3 3 AND AL AND AL,ALAL JZ BRCHl JZ BRCHl RCR AL RCR AL,1 1 JZ BRCH2 JZ BRCH2 RCL AL RCL AL,1 1 INC AL INC AL JZ BRCH3 JZ BRCH3上述程序運行后,試回答:上述程序運行后,試回答:(1)(1)當當AL=AL= 時,時, 程序轉(zhuǎn)向程序轉(zhuǎn)向BRCHlBRCHl(2)(

23、2)當當AL=AL= 時,時, 程序轉(zhuǎn)向程序轉(zhuǎn)向BRCH2BRCH2(3)(3)當當AL=AL= 時,時, 程序轉(zhuǎn)向程序轉(zhuǎn)向B BRCH3RCH3 ;將;將ALAL數(shù)據(jù)求與數(shù)據(jù)求與 ;ZF=1ZF=1則轉(zhuǎn)移到則轉(zhuǎn)移到BRCH1BRCH1 ;循環(huán)右移;循環(huán)右移1 1位位 ;ZF=1ZF=1則轉(zhuǎn)移到則轉(zhuǎn)移到BRCH2BRCH2 ;循環(huán)左移;循環(huán)左移1 1位位 ;ALAL加加1 1 ;ZF=1ZF=1則轉(zhuǎn)移到則轉(zhuǎn)移到BRCH3BRCH3轉(zhuǎn)移指令轉(zhuǎn)移指令00H00H0FFH0FFH0 01 1H H重慶理工大學電子信息與自動化學院3 34 4完成下列操作,選用什么指令:完成下列操作,選用什么指令: (

24、1) (1)將將AXAX的內(nèi)容減去的內(nèi)容減去0520H0520H,和上次運算的借位;,和上次運算的借位; SUB destSUB dest,srcsrc 功能:功能:dest dest-srcdest dest-src SBB destSBB dest,srcsrc 功能:功能:dest dest-src-CFdest dest-src-CF SBB AX,0520HSBB AX,0520H (2) (2)將變量名將變量名TABLTABL的段地址送的段地址送AXAX。 變量操作時的分析運算符有以下變量操作時的分析運算符有以下5 5種種SEGSEG變量名變量名取出變量所在段的段基值取出變量所在段

25、的段基值 OFFSETOFFSET變量名變量名取出變量所在處的偏移地址取出變量所在處的偏移地址TYPETYPE變量名變量名取出變量的數(shù)據(jù)類型值取出變量的數(shù)據(jù)類型值LENGTHLENGTH變量名表示變量所在數(shù)組的數(shù)據(jù)元素個數(shù)變量名表示變量所在數(shù)組的數(shù)據(jù)元素個數(shù)SIZESIZE變量名變量名它表示變量所在數(shù)組的字節(jié)總數(shù)它表示變量所在數(shù)組的字節(jié)總數(shù)SIZE=LENGTHSIZE=LENGTH* *TYPETYPE MOV AXMOV AX,SEG TABLSEG TABL重慶理工大學電子信息與自動化學院3.3.5 5 D1 DB 20H DUP D1 DB 20H DUP(?)(?) D2 DW D1

26、 D2 DW D1請寫出用一條指令實現(xiàn)取請寫出用一條指令實現(xiàn)取D1D1的偏移地址的偏移地址送送SISI中的三種方法。中的三種方法。 格式:格式:LEA reg,srcLEA reg,src 功能:功能:regEA,regEA,將存儲器地址送到一個寄存器。源操作數(shù)必須為內(nèi)將存儲器地址送到一個寄存器。源操作數(shù)必須為內(nèi) 存單元地址,目的操作數(shù)必須為一個存單元地址,目的操作數(shù)必須為一個1616位通用寄存器。此指令常位通用寄存器。此指令常 用來使一個寄存器作為地址指針。用來使一個寄存器作為地址指針。 (A) LEA SI(A) LEA SI,D1 D1 (B) MOV SI(B) MOV SI,OFFS

27、ET D1 OFFSET D1 (C) MOV SI(C) MOV SI,D2 D2 重慶理工大學電子信息與自動化學院0F00H3.3.6 6 MOV BX , 0FFHMOV BX , 0FFH AND BX , 0FFFH AND BX , 0FFFH OR BX , 0F0FH OR BX , 0F0FH XOR BX , 00FFH XOR BX , 00FFH上述程序段運行后,上述程序段運行后,BX=BX= ,CF=,CF= BX=0F00H, CF=0(注意:對于注意:對于8086 8086 的加法和減法操作,使用的加法和減法操作,使用CF CF 來標識將兩個操作數(shù)看成來標識將兩個

28、操作數(shù)看成無符號數(shù)時計算是否發(fā)生了溢出,而無符號數(shù)時計算是否發(fā)生了溢出,而OF OF 則標識將兩個操作數(shù)看成有則標識將兩個操作數(shù)看成有符號數(shù)時的情況。計算符號數(shù)時的情況。計算CF CF 位時,加法操作是直接將最高位的進位賦位時,加法操作是直接將最高位的進位賦給給CFCF,而對于減法操作而言,轉(zhuǎn)換后的補碼加法有進位表示實際進行,而對于減法操作而言,轉(zhuǎn)換后的補碼加法有進位表示實際進行的減法沒有借位(即沒有溢出),因此需要將最高位進位取反以后賦的減法沒有借位(即沒有溢出),因此需要將最高位進位取反以后賦給給CFCF;對于;對于OF OF 位的計算則是相同的,通過將最高位的進位和次高位位的計算則是相同

29、的,通過將最高位的進位和次高位的進位進行異或運算,結(jié)果賦給的進位進行異或運算,結(jié)果賦給OFOF(當然也可以使用雙符號位來進行(當然也可以使用雙符號位來進行計算)。當然對于減法操作而言,我們也可以簡單地認為:對于計算)。當然對于減法操作而言,我們也可以簡單地認為:對于CF CF 位,將減數(shù)與被減數(shù)都看成無符號數(shù),如果減數(shù)位,將減數(shù)與被減數(shù)都看成無符號數(shù),如果減數(shù) 被減數(shù),則被減數(shù),則CF=1CF=1,否則否則CF CF 為為0 0;對于;對于OF OF 位,若兩個數(shù)的符號相反,而結(jié)果的符號與減位,若兩個數(shù)的符號相反,而結(jié)果的符號與減數(shù)相同則數(shù)相同則OF=1OF=1,其他情況,其他情況OF=0OF

30、=0。)。)重慶理工大學電子信息與自動化學院3.3.7 7 CMP AX , BX CMP AX , BX JGE NEXT JGE NEXT XCHG AX , BX XCHG AX , BX NEXT: CMP AX , CX NEXT: CMP AX , CX JGE DONE JGE DONE XCHG AX , CX XCHG AX , CX DONE: . DONE: . 上述程序段執(zhí)行后,原有上述程序段執(zhí)行后,原有AX AX 、BX BX 、CXCX中最大數(shù)存放在哪個寄中最大數(shù)存放在哪個寄存器中?這存器中?這3 3個數(shù)是帶符號數(shù)還是無符號數(shù)?個數(shù)是帶符號數(shù)還是無符號數(shù)? 最大數(shù)在

31、最大數(shù)在AXAX中中, ,是帶符號數(shù)是帶符號數(shù) ;比較;比較AXAX、BXBX ;AXBXAXBX,轉(zhuǎn)到,轉(zhuǎn)到NEXTNEXT ;交換;交換AXAX、BXBX的值的值 ;比較;比較AXAX、CXCX ;AXCXAXCX,轉(zhuǎn)到,轉(zhuǎn)到DONEDONE ;交換;交換AXAX、CXCX的值的值重慶理工大學電子信息與自動化學院3.83.8畫出下列語句的數(shù)據(jù)在存儲器中的存儲情況畫出下列語句的數(shù)據(jù)在存儲器中的存儲情況: : ARRAYB DB 63,63H,ABCD,3 DUP(?),2 DUP(1,3)ARRAYB DB 63,63H,ABCD,3 DUP(?),2 DUP(1,3) ARRAYW DW

32、1234H,5,AB,CD,?,2 DUP(1,3)ARRAYW DW 1234H,5,AB,CD,?,2 DUP(1,3)DBDB定義長度為定義長度為1 1字節(jié)(字節(jié)(8 8位)的數(shù)據(jù)(字節(jié)數(shù)據(jù))位)的數(shù)據(jù)(字節(jié)數(shù)據(jù))DWDW定義長度為定義長度為1 1字節(jié)(字節(jié)(1616位)的數(shù)據(jù)(字數(shù)據(jù))位)的數(shù)據(jù)(字數(shù)據(jù))3FH63H41H42H43H44HXXXXXX01H03H01H03H34H12H05H00H42H41H44H43HXXXX01H00H03H00H01H00H03H00HARRAYBARRAYW重慶理工大學電子信息與自動化學院3.9 3.9 程序中數(shù)據(jù)定義如下:程序中數(shù)據(jù)定義如下

33、:DATA1 DW DATA1 DW ?DATA2 DB 32 DUPDATA2 DB 32 DUP(?)(?)DATA3 DD DATA3 DD ?DLENGTH EQU $-DATA1DLENGTH EQU $-DATA1此時此時DLENGTHDLENGTH的值是多少?的值是多少?DBDB定義長度為定義長度為1 1字節(jié)(字節(jié)(8 8位)的數(shù)據(jù)(字節(jié)數(shù)據(jù))位)的數(shù)據(jù)(字節(jié)數(shù)據(jù))DWDW定義長度為定義長度為1 1字節(jié)(字節(jié)(1616位)的數(shù)據(jù)(字數(shù)據(jù))位)的數(shù)據(jù)(字數(shù)據(jù))DDDD定義長度為定義長度為4 4字節(jié)(字節(jié)(3232位)的數(shù)據(jù)(雙字數(shù)據(jù))位)的數(shù)據(jù)(雙字數(shù)據(jù))EQU EQU 不占內(nèi)存不

34、占內(nèi)存解答:解答: DLENGTH=2DLENGTH=2(字)(字)+32+4+32+4(雙字)(雙字)=38=38重慶理工大學電子信息與自動化學院3.103.10程序中數(shù)據(jù)定義如下:程序中數(shù)據(jù)定義如下:ARRAY DB ABCDEFARRAY DB ABCDEFRESULT DB RESULT DB ?TABLE DW 20 DUPTABLE DW 20 DUP(?)(?) 則執(zhí)行指令則執(zhí)行指令MOV AXMOV AX,TYPE RESULTTYPE RESULT后,后,AX=AX=1 1MOV BXMOV BX, TYPE TABLE TYPE TABLE后,后,BX= BX= 2 2MO

35、V CXMOV CX, LENGTH TABLE LENGTH TABLE后,后,CX=CX=2020MOV DXMOV DX, LENGTH ARRAY LENGTH ARRAY后,后,DX=DX=1 1MOV SI MOV SI ,SIZE TABLESIZE TABLE后,后,SI=SI=2 220=4020=40 MOV DI MOV DI ,SIZE ARRAYSIZE ARRAY后,后,DI=DI=1 1重慶理工大學電子信息與自動化學院3.113.11試按下列要求在數(shù)據(jù)段中依次書寫各數(shù)據(jù)定義語試按下列要求在數(shù)據(jù)段中依次書寫各數(shù)據(jù)定義語句:句:(1 1)以)以DA1DA1為首字節(jié)的連

36、續(xù)存儲單元中存放為首字節(jié)的連續(xù)存儲單元中存放20H20H個重復個重復的數(shù)據(jù)序列:的數(shù)據(jù)序列:2 2,3 3,1010個個4 4,一個,一個7 7。(2 2)DA2DA2為字符串變量,用字變量(為字符串變量,用字變量(DWDW)設置一字符)設置一字符串;串;STUDENTSSTUDENTS(按次順序存放在各單元中)。(按次順序存放在各單元中)。(3 3)用等值語句給符號)用等值語句給符號COUNTCOUNT賦值以賦值以DA1DA1為首地址的數(shù)為首地址的數(shù)據(jù)區(qū)共占有的字節(jié)數(shù),此等值語句必須據(jù)區(qū)共占有的字節(jié)數(shù),此等值語句必須放在最后放在最后一一語句。語句。解答:解答:(1 1)DA1 DB 20H

37、DUPDA1 DB 20H DUP(2 2,3 3,10 DUP10 DUP(4 4),),7 7)(2 2)DA2 DW TSDA2 DW TS, DU DU,NENE,STST,(3 3)COUNT EQU DA2- DA1COUNT EQU DA2- DA1重慶理工大學電子信息與自動化學院3.123.12下面程序段是實現(xiàn)從鍵盤輸入十個一位下面程序段是實現(xiàn)從鍵盤輸入十個一位1010進制數(shù)后累加,進制數(shù)后累加,最后累加和以非壓縮最后累加和以非壓縮BCDBCD碼形式存放在碼形式存放在AHAH(高位)和(高位)和AL AL (低位)中。試把程序段中所空缺的指令填上。(低位)中。試把程序段中所空缺

38、的指令填上。XOR BX ,BX XOR BX ,BX ;BX;BX清零清零MOV CX,10MOV CX,10 ; ; 傳送數(shù)據(jù)長度傳送數(shù)據(jù)長度LOP:MOV AH,01HLOP:MOV AH,01H ; ;中斷中斷INT 21HINT 21H的的01H01H號調(diào)用號調(diào)用INT 21H INT 21H ; ;中斷調(diào)用中斷調(diào)用P172, P172, 鍵入值送入鍵入值送入ALAL中中MOV AH,BH MOV AH,BH ; ;將將BHBH的內(nèi)容傳的內(nèi)容傳AHAHADD AL,BL ADD AL,BL ;BL;BL與與ALAL的值相加的值相加, ,結(jié)果在結(jié)果在ALAL中中AAAAAA ; ;非壓

39、縮非壓縮BCDBCD碼加法調(diào)整碼加法調(diào)整MOV BX,AX MOV BX,AX ; ;累加結(jié)果送累加結(jié)果送BXBXLOOP LOP LOOP LOP ;CX-1CX,;CX-1CX,判斷判斷CX0,CX0,則轉(zhuǎn)則轉(zhuǎn)重慶理工大學電子信息與自動化學院3.133.13下面程序段的功能是把下面程序段的功能是把DA1DA1數(shù)據(jù)區(qū)的數(shù)據(jù)區(qū)的0-90-9轉(zhuǎn)換為對應的轉(zhuǎn)換為對應的ASCASC碼碼. .DA1 DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H DA1 DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H ASCI DB 10 D

40、UP(?)ASCI DB 10 DUP(?)CUNT = ASCI-DA1CUNT = ASCI-DA1LEA SI,DA1 LEA SI,DA1 ; ;送數(shù)組送數(shù)組DA1DA1的首地址偏移量到的首地址偏移量到SISILEA DI, ASCI LEA DI, ASCI ; ;送數(shù)組送數(shù)組ASCIASCI的首地址偏移量到的首地址偏移量到DI DI MOV CX, CUNTMOV CX, CUNT ; ;送數(shù)組送數(shù)組DA1DA1的長度的長度LOP1:LOP1: MOV AL,SI MOV AL,SI ; ;取數(shù)取數(shù)ADD AL,30HADD AL,30H ; ;或者或者OR AL,30HOR AL

41、,30H; ;加加30H30H變成變成ASCASC碼碼MOV DI,AL MOV DI,AL ; ;轉(zhuǎn)換后存入數(shù)組轉(zhuǎn)換后存入數(shù)組ASCIASCIINC SI INC SI ; ;源數(shù)據(jù)地址加源數(shù)據(jù)地址加1 1INC DI INC DI ; ;目的數(shù)據(jù)地址加目的數(shù)據(jù)地址加1 1LOOP LOP1 LOOP LOP1 ;CX-1CX,;CX-1CX,判斷判斷CX0,CX0,則轉(zhuǎn)則轉(zhuǎn)重慶理工大學電子信息與自動化學院3.143.14設設A,BA,B是長度為是長度為1010的字節(jié)數(shù)組的字節(jié)數(shù)組, ,用串操作指令編寫程序?qū)嵱么僮髦噶罹帉懗绦驅(qū)崿F(xiàn)現(xiàn)ABAB兩數(shù)組內(nèi)容的相互交換兩數(shù)組內(nèi)容的相互交換. .試完

42、善程序試完善程序. .DATA SEGMENTDATA SEGMENTA DB 1,2,3,4,5,6,7,8,9,0AHA DB 1,2,3,4,5,6,7,8,9,0AHORG 0010HORG 0010HB DB 0AH,9,8,7,6,5,4,3,2,1B DB 0AH,9,8,7,6,5,4,3,2,1DATA ENDSDATA ENDSLEA SI,ALEA SI,ALEA DI,BLEA DI,BMOV CX,10MOV CX,10重慶理工大學電子信息與自動化學院LOP:LOP: LODSBLODSBXCHG AL,DIXCHG AL,DIXCHG SI,DIXCHG SI,DI

43、DEC DIDEC DISTOSBSTOSBXCHG SI,DIXCHG SI,DIINC DIINC DILOOP LOPLOOP LOP重慶理工大學電子信息與自動化學院3.153.15編寫一程序段編寫一程序段, ,將將ALAL中的第中的第7 7和第和第0 0位位, ,第第6 6和第和第1 1位位, ,第第5 5和第和第2 2位位, ,第第4 4和第和第3 3位互換位互換. . MOV CX,8 MOV CX,8; MOV AH,0 MOV AH,0; K1: SHR AL,1K1: SHR AL,1; RCL AH,1 RCL AH,1; DEC CX DEC CX; JNZ K1 JNZ

44、 K1; MOV AL,AH MOV AL,AH 重慶理工大學電子信息與自動化學院3.163.16試編寫一程序段試編寫一程序段, ,在在CHARCHAR為首的為首的2626個單元中依次存放個單元中依次存放字母字母A- Z.A- Z. CHAR DB 26 DUP CHAR DB 26 DUP (? ?)START: LEA BX, CHAR;START: LEA BX, CHAR; MOV AL, A MOV AL, A MOV CX, 26 MOV CX, 26LOP1: MOV BX , ALLOP1: MOV BX , AL INC AL INC AL INC BXINC BX LOOP

45、 LOP1 LOOP LOP1 HLT HLT重慶理工大學電子信息與自動化學院3.173.17設在設在DATDAT單元存放一個單元存放一個-9+9-9+9的字節(jié)數(shù)據(jù)的字節(jié)數(shù)據(jù), ,在在SQRTABSQRTAB數(shù)數(shù)據(jù)區(qū)中存放據(jù)區(qū)中存放0909的平方值的平方值, ,請用直接查表法編寫一子程請用直接查表法編寫一子程序序, ,在在SQRTABSQRTAB中查找出中查找出DATDAT單元中數(shù)據(jù)對應的平方值送單元中數(shù)據(jù)對應的平方值送SQRSQR單元單元. .并寫出主程序的調(diào)用方式并寫出主程序的調(diào)用方式. . 數(shù)據(jù)段如下數(shù)據(jù)段如下: : DATA SEGMENT DATA SEGMENT DAT DB XX

46、H DAT DB XXH SQRTAB DB 0, 1, 4, 9, 81 SQRTAB DB 0, 1, 4, 9, 81 SQR DB ? SQR DB ? DATA ENDS DATA ENDS重慶理工大學電子信息與自動化學院 DATA SEGMENTDATA SEGMENTDAT DB XXHDAT DB XXHSQRTAB DB 0SQRTAB DB 0,1 1,4 4,9 9,8181SQR DB SQR DB ?DATA ENDSDATA ENDSSTACK SEGMENT PARA STACKSTACK SEGMENT PARA STACK DW 20H DUP DW 20H

47、DUP(?)(?)STACK ENDSSTACK ENDSCODE SEGMENTCODE SEGMENTASSUME CSASSUME CS:CODECODE,DSDS:DATADATA,SSSS:STACKSTACKSTARTSTART: MOV AXMOV AX,DATADATA MOV DS MOV DS,AXAX CALL DTOS CALL DTOS MOV AH MOV AH,4CH4CH INT 21H INT 21H重慶理工大學電子信息與自動化學院 DTOS PROCDTOS PROC PUSH AXPUSH AX PUSH BX PUSH BX LEA BX LEA BX,

48、SQRTABSQRTAB MOV AL MOV AL,DATDAT TEST AL TEST AL,80H 80H ;判斷;判斷ALAL的正負的正負 JZ NEXTJZ NEXT NEG AL NEG ALNEXTNEXT: XLAT SQRTAB XLAT SQRTAB ;ALAL(BX+ALBX+AL) MOV SQRMOV SQR,ALAL POP BXPOP BX POP AX POP AX RET RETDTOS ENDPDTOS ENDPCODE ENDSCODE ENDS END SRART END SRART 重慶理工大學電子信息與自動化學院第四章主要內(nèi)容第四章主要內(nèi)容半導體存

49、儲器半導體存儲器內(nèi)存儲器接口的基本技術(shù)內(nèi)存儲器接口的基本技術(shù)1616位微型計算機系統(tǒng)中的內(nèi)存儲器接口位微型計算機系統(tǒng)中的內(nèi)存儲器接口重慶理工大學電子信息與自動化學院4.14.1用下列芯片構(gòu)成存儲系統(tǒng)用下列芯片構(gòu)成存儲系統(tǒng), ,需要多少需要多少RAMRAM芯片芯片? ?需要多少位地址作為片需要多少位地址作為片外地址譯碼外地址譯碼? ?設系統(tǒng)為設系統(tǒng)為2020位地址線位地址線, ,采用全譯碼。采用全譯碼。(1)512(1)5124 4位位RAMRAM構(gòu)成構(gòu)成16KB16KB的存儲系統(tǒng)的存儲系統(tǒng); ;(2)1024(2)10241 1位位RAMRAM構(gòu)成構(gòu)成128KB128KB的存儲系統(tǒng)的存儲系統(tǒng);

50、 ;(3)2K(3)2K4 4位位RAMRAM構(gòu)成構(gòu)成64KB64KB的存儲系統(tǒng)的存儲系統(tǒng); ;(1)64K(1)64K1 1位位RAMRAM構(gòu)成構(gòu)成256KB256KB的存儲系統(tǒng)的存儲系統(tǒng); ; 芯片芯片 存儲系統(tǒng)容量存儲系統(tǒng)容量 多少芯片多少芯片 片外譯碼線片外譯碼線(20(20根地址根地址) )(1)512(1)5124 4位位 16KB 16KB 6464片片 11 11根根5125128 8位位 2 2片片 1K 1K 8 8位位 4 4片片16 16 4 4片片=64=64片片 片內(nèi)地址尋址片內(nèi)地址尋址512=2512=29 9, ,片內(nèi)地址尋址將用去片內(nèi)地址尋址將用去9 9根線根

51、線, ,片外譯碼線片外譯碼線20-9= 1120-9= 11根根(2)1024(2)10241 1位位 128KB 128KB 10241024片片 10 10根根102410248 8位位 8 8片片 128K 128K位位 8 8位位 8 8片片 128=1024 128=1024片片 片內(nèi)地址尋址片內(nèi)地址尋址1024=21024=21010, ,片內(nèi)地址尋址將用去片內(nèi)地址尋址將用去1010根線根線, ,片外譯碼線片外譯碼線20-10= 1020-10= 10根根(3)2K(3)2K4 4位位 64KB 64KB 6464片片 9 9根根2K2K8 8位位 2 2片片 2K 2K 32=6

52、4KB, 32=64KB, 2 2片片 32=64 32=64片片 片內(nèi)地址尋址片內(nèi)地址尋址2K=22K=21111, ,片內(nèi)地址尋址將用去片內(nèi)地址尋址將用去1111根線根線, ,片外譯碼線片外譯碼線20- 11 = 920- 11 = 9根根( (4 4)64K)64K1 1位位 256KB 256KB 3232片片 4 4根根64K64K8 8位位 8 8片片 64K 64K 8 8位位 4=256KB4=256KB8 8片片 4=32 4=32片片 片內(nèi)地址尋址片內(nèi)地址尋址64K=264K=21616, ,片內(nèi)地址尋址將用去片內(nèi)地址尋址將用去1616根線根線, ,片外譯碼線片外譯碼線20

53、-16=420-16=4重慶理工大學電子信息與自動化學院4.24.2現(xiàn)有一種存儲芯片容量為現(xiàn)有一種存儲芯片容量為5125124 4位位, ,若要它組若要它組成成4KB4KB的存儲容量的存儲容量, ,需要多少這樣的存儲芯片需要多少這樣的存儲芯片? ?每塊芯片需要多少尋址線每塊芯片需要多少尋址線( (片內(nèi)尋址片內(nèi)尋址)?)?而而4KB4KB存存儲系統(tǒng)需要多少尋址線儲系統(tǒng)需要多少尋址線? ?解答解答: : 5125124 4位的位的芯片芯片2 2片片 512 5128 8位的位的2 2組組(4(4片片) ) 1K1K8 4 8 4 4=4=1616片片(1)(1)需要需要1616片片5125124

54、4位可以組成位可以組成4KB4KB的存儲容量的存儲容量(2)512=2(2)512=29 9需要需要9 9根地址線片內(nèi)尋址根地址線片內(nèi)尋址(2) 4KB=2(2) 4KB=21212, ,系統(tǒng)需要系統(tǒng)需要1212根尋址線根尋址線重慶理工大學電子信息與自動化學院 習題習題4.3 有一個有一個2732EPROM芯片的譯碼電路,如圖所示,芯片的譯碼電路,如圖所示,請計算該芯片的地址范圍。請計算該芯片的地址范圍。 解答解答: : 地址范圍:地址范圍:A19 A16 A15 A12 A11 A10 A9 A8 A7 A4 A3 A0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

55、 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 A Y0B Y1C 74LS138G1G2A Y6G2B Y7&2732CSA11A12A13A14A15A19A11 A10 A9 A8 A7 A4 A3 A0范圍:范圍:(A11=0) FF000HFF7FFH (A11=1) FF800HFFFFFH重慶理工大學電子信息與自動化學院 4.44.4某一存儲器系統(tǒng)如圖某一存儲器系統(tǒng)如圖4 4-2-2所示所示, ,回答他們的存儲回答他們的存儲容量是多少容

56、量是多少?RAM?RAM和存儲器和存儲器EPROMEPROM地址范圍各是多少地址范圍各是多少? ?CPU74138RAMEPROMA11A0-A10A0-A10A0-A10211 2KB 6116A0-A11212 4KB 2732重慶理工大學電子信息與自動化學院 A19 A16 A15 A12 A11 A10 A9 A8 A7 A4 A3 A0 EPROM 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 RAM 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0

57、 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 EPROM范圍:范圍:FD000H-FDFFFH RAM范圍:范圍:A11=0時,時,F(xiàn)9000H-F97FFH A11=1時,時, F9800H-F9FFFH重慶理工大學電子信息與自動化學院 4.5 使用使用6116(2K)、2732(4K)和和74LS138譯碼器構(gòu)成一個存儲容量為譯碼器構(gòu)成一個存儲容量為12KB的的ROM(00000H-02FFFH),),8KB RAM(03000H-04FFFH)的存)的存儲系統(tǒng)。系統(tǒng)地址總線儲系統(tǒng)。系統(tǒng)地址總線20位,數(shù)據(jù)總線位,數(shù)據(jù)總線8位。位。 A19 A1

58、6 A15 A12 A11 A10 A9 A8 A7 A4 A3 A01# ROM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Y0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 12# ROM 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Y1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 13# ROM 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 Y2 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1

59、 1重慶理工大學電子信息與自動化學院 A19 A16 A15 A12 A11 A10 A9 A8 A7 A4 A3 A01# RAM 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 Y3 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 12# RAM 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 Y3 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 13# RAM 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Y4 0 0 0 0 0 1

60、0 0 0 1 1 1 1 1 1 1 1 1 1 14# RAM 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 Y4 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1重慶理工大學電子信息與自動化學院設計圖設計圖1重慶理工大學電子信息與自動化學院設計圖設計圖2重慶理工大學電子信息與自動化學院4.6 8086CPU執(zhí)行執(zhí)行MOV 2001H,AX指令指令,從取指令到執(zhí)行指令從取指令到執(zhí)行指令最少需要多少時間最少需要多少時間?設時鐘頻率為設時鐘頻率為5MHz,該指令機器碼為該指令機器碼為4個個字節(jié)字節(jié),存放在存放在1000H:2000H開始的

溫馨提示

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

評論

0/150

提交評論