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

下載本文檔

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

文檔簡介

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

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 下列各指令都在此環境下執行,在下列各小題的空下列各指令都在此環境下執行,在下列各小題的空格中填入相應各指令的執行結果。格中填入相應各指令的執行結果。MOV MOV 目標操作數,目標操作數, 源操作數源操作數 源操作數可以是源操作數可以是8/16/328/16/32位的立即數、寄存器操作位的立即數、寄存器

4、操作數、內存操作數。目標操作數不允許為立即數,其余數、內存操作數。目標操作數不允許為立即數,其余同源操作數。源、目不能同時為內存操作數。同源操作數。源、目不能同時為內存操作數。重慶理工大學電子信息與自動化學院(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)源和目的操作數不能同時為存儲單元源和目的操作數不能同時為存儲單元; ; (2)(2)標志寄存器中狀態位隨運算結果變化標志寄存器中狀態位隨運算結果變化 (3)(3)操作數是有符號或無符號數由程序員解釋操作數是有符號或無符號數由程序員解釋; ;重慶理工大學電子信息與自動化學院 (11354H) =0ECH, (11355H)= 1AH CF=1,ZF=0,CF=1,ZF=0,PF(PF(低八位奇偶校驗低八位奇偶校驗) ):0ECH= 11101100B0ECH= 11101100BPF=0PF=0SF(SF(最高位狀態最高位狀態) ),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不能同時為存儲單元。不能同時為存儲單元。 標志寄存器中的狀態位隨運算結果改變。標志寄存器中的狀態位隨運算結果改變。 減法時減法時OFOF溢出標志位何時為溢出標志位何時為0 0,何時為,何時為1 1? 當負數減正數時,若結果為正數,當負數減正數時,若結果為正數,OF=1OF=1;當正數減負數;當正數減負數 時,若結果為負數,時,若結果為負數,

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)單操作數指令;)單操作數指令; 2 2)不影響)不影響CFCF標志;標志; 3 3)對內存單元進行加)對內存單元進行加1 1時,要指明內存單元是時,要指明內存單元是字字 節,是字。可以在內存單元前加操作符節,是字。可以在內存單元前加操作符BYTEBYTE PTRPTR,表明為字節;加,表明為字節;加WORD PTRWORD PTR表明是字表明是字 4 4)常用于地址指針和

