微機原理(王忠民版--課后答案)
《微機原理(王忠民版--課后答案)》由會員分享,可在線閱讀,更多相關(guān)《微機原理(王忠民版--課后答案)(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
部分習題答案 第二章 計算機中的數(shù)值和編碼 1、 將十進制數(shù)轉(zhuǎn)換為二進制和十六進制 (1) 129.75=1000 0001.11B=81.CH (2) 218.8125=1101 1010.1101B=DA.DH (3) 15.625=1111.101B=F.AH (4) 47.15625=10 1111.0010 1B=2F.28 H 2、 將下列二進制數(shù)轉(zhuǎn)換為十進制和十六進制 (1) 111010 B=58 =3A H (2) 1011 1100.111B= 188.875= BC.E H (3) 0.1101 1B=0.84375 =0.D8H (4) 11110.01 B=30.25 =1E.4H 3、完成下列二進制數(shù)的加減法運算 (1) 1001.11+100.01=1110.00 (2) 1101010110.1001-01100001.0011=01110101.0110 (3) 00111101+10111011=11111000 (4) 01011101.0110-101101.1011=101111.1011 4、完成下列十六進制數(shù)的加減法運算 (1) 745CH+56DFH=D14B H (2) ABF.8H-EF6.AH=9C28.E H (3) 12AB.F7+3CD.05=1678 .FC H (4) 6F01H-EFD8H=7F29 H 5、計算下列表達式的值 (1) 128.8125+10110101.1011B+1F.2H=101010101.1010B (2) 287.68-10101010.11H+8E.EH=103.CEH (3) 18.9+1010.1101B+12.6H-1011.1001=36.525 6、選取字長n為8位和16位兩種情況,求下列十進制數(shù)的補碼。 (1) X=-33的補碼: 1101 1111, 1111111111011111 (2) Y=+33的補碼: 0010 0001, 0000 0000 0010 0001 (3) Z=-128的補碼:1000 0000, 1111 1111 1000 0000 (4) N=+127的補碼:0111 1111, 0000 0000 0111 1111 (5) A=-65的補碼: 1011 1111, 1111 1111 1011 1111 (6) B=+65的補碼: 0100 0001, 0000 0000 0100 0001 (7) C=-96的補碼: 1010 0000, 1111 1111 1010 0000 (8) D=+96的補碼: 0110 0000, 0000 0000 0110 0000 7、寫出下列用補碼表示的二進制數(shù)的真值 (1) [X]補=1000 0000 0000 0000 H X=-1000 0000 0000 0000 H=-32768 (2) [Y]補=0000 0001 0000 0001 H Y=+0000 0001 0000 0001 H=+257 (3) [Z]補=1111 1110 1010 0101 H Z=-0000 0001 0101 1011 H=-347 (4) [A]補=0000 0010 0101 0111 H A=+0000 0010 0101 0111 H=+599 8、設(shè)機器字長為8位,最高位為符號位,試對下列格式進行二進制補碼運算,并判斷結(jié)果是否溢出。 (1) 43+8 ∵ [43]補=00101011B,[8]補=00001000B ∴ [43]補+[8]補=00101011B+00001000B=00110011B=33H 00101011B + 00001000B 00110011B ∵ CS=0,CD=0,OF=CS⊕CD=0⊕0=0 ∴ 無溢出 (1) 43+8 33H (無溢出) (2) -52+7 D3 H (無溢出) (3) 60+90 96 H (溢出) (4) 72-8 40 H (無溢出) (5) -33+(-37) 0BA H (無溢出) (6) -90+(-70) 60 H (溢出) (7) ―9―(―7) FE H (無溢出) (8) 60-90 E2 H (無溢出) 9、 設(shè)有變量x=11101111B,y=11001001B,z=01110010B,v=01011010B,試計算x+y=?,x+z=?,y+z=?,z+v=?,請問:① 若為無符號數(shù),計算結(jié)果是否正確?② 若為帶符號補碼數(shù),計算結(jié)果是否溢出? x+y = 11101111B+11001001B=10111000B=1B8 H 1110 1111 B + 1100 1001B 1011 1000B ① 若為無符號數(shù) ② 若為帶符號補碼數(shù) ∵ CF=1 ∴ 不正確 ∵ CF=1,DF=1 OF=0 ∴ 不溢出 x+y = 0B8 H x+z = 61 H y+z = 3B H z+v = 0CC H ① 不正確 不正確 不正確 正確 ② 不溢出 不溢出 不溢出 溢出 第三章 80X86微處理器 1.簡述8086/8088CPU中BIU和EU的作用,并說明其并行工作過程。 答: (1) BIU的作用:計算20位的物理地址,并負責完成CPU與存儲器或I/O端口之間的數(shù)據(jù)傳送。 (2) EU的作用:執(zhí)行指令,并為BIU提供所需的有效地址。 (3) 并行工作過程:當EU從指令隊列中取出指令執(zhí)行時,BIU將從內(nèi)存中取出指令補充到指令隊列中。這樣就實現(xiàn)了取指和執(zhí)行指令的并行工作。 2.8086/8088CPU內(nèi)部有哪些寄存器?其主要作用是什么? 答:8086/8088CPU內(nèi)部共有14個寄存器,可分為4類:數(shù)據(jù)寄存器4個,地址寄存器4個,段寄存器4個和控制寄存器2個。其主要作用是: (1) 數(shù)據(jù)寄存器:一般用來存放數(shù)據(jù),但它們各自都有自己的特定用途。 AX(Accumulator)稱為累加器。用該寄存器存放運算結(jié)果可使指令簡化,提高指令的執(zhí)行速度。此外,所有的I/O指令都使用該寄存器與外設(shè)端口交換信息。 BX(Base)稱為基址寄存器。用來存放操作數(shù)在內(nèi)存中數(shù)據(jù)段內(nèi)的偏移地址, CX(Counter)稱為計數(shù)器。在設(shè)計循環(huán)程序時使用該寄存器存放循環(huán)次數(shù),可使程序指令簡化,有利于提高程序的運行速度。 DX(Data)稱為數(shù)據(jù)寄存器。在寄存器間接尋址的I/O指令中存放I/O端口地址;在做雙字長乘除法運算時,DX與AX一起存放一個雙字長操作數(shù),其中DX存放高16位數(shù)。 (2) 地址寄存器:一般用來存放段內(nèi)的偏移地址。 SP(Stack Pointer)稱為堆棧指針寄存器。在使用堆棧操作指令(PUSH或POP)對堆棧進行操作時,每執(zhí)行一次進?;虺鰲2僮?,系統(tǒng)會自動將SP的內(nèi)容減2或加2,以使其始終指向棧頂。 BP(Base Pointer)稱為基址寄存器。作為通用寄存器,它可以用來存放數(shù)據(jù),但更經(jīng)常更重要的用途是存放操作數(shù)在堆棧段內(nèi)的偏移地址。 SI(Source Index)稱為源變址寄存器。SI存放源串在數(shù)據(jù)段內(nèi)的偏移地址。 DI(Destination Index)稱為目的變址寄存器。DI存放目的串在附加數(shù)據(jù)段內(nèi)的偏移地址。 (3) 段寄存器:用于存放段地址 CS(Code Segment)稱為代碼段寄存器,用來存儲程序當前使用的代碼段的段地址。 CS的內(nèi)容左移4位再加上指令指針寄存器IP的內(nèi)容就是下一條要讀取的指令在存儲器中的物理地址。 DS(Data Segment)稱為數(shù)據(jù)段寄存器,用來存放程序當前使用的數(shù)據(jù)段的段地址。 DS的內(nèi)容左移4位再加上按指令中存儲器尋址方式給出的偏移地址即得到對數(shù)據(jù)段指定單元進行讀寫的物理地址。 SS(Stack Segment)稱為堆棧段寄存器,用來存放程序當前所使用的堆棧段的段地址。堆棧是存儲器中開辟的按“先進后出”原則組織的一個特殊存儲區(qū),主要用于調(diào)用子程序或執(zhí)行中斷服務程序時保護斷點和現(xiàn)場。 ES(Extra Segment)稱為附加數(shù)據(jù)段寄存器,用來存放程序當前使用的附加數(shù)據(jù)段的段地址。附加數(shù)據(jù)段用來存放字符串操作時的目的字符串。 (4) 控制寄存器 IP(Instmcdon Pointer)稱為指令指針寄存器,用來存放下一條要讀取的指令在代碼段內(nèi)的偏移地址。用戶程序不能直接訪問IP。 FLAGS稱為標志寄存器,它是一個16位的寄存器,但只用了其中9位,這9位包括(個狀態(tài)標志位和3個控制標志位。它用來反映算術(shù)運算和邏輯運算結(jié)果的一些特征,或用來控制CPU的某種操作。 3.8086/8088CPU中有哪些寄存器可用來指示操作數(shù)在存儲器中某段內(nèi)的偏移地址? 答:可用來指示段內(nèi)偏移地址的寄存器共有6個:IP、SP、BP、BX、SI、DI 4.8086/8088CPU中標志寄存器FLAGS有哪些標志位?它們的含義和作用如何? 答:標志寄存器中的標志共有9個,分為兩類:狀態(tài)標志6個和控制標志3個。其作用是: (1) 狀態(tài)標志:用來反映算術(shù)和邏輯運算結(jié)果的一些特征。 CF(Carry Flag)—進位標志位。當進行加減運算時,若最高位發(fā)生進位或借位,則CF為1,否則為0。該標志位通常用于判斷無符號數(shù)運算結(jié)果是否超出了計算機所能表示的無符號數(shù)的范圍。 PF(Parity Flag)—奇偶標志位。當指令執(zhí)行結(jié)果的低8位中含有偶數(shù)個1時,PF為1,否則為0。 AF(Auxiliary Flag)—輔助進位標志位。當執(zhí)行一條加法或減法運算指令時,若結(jié)果的低字節(jié)的低4位向高4位有進位或借位,則AF為1,否則為0。 ZF(Zero Flag)—零標志位。若當前的運算結(jié)果為0,則ZF為1,否則為00 SF(Sign Flag)—符號標志位。當運算結(jié)果的最高位為1時,SF=1,否則為00 OF(Overflow Flag)—溢出標志位。當運算結(jié)果超出了帶符號數(shù)所能表示的數(shù)值范圍,即溢出時,OF=1,否則為0。該標志位通常用來判斷帶符號數(shù)運算結(jié)果是否溢出o (2) 控制標志位:用來控制CPU的操作,由程序設(shè)置或清除。它們是: TF(TrapFlag)—跟蹤(陷阱)標志位。它是為測試程序的方便而設(shè)置的。若將TF置1,8086/8088CPU處于單步工作方式,否則,將正常執(zhí)行程序。 IP(Interrupt Flag)—中斷允許標志位。它是用來控制可屏蔽中斷的控制標志位。若用STI指令將IF置1,表示允許CPU接受外部從INTR引腳上發(fā)來的可屏蔽中斷請求信號;若用CLI指令將IP清0,則禁止CPU接受可屏蔽中斷請求信號。IF的狀態(tài)對非屏蔽中斷及內(nèi)部中斷沒有影響。 DF(DirectionFlag)—方向標志位。若用STD將DF置1,串操作按減地址方式進行,也就是說,從高地址開始,每操作一次地址自動遞減;若用CLD將DF清0,則串操作按增地址方式進行,即每操作一次地址自動遞增。 5.8086/8088CPU的地址總線有多少位?其尋址范圍是多少? 答:8086/8088地址總線有20根,尋址范圍1MB 6.什么叫指令隊列?8086/8088CPU中指令隊列有什么作用?其長度分別是多少? 答: (1) 指令隊列:采用“先進先出”原則,按順序存放預執(zhí)行指令的緩沖器稱為指令隊列。 (2) 指令隊列的作用:存放EU將要執(zhí)行的指令,使CPU的取指和執(zhí)行指令能并行工作。 (3) 指令隊列的長度:8086為6個字節(jié),8088為4個字節(jié)。 7.Intel8086與8088有何區(qū)別? 答:8086與8088的區(qū)別有三處: (1) 外部數(shù)據(jù)總線位數(shù)不同(即地址/數(shù)據(jù)分時復用引腳條數(shù)不同); 8086為16位:AD15~AD0 。 8088為 8位:AD7~AD0 。 (2) 內(nèi)部指令隊列緩沖器長度不同; 8086有6個字節(jié)。當指令隊列出現(xiàn)2個空字節(jié)時,BIU將取指補充。 8086有4個字節(jié)。當指令隊列出現(xiàn)1個空字節(jié)時,BIU將取指補充。 (3) 外部某些控制總線定義不同。 ① 8086的28號引腳定義為M/IO(S2),8088定義為IO/M(S2) ② 8086的34號引腳定義為BHE/S7,8088定義為SS0/(HIGH) 8.簡述8086 CPU使用地址鎖存信號ALE將地址A15~A0與數(shù)據(jù)D15~D0分開的工作原理。 答:在任何一個總線周期的T1狀態(tài),ALE均為高電平,以表示當前地址/數(shù)據(jù)復用線上的輸出的是地址信息,在ALE由高變低的下降沿時把地址裝入地址鎖存器,而在T2、T3和T4狀態(tài),ALE均為低電平,以表示當前地址/數(shù)據(jù)復用線上的輸出的是數(shù)據(jù)信息,此時通過數(shù)據(jù)收發(fā)器進行傳送。 9.什么是邏輯地址?什么是物理地址?若已知邏輯地址為BA00:A800,試求物理地址。 答: 邏輯地址:由段地址和偏移地址表示的存儲單元地址稱為邏輯地址。 物理地址:CPU對存儲器進行訪問時實際所使用的20位地址稱為物理地址。 若 邏輯地址為BA00H:A800H 則 物理地址=BA00H10H+A800H=C4800H 10.簡述堆棧指針寄存器SP的功能及堆棧的操作過程。 答: (1) SP的功能:指示進棧和出棧操作時的偏移地址。 (2) 堆棧的操作過程:進棧時,先將SP-2,再將數(shù)據(jù)壓入堆棧(即先移后入);出棧時,先將數(shù)據(jù)彈出堆棧,再將SP+2(即先出后移)。 第四章 80X86 指令系統(tǒng) 1、 指出源操作數(shù)的尋址方式 ⑴ MOV BX,2000H ;立即數(shù)尋址 ⑵ MOV BX,[2000H] ;直接尋址 ⑶ MOV BX,[SI] ;寄存器間接尋址 ⑷ MOV BX,[SI+2000H] ;寄存器相對尋址 ⑸ MOV [BX+SI],AL ;寄存器尋址 ⑹ ADD AX,[BX+DI+80] ;基址變址相對尋址 ⑺ MUL BL ;寄存器尋址 ⑻ JMP BX ;段內(nèi)間接尋址 ⑼ IN AL,DX ;端口間接尋址 ⑽ INC WORD PTR [BP+10H] ;寄存器相對尋址 ⑾ MOV CL,LENGTH VAR ;立即數(shù)尋址 ⑿ MOV BL,OFFSET VAR1 ;立即數(shù)尋址 2、 指出下列指令是否正確 (1) MOV DS,0100H ;錯誤。源操作數(shù)是立即數(shù)時,目的操作數(shù)不能時段寄存器 (2) MOV BP,AL ;錯誤。操作數(shù)類型不一致 (3) XCHG AH,AL ;正確。 (4) OUT 310H,AL ;錯誤。端口直接尋址的范圍應在0~FFH之間 (5) MOV BX,[BX] ;正確。 (6) MOV ES:[BX+DI] ,AX ;正確。 (7) MOV AX,[SI+DI] ;錯誤。存儲器尋址中有效地址不能由兩個變址寄存器組成 (8) MOV SS:[BX+SI+100H],BX ;正確。 (9) AND AX,BL ;錯誤。操作數(shù)類型不一致 (10) MOV DX,DS:[BP] ;正確。 (11) ADD [SI],20H ;錯誤。用PTR 說明類型 (12) MOV 30H,AL ;錯誤。目的操作數(shù)不能為立即數(shù) (13) PUSH 2000H ;錯誤。堆棧指令的操作數(shù)不能是立即數(shù) (14) MOV [SI],[2000H] ;錯誤。兩個操作數(shù)不能同時為存儲器操作數(shù) (15) MOV SI,AL ;錯誤。操作數(shù)類型不一致 (16) ADD [2000H],20H ;錯誤。用PTR 說明類型 (17) MOV CS,AX ;錯誤。目的操作數(shù)不能為代碼段寄存器 (18) INC [DI] ;錯誤。需用PTR說明類型 (19) OUT BX,AL ;錯誤。端口間接尋址的寄存器只能是DX寄存器 (20) SHL BX,3 ;錯誤。移位次數(shù)大于1時應該用CL寄存器 (21) XCHG CX,DS ;錯誤。交換指令中不能出現(xiàn)段寄存器 (22) POP AL ;錯誤。堆棧指令的操作數(shù)只能是字操作數(shù)(即16位操作數(shù)) 3、 寫出存儲器操作數(shù)物理地址的計算表達式 (1) MOV AL,[DI] ;(DS)10H+(DI) (2) MOV AX,[BX+SI] ;(DS)10H+(BX)+(SI) (3) MOV 5[BX+DI],AL ;(DS)10H+(BX)+(DI)+5 (4) ADD AL,ES:[BX] ;(ES)10H+(BX) (5) SUB AX,[1000H] ;(DS)10H+1000H (6) ADC AX,[BX+DI+2000H] ;(DS)10H+(BX)+(DI)+2000H (7) MOV CX,[BP+SI] ;(SS)10H+(BP)+(SI) (8) INC BYTE PTR [DI] ;(DS)10H+(DI) 4、 若(DS)=3000H,(BX)=2000H,(SI)=0100H,(ES)=4000H,計算下列存儲器操作數(shù)的物理地址。 (1) (DS)10H+(BX)=3000H10H+2000H=32000H (2) (DS)10H+(BX)+(SI)+1000H=3000H10H+2000H+0100H+1000H=33100 H (3) (DS)10H+(BX)+(SI)=3000H10H+2000H+0100H=32100 H (4) (ES)10H+(BX)=4000H10H+2000H=42000 H 5、若(CS)=E000H,說明代碼段可尋址物理存儲空間的范圍。 ∵ 最小物理地址為:(CS)10H+0000H=E0000H 最大物理地址為:(CS)10H+FFFFH=EFFFFH ∴ 代碼段可尋址物理存儲空間的范圍是:E0000H~EFFFFH 6、設(shè)(SP)=2000H,(AX)=3000H, (BX)=5000H,執(zhí)行下列程序段后,(SP)=?,(AX)=?, (BX)=? PUSH AX PUSH BX POP AX (SP)=1FFEH,(AX)=5000H, (BX)=5000H 7、試比較SUB AL,09H與CMP AL,09H這兩條指令的異同。若(AL)=08H,分別執(zhí)行上述兩條指令后,(AL)=?,CF=?,OF=0,ZF=? (1) 相同點:兩條指令都能完成(AL)-09H的功能,并且都影響六個狀態(tài)標志位; 不同點:SUB指令將運算結(jié)果回送到AL寄存器中,而CMP指令不回送。 (2) SUB AL,09H ;(AL)=FFH,CF=1,OF=0,ZF=0 CMP AL,09H ;(AL)=08H,CF=1,OF=0,ZF=0 8、分別執(zhí)行下列指令,試求AL的內(nèi)容及各狀態(tài)標志位的狀態(tài)。 (1) MOV AL,19H ; ADD AL,61H ;(AL)=7AH OF=0 SF=0 ZF=0 AF=0 PF=0 CF=0 (2) MOV AL,19H ; SUB AL,61H ;(AL)=B8H OF=0 SF=1 ZF=0 AF=0 PF=1 CF=1 (3) MOV AL,5DH ; ADD AL,0C6H ;(AL)=23H OF=0 SF=0 ZF=0 AF=1 PF=0 CF=1 (4) MOV AL,7EH ; SUB AL,95H ;(AL)=E9H OF=1 SF=1 ZF=0 AF=0 PF=0 CF=1 9、用最少的指令,實現(xiàn)下述要求的功能。 (1) AH的高4位清零。 AND AH,0FH (2) AL的高4位去反。 XOR AH, 0F0H (3) AL的高4位移到低4位,高4位清0。 MOV CL,4 SHR AL,CL (4) AL的低4位移到高4位,低4位清0。 MOV CL,4 SHL AL,CL 10、設(shè)(BX)=6D16H,(AX)=1100H,寫出下列三條指令執(zhí)行后,AX和BX寄存器中的內(nèi)容。 MOV CL,06H ROL AX,CL SHR BX,CL (AX)=4004 H (BX)=01B4 H 11、設(shè)初值(AX)=0119H,執(zhí)行下列程序段后,(AX)=? MOV CH,AH ADD AL,AH DAA XCHG AL,CH ADC AL,34H DAA MOV AH,AL MOV AL,CH (AX)=3520 H 12、指出下列程序段的功能。 (1) MOV CX,10 LEA SI,F(xiàn)irst LEA DI,Second REP MOVSB 將 First串中前10個字符傳送至Second 中 (2) CLD LEA DI,[0404H] MOV CX,0080H XOR AX,AX REP STOSW 將起始地址為0404 H開始的80 H個單元置成0 13、 設(shè)(BX)=6F30H,(BP)=0200H,(SI)=0046H,(SS)=2F00H,(2F246H)=4154H,試求執(zhí)行XCHG BX,[BP+SI]后, (BX)=?,(2F246H)=? (BX)=4154H (2F246H)=6F30H 14、設(shè)(BX)=0400H,(DI)=003CH,執(zhí)行LEA BX,[BX+DI+0F62H]后,(BX)=? (BX)=139E H 15、設(shè)(DS)=C000H,(C0010H)=0180H,(C0012H)=2000H,執(zhí)行LDS SI,[10H]后,(SI)=?, (DS)=? (SI)=0180 H,(DS)=2000 H 16、已知(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,試求單獨執(zhí)行下列指令后的結(jié)果。 (1) MOV CL,20H[BX][SI] ;(CL)=0F6 H (2) MOV [BP][DI],CX ;(1E4F6 H)=5678 H (3) LEA BX,20H[BX][SI] ;(BX)=0056 H MOV AX,2[BX] ;(AX)=1E40 H (4) LDS SI,[BP][DI] ; MOV [SI],BX ;((SI))=0024 H (5) XCHG CX,32H[BX] ; XCHG 20H[BX][SI],AX ;(AX)=5678 H ,(09226H)=1234 H 17、若CPU中各寄存器及RAM參數(shù)如圖所示,試求獨立執(zhí)行如下指令后,CPU及RAM相應寄存器及存儲單元的內(nèi)容是多少? CPU RAM 執(zhí)行前 執(zhí)行后 CS 3000H FFFFH CX 20506H 06H 不變 DS 2050H 0004H BX 20507H 00H 不變 SS 50A0H 1000H SP 20508H 87H 不變 ES 0FFFH 17C6H DX 20509H 15H 不變 IP 0000H 8094H AX 2050AH 37H 94H DI 000AH 1403H BP 2050BH C5H 不變 SI 0008H 1 CF 2050CH 2FH 不變 (1)MOV DX,[BX+2] ;(DX)=0006H,(BX)=0004H (2)PUSH CX ;(SP)=0FFEH (3)MOV CX,BX ;(CX)=0004H,(BX)=0004H (4)TEST AX,01 ;(AX)=8094H,(CF)=0 (5)MOV AL,[SI] ;(AL)=87H (6)ADC AL,[DI] ;(AL)=0CCH,(CF)=0 DAA ;(AL)=32H (7)INC SI ;(SI)=0009H (8)DEC DI ;(DI)=0009H (9)MOV [DI],AL ;((DI))=94H (10)XCHG AX,DX ;(AX)=17C6H,(DX)=8094H (11)XOR AH,BL ;(AH)=84H,(BL)=04H (12)JMP DX ;(IP)=17C6H 18、(DS)=2000H,(BX)=1256H,(SI)=528FH,偏移量=20A1H,(232F7H)=3280H,(264E5H)=2450H,試求執(zhí)行下述指令后的結(jié)果。 (1) JMP BX ;(IP)=1256 H (2) JMP TABLE[BX] ;(IP)=3280 H (3) JMP [BX][SI] ;(IP)=2450 H 19、設(shè)(IP)=3D8FH,(CS)=4050H,(SP)=0F17H,當執(zhí)行CALL 2000H:0094H后,試指出(IP)、(CS)、(SP)、((SP))、((SP)+1)、((SP)+2)和((SP)+3)的內(nèi)容。 CALL指令是5字節(jié)指令,下一條指令地址為4050H:3D94H 所以執(zhí)行后 (IP)=0094H,(CS)=2000H、(SP)=0F13H ((SP))=94H,((SP)+1)=00H,((SP)+2)=00H,((SP)+3)=20H 第五章 匯編語言程序設(shè)計 2.PLENTH的值為0022,它表示當前已分配單元空間; 3.L的值為6; 5.(AX)=000AH;(BL)=0AH;(CL)=01H; 10. MOV AX, 4A82H MOV DL,AH AND DL,0F0H MOV CL,4 SHR DL,CL PUSH AX AND AH,0FH MOV BH,AH AND AL,0F0H MOV BL,AL MOV CL,4 SHR BL,CL MOV CL,BH POP AX AND AL,0FH 11. data segment string1 db I am a student. string2 db I am a student . yes db match,0dh,0ah,$ no db no match,0dh,0ah,$ data ends code segment assume cs:code,ds:data,es:data start: push ds sub ax,ax push ax mov ax,data mov ds,ax mov es,ax lea si,string1 lea di,string2 mov cx,string2-string1 cld repe cmpsb jnz dispno mov ah,9 lea dx,yes int 21h jmp exit dispno: mov ah,9 lea dx,no int 21h exit: MOV AH,4CH INT 21H code ends 13. DATA SEGMENT M DB 11H,22H,33H,44H,64H,87H,34,29,67H,88H,0F6H DB 43H,0B7H,96H,0A3H,233,56H,23H,56H,89H C EQU 20 P DB 20 DUP(?) N DB 20 DUP(?) PLUS DB PLUS,0DH,0AH,$ MINUS DB MINUS,0DH,0AH,$ J DB 2 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,M LEA DI,P LEA BX,N MOV CX,C MOV DX,0 LOOP1: LODSB TEST AL,80H JNZ MINUS1 ;負數(shù)轉(zhuǎn)移 MOV [DI],AL INC DI INC DH ;存正數(shù)個數(shù) JMP AGAIN MINUS1: MOV [BX],AL INC BX INC DL ;存負數(shù)個數(shù) AGAIN: DEC CX JNZ LOOP1 MOV WORD PTR J,DX ;存結(jié)果 MOV DX,OFFSET MINUS MOV AH,9 INT 21H ;顯示提示信息 MOV BL,J MOV CH,2 ROTATE: MOV CL,4 ROL BL,CL MOV AL,BL AND AL,0FH ADD AL,30H CMP AL,3AH JL POR ADD AL,7 POR: MOV DL,AL MOV AH,2 INT 21H DEC CH JNZ ROTATE ;十六進制形式輸出負數(shù)個數(shù) MOV AH,2 MOV DL,0DH INT 21H MOV DL,0AH INT 21H MOV DX,OFFSET PLUS MOV AH,9 INT 21H MOV DH,J+1 MOV CH,2 ROTATE1: MOV CL,4 ROL DH,CL MOV AL,DH AND AL,0FH ADD AL,30H CMP AL,3AH JL POR1 ADD AL,7 POR1: MOV DL,AL MOV AH,2 INT 21H DEC CH JNZ ROTATE1 MOV AH,4CH INT 21H CODE ENDS END START 第六章 半導體存儲器 2、 (1) 64片 片內(nèi)尋址線 10根,片間尋址線 6根 (2) 128片 片內(nèi)尋址線 11根,片間尋址線 5根 (3) 16片 片內(nèi)尋址線 11根,片間尋址線 5根 (4) 2片 片內(nèi)尋址線 14根,片間尋址線 2根 3、10248的RAM芯片,地址線11根。數(shù)據(jù)線8根 6、已知:8位微機地址,總線16位,設(shè)計12KB存儲系統(tǒng),其中ROM 占用0000H開始的8KB,RAM占用2000H 開始的4KB,存儲芯片分別選用INTEL 2716和2114 分析如下:(1)ROM 2716 2K8芯片,需4片,做字擴展,片內(nèi)尋址線11根 RAM 2114 1K4芯片,需8片,做字位擴展,片內(nèi)尋址線10根 (2)地址范圍: A15 A14 A13 A12 A11 A10 ROM1:0000H~07FFH 0 0 0 0 0 0 ROM2:0800H~0FFFH 0 0 0 0 1 0 A15 A14 A13 A12 A11 A10 ROM3:1000H~17FFH 0 0 0 1 0 0 ROM4:1800H~1FFFH 0 0 0 1 1 0 RAM1、2:2000H~23FFH 0 0 1 0 0 0 RAM3、4:2400H~27FFH 0 0 1 0 0 1 RAM5、6:2800H~2BFFH 0 0 1 0 1 0 RAM7、8:2C00H~2FFFH 0 0 1 0 1 1 (3)A11、A12、A13 3:8譯碼器 譯碼輸入 (一級譯碼) ROM1 :Y0 ROM2 :Y1 ROM3 :Y2 ROM4 :Y3 RAM1、2 :Y4 與 A10 (二級譯碼) RAM3、4 :Y4 與 A10 RAM5、6 :Y5 與 A10 RAM7、8 :Y5 與 A10 (4)畫圖連接 略 9、8088組成的小型計算機系統(tǒng),32KB ROM,其地址范圍00000~07FFFH, RAM占用8KB,地址范圍:08000H~09FFFH。ROM選用 2764(8K8),RAM選用2114(1K4) 分析如下 (1) ROM 2764 8K8芯片,需4片,做字擴展,片內(nèi)尋址線13根 RAM 2114 1K4芯片,需16片,做字位擴展,片內(nèi)尋址線10根 (2) 地址范圍: A15 A14 A13 A12 A11 A10 ROM1 00000~01FFF H 0 0 0 (一級譯碼) ROM2 02000~03FFF H 0 0 1 ROM3 04000~05FFF H 0 1 0 ROM4 06000~07FFFH 0 1 1 RAM1(組)08000~083FFH 1 0 0 0 0 0 (二級譯碼) RAM2 08400~087FFH 1 0 0 0 0 1 RAM3 08800~08BFFH 1 0 0 0 1 0 RAM4 08C00~08FFFH 1 0 0 0 1 1 RAM5 09000~093FFH 1 0 0 1 0 0 RAM6 09400~09FFFH 1 0 0 1 0 1 RAM7 09800~09BFFH 1 0 0 1 1 0 RAM8 09C00~09FFFH 1 0 0 1 1 1 (3) ROM1 Y0 (1 # 譯碼器 A15 A14 A13 譯碼輸入) ROM2 Y1 ROM3 Y2 ROM4 Y3 RAM1 Y0 (2 # 譯碼器 A12 A11 A10譯碼輸入 1 # Y4做2#的控制信號) RAM2 Y1 RAM3 Y2 RAM4 Y3 RAM5 Y4 RAM6 Y5 RAM7 Y6 RAM8 Y7 (4) 需兩片3:8譯碼器 畫圖連接 略 第七章 輸入 / 輸出 與 中斷 15、01D8 H 16、接通打印機→ 檢查打印狀態(tài)→ 發(fā)送數(shù)據(jù) OR AL,01 H OUT 0F7H , AL IN AL ,0F6 H OUT 0F5H , AL 第八章 可編程接口芯片及應用 5、 初始化命令字 及 計數(shù)初值 CUNT0 36H或37H 1000 CUNT1 54H 或55H 100 7、 始化控制字 (1)99H (2) B6 H PC2及PC4 置位命令字 09 H 05 H- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 微機 原理 王忠民版 課后 答案
鏈接地址:http://kudomayuko.com/p-10889664.html