14、加)常用于地址指針和加1 1計數。計數。解:解: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 移位對象,移位次數移位對象,移位次數狀態位狀態位CFCF、SFSF、ZFZF和和PFPF隨運算結果而變化;當移位次數隨運算結果而變化;當移位次數為為1 1時,若移位前后移位對象的最高位不同時,則時,若移位前后移位對象的最高位不同時,則OF=1,OF=1,否則為否則為0 0,當移位次數大于,當移位次數大于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 閱讀下列各小題的指令序列,在后面空格中填入閱讀下列各小題的指令序列,在后面空格中填入 該指令序列的執行結果。該指令序列的執行結果。(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碼加法十進制調整指令。碼加

19、法十進制調整指令。 (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為算術右移

22、,低位移出到為算術右移,低位移出到CFCF中,高位中,高位用符號位填充。用符號位填充。 故運行結果為:故運行結果為: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= 時,時, 程序轉向程序轉向BRCHlBRCHl(2)(

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

24、1) (1)將將AXAX的內容減去的內容減去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變量名變量名取出變量的數據類型值取出變量的數據類型值LENGTHLENGTH變量名表示變量所在數組的數據元素個數變量名表示變量所在數組的數據元素個數SIZESIZE變量名變量名它表示變量所在數組的字節總數它表示變量所在數組的字節總數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請寫出用一條指令實現取請寫出用一條指令實現取D1D1的偏移地址的偏移地址送送SISI中的三種方法。中的三種方法。 格式:格式:LEA reg,srcLEA reg,src 功能:功能:regEA,regEA,將存儲器地址送到一個寄存器。源操作數必須為內將存儲器地址送到一個寄存器。源操作數必須為內 存單元地址,目的操作數必須為一個存單元地址,目的操作數必須為一個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 來標識將兩個操作數看成來標識將兩個

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

29、的,通過將最高位的進位和次高位的進位進行異或運算,結果賦給的進位進行異或運算,結果賦給OFOF(當然也可以使用雙符號位來進行(當然也可以使用雙符號位來進行計算)。當然對于減法操作而言,我們也可以簡單地認為:對于計算)。當然對于減法操作而言,我們也可以簡單地認為:對于CF CF 位,將減數與被減數都看成無符號數,如果減數位,將減數與被減數都看成無符號數,如果減數 被減數,則被減數,則CF=1CF=1,否則否則CF CF 為為0 0;對于;對于OF OF 位,若兩個數的符號相反,而結果的符號與減位,若兩個數的符號相反,而結果的符號與減數相同則數相同則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: . 上述程序段執行后,原有上述程序段執行后,原有AX AX 、BX BX 、CXCX中最大數存放在哪個寄中最大數存放在哪個寄存器中?這存器中?這3 3個數是帶符號數還是無符號數?個數是帶符號數還是無符號數? 最大數在

31、最大數在AXAX中中, ,是帶符號數是帶符號數 ;比較;比較AXAX、BXBX ;AXBXAXBX,轉到,轉到NEXTNEXT ;交換;交換AXAX、BXBX的值的值 ;比較;比較AXAX、CXCX ;AXCXAXCX,轉到,轉到DONEDONE ;交換;交換AXAX、CXCX的值的值重慶理工大學電子信息與自動化學院3.83.8畫出下列語句的數據在存儲器中的存儲情況畫出下列語句的數據在存儲器中的存儲情況: : 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字節(字節(8 8位)的數據(字節數據)位)的數據(字節數據)DWDW定義長度為定義長度為1 1字節(字節(1616位)的數據(字數據)位)的數據(字數據)3FH63H41H42H43H44HXXXXXX01H03H01H03H34H12H05H00H42H41H44H43HXXXX01H00H03H00H01H00H03H00HARRAYBARRAYW重慶理工大學電子信息與自動化學院3.9 3.9 程序中數據定義如下:程序中數據定義如下

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字節(字節(8 8位)的數據(字節數據)位)的數據(字節數據)DWDW定義長度為定義長度為1 1字節(字節(1616位)的數據(字數據)位)的數據(字數據)DDDD定義長度為定義長度為4 4字節(字節(3232位)的數據(雙字數據)位)的數據(雙字數據)EQU EQU 不占內存不

34、占內存解答:解答: DLENGTH=2DLENGTH=2(字)(字)+32+4+32+4(雙字)(雙字)=38=38重慶理工大學電子信息與自動化學院3.103.10程序中數據定義如下:程序中數據定義如下:ARRAY DB ABCDEFARRAY DB ABCDEFRESULT DB RESULT DB ?TABLE DW 20 DUPTABLE DW 20 DUP(?)(?) 則執行指令則執行指令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試按下列要求在數據段中依次書寫各數據定義語試按下列要求在數據段中依次書寫各數據定義語句:句:(1 1)以)以DA1DA1為首字節的連

36、續存儲單元中存放為首字節的連續存儲單元中存放20H20H個重復個重復的數據序列:的數據序列:2 2,3 3,1010個個4 4,一個,一個7 7。(2 2)DA2DA2為字符串變量,用字變量(為字符串變量,用字變量(DWDW)設置一字符)設置一字符串;串;STUDENTSSTUDENTS(按次順序存放在各單元中)。(按次順序存放在各單元中)。(3 3)用等值語句給符號)用等值語句給符號COUNTCOUNT賦值以賦值以DA1DA1為首地址的數為首地址的數據區共占有的字節數,此等值語句必須據區共占有的字節數,此等值語句必須放在最后放在最后一一語句。語句。解答:解答:(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下面程序段是實現從鍵盤輸入十個一位下面程序段是實現從鍵盤輸入十個一位1010進制數后累加,進制數后累加,最后累加和以非壓縮最后累加和以非壓縮BCDBCD碼形式存放在碼形式存放在AHAH(高位)和(高位)和AL AL (低位)中。試把程序段中所空缺的指令填上。(低位)中。試把程序段中所空缺

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

39、縮非壓縮BCDBCD碼加法調整碼加法調整MOV BX,AX MOV BX,AX ; ;累加結果送累加結果送BXBXLOOP LOP LOOP LOP ;CX-1CX,;CX-1CX,判斷判斷CX0,CX0,則轉則轉重慶理工大學電子信息與自動化學院3.133.13下面程序段的功能是把下面程序段的功能是把DA1DA1數據區的數據區的0-90-9轉換為對應的轉換為對應的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 ; ;送數組送數組DA1DA1的首地址偏移量到的首地址偏移量到SISILEA DI, ASCI LEA DI, ASCI ; ;送數組送數組ASCIASCI的首地址偏移量到的首地址偏移量到DI DI MOV CX, CUNTMOV CX, CUNT ; ;送數組送數組DA1DA1的長度的長度LOP1:LOP1: MOV AL,SI MOV AL,SI ; ;取數取數ADD AL,30HADD AL,30H ; ;或者或者OR AL,30HOR AL

41、,30H; ;加加30H30H變成變成ASCASC碼碼MOV DI,AL MOV DI,AL ; ;轉換后存入數組轉換后存入數組ASCIASCIINC SI INC SI ; ;源數據地址加源數據地址加1 1INC DI INC DI ; ;目的數據地址加目的數據地址加1 1LOOP LOP1 LOOP LOP1 ;CX-1CX,;CX-1CX,判斷判斷CX0,CX0,則轉則轉重慶理工大學電子信息與自動化學院3.143.14設設A,BA,B是長度為是長度為1010的字節數組的字節數組, ,用串操作指令編寫程序實用串操作指令編寫程序實現現ABAB兩數組內容的相互交換兩數組內容的相互交換. .試完

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的字節數據的字節數據, ,在在SQRTABSQRTAB數數據區中存放據區中存放0909的平方值的平方值, ,請用直接查表法編寫一子程請用直接查表法編寫一子程序序, ,在在SQRTABSQRTAB中查找出中查找出DATDAT單元中數據對應的平方值送單元中數據對應的平方值送SQRSQR單元單元. .并寫出主程序的調用方式并寫出主程序的調用方式. . 數據段如下數據段如下: : 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 重慶理工大學電子信息與自動化學院第四章主要內容第四章主要內容半導體存

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

50、 ;(3)2K(3)2K4 4位位RAMRAM構成構成64KB64KB的存儲系統的存儲系統; ;(1)64K(1)64K1 1位位RAMRAM構成構成256KB256KB的存儲系統的存儲系統; ; 芯片芯片 存儲系統容量存儲系統容量 多少芯片多少芯片 片外譯碼線片外譯碼線(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片片 片內地址尋址片內地址尋址512=2512=29 9, ,片內地址尋址將用去片內地址尋址將用去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片片 片內地址尋址片內地址尋址1024=21024=21010, ,片內地址尋址將用去片內地址尋址將用去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片片 片內地址尋址片內地址尋址2K=22K=21111, ,片內地址尋址將用去片內地址尋址將用去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片片 片內地址尋址片內地址尋址64K=264K=21616, ,片內地址尋址將用去片內地址尋址將用去1616根線根線, ,片外譯碼線片外譯碼線20

53、-16=420-16=4重慶理工大學電子信息與自動化學院4.24.2現有一種存儲芯片容量為現有一種存儲芯片容量為5125124 4位位, ,若要它組若要它組成成4KB4KB的存儲容量的存儲容量, ,需要多少這樣的存儲芯片需要多少這樣的存儲芯片? ?每塊芯片需要多少尋址線每塊芯片需要多少尋址線( (片內尋址片內尋址)?)?而而4KB4KB存存儲系統需要多少尋址線儲系統需要多少尋址線? ?解答解答: : 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根地址線片內尋址根地址線片內尋址(2) 4KB=2(2) 4KB=21212, ,系統需要系統需要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某一存儲器系統如圖某一存儲器系統如圖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時,時,F9000H-F97FFH A11=1時,時, F9800H-F9FFFH重慶理工大學電子信息與自動化學院 4.5 使用使用6116(2K)、2732(4K)和和74LS138譯碼器構成一個存儲容量為譯碼器構成一個存儲容量為12KB的的ROM(00000H-02FFFH),),8KB RAM(03000H-04FFFH)的存)的存儲系統。系統地址總線儲系統。系統地址總線20位,數據總線位,數據總線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執行執行MOV 2001H,AX指令指令,從取指令到執行指令從取指令到執行指令最少需要多少時間最少需要多少時間?設時鐘頻率為設時鐘頻率為5MHz,該指令機器碼為該指令機器碼為4個個字節字節,存放在存放在1000H:2000H開始的

溫馨提示

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

評論

0/150

提交評論