微機原理及單片機接口技術課后題答案_1-6章__第1頁
微機原理及單片機接口技術課后題答案_1-6章__第2頁
微機原理及單片機接口技術課后題答案_1-6章__第3頁
微機原理及單片機接口技術課后題答案_1-6章__第4頁
微機原理及單片機接口技術課后題答案_1-6章__第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第1章概述一、填空題1 運算器、控制器2總線按其功能可分和 寄存器組集成在一塊芯片上,被稱作微處理器。數據總線、 地址總線和 控制總線三種不同類型的總線。3迄今為止電子計算機所共同遵循的工作原理是程序存儲和 程序控制的工作原理。這種原理又稱為馮 ·諾依曼型原理。4寫出下列原碼機器數的真值;若分別作為反碼和補碼時,其表示的真值又分別是多少?(1) ( 0110 1110) 二進制原碼 ( 110 1110) 二進制真值 ( 110) 十進制真值( 0110 1110) 二進制反碼 ( 110 1110) 二進制真值 ( 110) 十進制真值(0110 1110) 二進制補碼 ( 110

2、 1110) 二進制真值 ( 110) 十進制真值(2) ( 1011 0101) 二進制原碼 ( 011 0101) 二進制真值 ( 53) 十進制真值( 1011 0101) 二進制反碼 ( 100 1010 )二進制真值 ( 74) 十進制真值( 1011 0101) 二進制補碼 ( 100 1011) 二進制真值 ( 75) 十進制真值5寫出下列二進制數的原碼、反碼和補碼(設字長為8 位)。(1) ( 101 0110)二進制真值 (0101 0110) 原碼 (0101 0110) 反碼 (0101 0110) 補碼(2) ( 101 0110)二進制真值 (1101 0110)原碼

3、 (1010 1001) 反碼 (1010 1010) 補碼6. X 補=78H ,則 -X 補=( 88)H 。7已知 X1= +0010100 , Y1= +0100001 , X2= 0010100, Y2=0100001,試計算下列各式(設字長為8 位)。(1)X 1Y 1補 = X 1 補 Y 1補 = 0001 0100 0010 0001 = 0011 0101(2)X 1Y 2補 = X 1補 Y 2補 = 0001 0100 0010 0001 = 0011 0101(3)X 2Y 2補 = X 2補 Y 2補 = 1110 1100 0010 0001 = 0000 110

4、1(4)X 2Y 2補 = X 2 補 Y 2補 = 1110 1100 1101 1111 = 1100 10118將下列十六進制數分別轉換成二進制、八進制、十進制和BCD 數。( 1) (5D.BA) 16=( 0101,1101.1011,1010 )2( 135.564) 8( 93. 7265625) 10=( 1001,0011.0111,0010,0110,0101,0110,0010,0101 ) BCD( 2) (1001.0101,1) 2=( 9.34375) 10( 11.26) 8( 9.58) 16=( 1001.0011,0100,0011,0111,0101 )

5、 BCD9寫出下列字符的 ASCII 碼。(1)?9( 39H) ASCII 碼(2)?C( 43H) ASCII 碼(3)?$( 24H) ASCII 碼(4)?空格 ( 20H) ASCII 碼(5)?b( 62H) ASCII 碼(6)?回車 ( 0DH ) ASCII 碼(7)?換行 ( 0AH )ASCII 碼(8)?報警符 ( 07H) ASCII 碼二、選擇題1下列無符號數中最小的數是(A )。A (01A5) HB (1,1011,0101) BC (2590) DD (3764) O2下列有符號數中最大的數是(D )。A 1002HB 1001 0011 0010 1100B

6、C 2570OD 9614D3在機器數(A )中,零的表示形式是唯一的。A 補碼B原碼C補碼和反碼D原碼和反碼4 8位二進制數補碼的數值表示范圍為(A )。A.128 127B 127 127C. 129 128D 128 1285若下列字符碼( ASCII )中有奇偶校驗位,但沒有數據錯誤,采用偶校驗的字符碼是( D)。A 11001011 B 11010110 C 11000001 D 11001001 6 B9H 可以看成( ABD )。A 無符號數 185B 帶符號數 71的補碼C十進制數 99的組合 BCD 碼D 帶符號數 57的原碼三、簡答題1簡述微處理器、微計算機及微計算機系統三

7、個術語的內涵。答:微處理器是微計算機系統的核心硬件部件,它本身具有運算能力和控制功能,對系統的性能起決定性的影響。微處理器一般也稱為CPU;微計算機是由微處理器、存儲器、 I/O 接口電路及系統總線組成的裸機系統。微計算機系統是在微計算機的基礎上配上相應的外部設備和各種軟件,形成一個完整的、獨立的信息處理系統。三者之間是有很大不同的,微處理器是微型計算機的組成部分,而微型計算機又是微型計算機系統的組成部分。2什么叫總線?為什么各種微型計算機系統中普遍采用總線結構?答:總線是模塊與模塊之間傳送信息的一組公用信號線。總線標準的建立使得各種符合標準的模塊可以很方便地掛在總線上,使系統擴展和升級變得高

8、效、簡單、易行。因此微型計算機系統中普遍采用總線結構。3微型計算機系統總線從功能上分為哪三類?它們各自的功能是什么?答:微型計算機系統總線從功能上分為地址總線、數據總線和控制總線三類。地址總線用于指出數據的來源或去向,單向;數據總線提供了模塊間數據傳輸的路徑,雙向;控制總線用來傳送各種控制信號或狀態信息以便更好協調各功能部件的工作。2第 2 章 微處理器及其結構一、填空題18086/8088 CPU 執行指令中所需操作數地址由EU 計算出 16 位偏移量部分送 BIU ,由 BIU 最后形成一個20 位的內存單元物理地址。28086/8088 CPU 在總線周期的 T 1時刻,用 A 19/S

9、6A 16/S3 輸出20 位地址信息的最高 4 位,而在其他時鐘周期,則輸出狀態 信息。3 8086/8088 CPU 復位后,從0FFFF0H單元開始讀取指令字節,一般這個單元在 ROM 區中,在其中設置一條跳轉 指令,使 CPU對系統進行初始化。48086系統的存儲體系結構中, 1MB 存儲體分 2個庫,每個庫的容量都是 512K字節,其中和數據總線 D15 D 8相連的庫全部由奇地址 單元組成,稱為高位字節庫,并用 BHE 作為此庫的選通信號。58086/8088系統中,可以有 64K個段起始地址,任意相鄰的兩個段起始地址相距 16 個存儲單元。6用段基值及偏移量來指明內存單元地址的方

10、式稱為邏輯地址 。7通常 8086/8088 CPU 中當 EU 執行一條占用很多時鐘周期的指令時,或者在多處理器系統中在交換總線控制時會出現空閑 狀態。8 8086 CPU 使用16 根地址線訪問 I/O 端口,最多可訪問64K個字節端口,使用 20 根地址線訪問存儲單元,最多可訪問1M 個字節單元。9CPU取一條指令并執行該指令的時間稱為指令 周期,它通常包含若干個總線 周期,而后者又包含有若干個時鐘 周期。10設內存中一個數據區的起始地址是1020H:0A1CBH ,在存入 5個字數據后,該數據區的下一個可以使用的單元的物理地址是1020H :0A1D5H或 1A3D5H 。11 808

11、6系統中,默認方式下對指令尋址由寄存器CS和IP完成,而堆棧段中的偏移量可由寄存器SP 或 BP 來指示。128086的中斷向量表位于內存的00000H003FFH 區域,它可以容納 256個中斷向量,每個向量占4 個字節。138086CPU中典型總線周期由 4個時鐘周期組成, 其中 T1期間, CPU 輸出 地址 信息;如有必要,可以在T 3和T 4 兩個時鐘周期之間插入1個或多個 TW 等待周期二、單項選擇題1某微機最大可尋址的內存空間為16MB ,其 CPU的地址總線至少應有( E)條。A 26B28C20D22E 242 8086/8088 CPU 的 RESET引腳至少應維持(A )

12、個時鐘周期的正脈沖寬度才能有效復位。A4B.5C2D33當 RESET 信號進入高電平狀態時,將使 8086/8088 CPU 的( D )寄存器初始化為 0FFFFH。3ASSB DSC ESD CS48086/8088 CPU與慢速存儲器或 I/O接口之間進行數據傳輸,為了使傳送速度匹配,有時需要在(C)狀態之間插入若干等待周期TW 。AT1 和T2B T2 和T3CT3 和T4D隨機5 8086/8088 CPU 中標志寄存器的主要作用是(D )。A 檢查當前指令的錯誤B糾正當前指令執行的結果與錯誤C決定是否停機D產生影響或控制某些后續指令所需的標志68086最小模式下的存儲器讀周期中地

13、址鎖存發生在總線周期的( A)時刻。AT1B T2C T3D T47指令指針 IP的作用是( A )。A 保存將要執行的下一條指令的地址B 保存 CPU 要訪問的內存單元地址C保存運算器運算結果內容D 保存正在執行的一條指令8 8086CPU 有兩種工作模式,最小模式的特點是(A )。A CPU提供全部控制信號B 由編程進行模式設定C不需要 8282收發器D需要總線控制器 8288三、簡答題1 8086/8088 CPU 分為哪兩個部分?如何協調工作?答: EU 是執行部件,主要的功能是執行指令和形成有效地址。BIU 是總線接口部件,與片外存儲器及I/O 接口電路傳輸數據,主要功能是形成實際地

14、址、預取指令和存取操作數。EU 經過 BIU 進行片外操作數的訪問,BIU 為 EU 提供將要執行的指令。 EU 與 BIU 可分別獨立工作,當EU 不需 BIU 提供服務時, BIU 可進行填充指令隊列的操作。2 8086/8088 CPU 的地址總線有多少位?其尋址范圍是多少?答: 8086/8088 CPU 的地址總線共20 位,最大可尋址1MB 空間。3 8086/8088 CPU 使用的存儲器為什么要分段?怎么分段?答: 8086/8088為 16位CPU,其內部的 ALU 、相關的地址寄存器(如SP、 IP以及BX 、BP、SI、DI )等都是 16位的,因而對存儲器地址的處理也只

15、能是16位操作,即8086/8088的直接尋址能力在64KB 范圍內。而實際上8086/8088 有20條地址線,它的最大尋址空間為1MB 。這就產生了一個矛盾,即如何用16位的地址寄存器去表示一個 20位的存儲器物理地址?實際使用的解決辦法是:將1MB 大小的存儲空間分為若干段 ,每段不超過64KB 。這樣,一個 20位的物理地址就可以用 16位段基址: 16位偏移量 的形式(稱為邏輯地址)來表示了,其中段地址存放在8086/8088的段寄存器中。448086/8088 CPU 中有幾個通用寄存器?有幾個變址寄存器?有幾個指針寄存器?通常哪幾個寄存器亦可作為地址寄存器使用?答: 8086/8

16、088 CPU 中共有:8個 16位的通用寄存器AX 、 BX 、CX 、 DX、BP、 SP、 SI、DI ;2個變址寄存器SI、 DI ;2個指針寄存器BP、 SP;其中 BX 、 BP、 SI、DI亦可作地址寄存器。5 Intel 8086 與 8088有何區別?答: 8086與8088 的區別主要表現在以下幾個方面:第一、 8086的指令隊列可以容納 6個字節,每個總線周期在存儲器中取出 2個字節指令代碼填入隊列。而 8088只能容納 4個字節,且每個總線周期只能取出 1個字節指令代碼。第二、 8086外部數據總線寬度為16位, 8088外部數據總線寬度只有8位。注意:8086 和80

17、88外部數據總線的寬度不同將導致擴展主存儲器及輸入/ 輸出接口時系統地址線和數據線連接方式的不同。第三、其他不同的引腳定義:(1)AD15AD ,在 8086中為地址 /數據復用,而0在 8088中 AD AD8改為 AA只作地址線用;(2) 34、 28號引腳定義不同。1515868086/8088CPU 工作在最小模式時:當CPU 訪問存儲器時, 要利用哪些信號?當 CPU訪問外設接口時,要利用哪些信號?答:8086/8088 CPU 工作在最小模式時, 若訪問存儲器, 需用到以下信號: M / IO 、 ALE 、 DT / R 、 DEN 、 READY 、 BHE、 WR、 RD、

18、AD 0 AD 15、 A 19/S6 A 16/S3。若訪問外設,需用到以下信號: M / IO 、ALE 、 DT / R 、DEN 、READY 、WR、 RD、AD 0 AD 15。7試指出下列運算后的各個狀態標志,并說明進位標志和溢出標志的區別:( 1) 1278H 3469H答: CF=0 AF=1 ZF=0 SF=0 OF=0 PF=1( 2) 54E3H 27A0H答: CF=0 AF=0 ZF=0 SF=0 OF=0 PF=0( 3) 3881H 3597H答: CF=0 AF=0 ZF=0 SF=0 OF=0 PF=1( 4) 01E3H 01E3H答: CF=0 AF=0

19、 ZF=1 SF=0 OF=0 PF=15其中,進位標志CF 用于判別無符號數運算是否超出數的表示范圍,而溢出標志 OF 用于判別帶符號數運算是否超出數的表示范圍。奇偶標志 PF 只能判斷結果低8 位中 1的個數為奇數還是偶數。8什么是邏輯地址?什么是物理地址?它們之間有什么聯系?各用在何處?答:邏輯地址由兩個16 位的部分即段基址和偏移量組成,一般在程序中出現的地址都表示為邏輯地址形式;物理地址是一個20 位的地址, 它是唯一能代表存儲空間每個字節單元的地址,一般只出現在地址總線上。由于 8086/8088CPU中的寄存器只有16 位長,所以程序不能直接存放20 位的物理地址,而必須借助邏輯

20、地址,即用兩個16 位的寄存器來表示物理地址。他們之間的關系是:物理地址段基址 *16 偏移量;另外,一個物理地址可對應多個邏輯地址。9設現行數據段位于存儲器0B0000H 0BFFFFH單元, DS 段寄存器內容為多少?答:DS 段寄存器內容為0B000H 。10給定一個存放數據的內存單元的偏移地址是20C0H,( DS)=0C0E0H ,求出該內存單元的物理地址。答:物理地址:0C2EC0H 。11 8086/8088 為什么采用地址/數據引線復用技術?答:考慮到芯片成本和體積,8086/8088 采用 40 條引線的封裝結構。40 條引線引出 8086/8088 的所有信號是不夠用的,采

21、用地址/數據線復用引線方法可以解決這一矛盾,從邏輯角度,地址與數據信號不會同時出現,二者可以分時復用同一組引線。12怎樣確定8086 的最大或最小工作模式?答:引線MNMX 的邏輯狀態決定8086 的工作模式,MNMX 引線接高電平,8086 被設定為最小模式,MNMX 引線接低電平,8086 被設定為最大模式。13 8086 基本總線周期是如何組成的?答:基本總線周期由4 個時鐘 (CLK) 周期組成, 按時間順序定義為T1、T2、T3、T4 。14在基于 8086 的微計算機系統中, 存儲器是如何組織的?存儲器是如何與處理器總線連接的? BHE 信號起什么作用?6答:8086 為 16 位

22、微處理器, 可訪問 1M 字節的存儲器空間;1M 字節的存儲器分為兩個512K 字節的存儲體,分別命名為偶存儲體和奇存儲體;偶體的數據線連接 D7D0 ,體選 信號接地址線A0 ;奇體的數據線連接D15D8 ,體選 信號接 BHE信號; A0 信號有效時允許訪問偶體中的低字節存儲單元,BHE 信號有效時允許訪問奇體中的高字節存儲單元,實現8086 的低字節訪問、高字節訪問及字訪問。15有一個由 20 個字組成的數據區,其起始地址為 610AH:1CE7H 。試寫出該數據區首末單元的實際地址 PA。首單元地址: 610A0H+1CE7H=62D87H末單元地址: 62D87H 27H=62DAE

23、H16有兩個16 位的字31DAH 、 5E7FH,它們在8086 系統存儲器中的地址為00130H 和 00135H,試畫出它們的存儲器示意圖。地址內容00130H0DAH00131H31H00132H00133H00134H00135H7F00136H5E17試說明8086CPU 的控制引腳ALE 的作用。答: 8086 的低位地址線與數據線復用,為保證地址線維持足夠的時間,需使用ALE 信號將低位地址線通過鎖存器保存,以形成系統地址總線。7第 3 章 8086/8088CPU 指令系統一、判斷題1 MOVAX , BP的源操作數物理地址為16×( DS)+( BP )。 ( &

24、#215;)2 OUTDX ,AL 指令的輸出是16 位操作數。( ×)3不能用立即數給段寄存器賦值。( )4所有傳送指令都不影響FLAG 寄存器的標志位。( ×)5堆棧指令的操作數均為字。( )6段內轉移指令執行結果要改變IP、 CS 的值。( ×)二、單項選擇題1寄存器間接尋址方式中,操作數在(C)中。A. 通用寄存器B. I/O 端口C. 存儲單元D. 段寄存器2( A )尋址方式的跨段前綴不可省略。A. DS :BP B. DS :SIC. DS: DI D. SS: BP3假設( SS) =2000H ,( SP)=0012H ,( AX )=1234H

25、 ,執行 PUSH AX后,( SP) =( C)。A. 0014HB. 0011HC. 0010HD. 000FH4用 BP 作基址變址尋址時,操作數所在的段是當前(C)。A. 數據段B. 代碼段C. 堆棧段D. 附加段5已知( IP) =1000H , CF=0 ,則執行指令JNCShort label 后,下列各數中哪一個是可能的IP 值?( B)( A ) 0FFFFH( B ) 0FFEH( C) 10FEH( D ) 1100H6執行下列指令后, ( AX )=( A )。MOVAX , 1234HMOVCL ,4ROLAX ,CL; 2341HDECAX; 2340HMOVCX

26、,4MULCXHLTA. 8D00HB. 9260HC. 8CA0HD. 0123H7設(AL )= - 68,(BL )= 86,執行 SUB AL ,BL指令后,正確的結果是 ( C)。A. CF =1B. SF =1C. OF =1D. ZF =18已知( SI) 0004H ,(DS) 8000H ,( 80004H) =02H, ( 80005H) =C3H 。指令 LEAAX , SI 執行后( AX )( C )。A. 0002HB. 0005HC. 0004HD. C302H9條件轉移指令JNE 的條件是(C)。8A. CF 0B. CF1C. ZF0D. ZF 110在 80

27、86 中,(BX ) 0282H ,且題中指令已在指令隊列中,則執行INC BYTE PTR ( BX )指令需要的總線周期為(C )。A.0B.1C.2D.3三、多項選擇題1下列指令中源操作數使用寄存器尋址方式的有(BF )。A. MOVBX , BUF SIB. ADD SI+50, BXC. SUBAX,2D. CMPAX ,DISPDIE. MULVAR BX F. PUSHCX2將累加器 AX 的內容清零的正確指令是(BCD )。A. CMPAX ,AXB. SUBAX ,AXC. ANDAX ,0D. XOR AX , AX3正確將字變量WORDVARR 偏移地址送寄存器AX的指令

28、是( CD )。A. MOVAX , WORDVARRB. LESAX , WORDVARRC. LEAAX , WORDVARRD. MOVAX , OFFSETWORD VARR4調用 CALL 指令可有( ABDE )。A. 段內直接B. 段內間接C. 短距離( SHORT)D. 段間直接E. 段間間接5 8086 指令的操作數可能有(ABC )。A. 0B.1C.2D. 3四、填空題1與指令 MOV BX ,OFFSET BUF 功能相同的指令是LEABX ,BUF 。2假設( BX )= 0449H ,( BP)= 0200H ,(SI )= 0046H ,( SS)= 2F00H

29、,( 2F246H )= 7230H 則執行 XCHGBX , BP+SI 指令后,( BX )= 7230H。3執行下列指令序列后,完成的功能是將(DX , AX )的值除以 16。MOVCX,4NEXT : SHRDX ,1RCRAX ,1LOOPNEXT4已知( AL ) 0101 1101B,執行指令 NEG AL 后,再執行 CBW 后,(AX )0FFA3H。5在數據傳送類指令中, 只有 SAHF 和 POPF 兩條指令會影響標志位的值,其中指令 POPF 是唯一可以改變 TF 標志的指令。6設有 100 個字節數據(補碼) ,存放在數據段中EA 2000H 的存儲單元中。以下程序

30、應該從該數據區中找出最小的一個數據,并存入 EA 2100H 單元中, 請將下面程序補充完整。9MIN : MOVBX , 2000HMOVAL ,BX MOVCX, 99LOOP1 : INCBXCMPAL ,BX JLELOOP2MOVAL ,BX LOOP2 : DECCXJNZLOOP1MOV 2100H ,AL7 MOV AX , ES: BX SI中,源操作數的物理地址計算式是:( ES)× 16( BX )( SI)。五、綜合題1請指出以下各指令的源、目的操作數所使用的尋址方式。( 1) MOVSI , 2100H( 2) SBBDISPBX, 7( 3) ANDDI

31、, AX( 4) ORAX , 609EH( 5) MOVBX DI 30H , CX( 6) PUSHES: BP( 7) CALLDISP DI答:( 1)源操作數:立即數尋址;目的操作數:寄存器尋址( 2)源操作數:立即數尋址;目的操作數:(帶位移量的)基址尋址( 3)源操作數:寄存器尋址;目的操作數:變址尋址( 4)源操作數:直接尋址;目的操作數:寄存器尋址( 5)源操作數:寄存器尋址;目的操作數:(帶位移量的)基址變址尋址( 6)源操作數:帶段超越的基址尋址;目的操作數:隱含尋址( 7)只有一個操作數,為(帶位移量的)變址尋址2請指出下列各條指令的錯誤,并改正。( 1)MOV100

32、, 23H( 2)ADDAX , BX BP 6( 3) PUSHDL( 4)INAX , 3FH( 5)OUT3FFH , AL( 6)POPAX10( 7)IMUL4CH( 8)SHLBX ,( 9)INT300( 10)XCHGDX , 0FFFH( 11)MOVAH ,BX( 12)MOVBX , ES: AX( 13)MOVAX , OFFSET SI( 14) MOVCS, AX( 15)MOVDS , ES( 16)MOVDS , 1000H答:( 1)該指令在語法上是對的,即可以把一個立即數送入一個存儲單元;但是如果考慮實際編譯,則第一操作數前應加上BYTEPTR 或 WORD

33、PTR 說明,否則匯編程序會因不能確定操作數長度而指示出錯。可改為:MOVBYTE PTR 100 ,23H( 2)不能同時使用兩個基址寄存器BX 、 BP 進行間接尋址,可改為:ADDAX ,BX DI6( 3)堆棧操作應以字為單位進行,而DL 是一個字節。可改為: PUSHDX( 4)在輸入 /輸出指令中,8 位端口地址應直接寫在操作數處。可改為:INAX , 3FH( 5)端口地址3FFH 已超出8 位二進制表示范圍,16 位端口地址應存于DX 。可改為:MOVDX , 3FFHOUTDX , AL( 6) AX不能用于間接尋址,間接尋址只能用BX 、 BP 、 SI 、 DI 四個寄存

34、器之一。可改為:POPBX( 7)立即數不能做乘法指令的操作數,可改為:MOVBL , 4CHIMULBL( 8)當邏輯移位的次數大于1 時,應該用CL 指示次數。可改為:MOVCL, 5SHLBX ,CL( 9)操作數 300 255 ,已超出有效的中斷類型碼范圍。( 10) XCHG 指令不允許立即數做它的操作數。可改為:MOVCX , 0FFFHXCHGDX ,CX( 11)源、目的字長不一致11( 12)在 8086 尋址方式中,AX 不能作為基址寄存器使用,而且源、目的不能同時為存貯器尋址方式( 13) OFFSET 只用于簡單變量,應去掉( 14) CS 不能作為目的寄存器( 15

35、)段寄存器之間不能直接傳送數據( 16)不允許直接向段寄存器送立即數,可改為:MOVAX , 1000HMOVDS, AX3設若標志寄存器原值為 0A11H ,( SP)=0060H ,( AL ) =4 。下列幾條指令執行后,標志寄存器、 AX 、 SP的值分別是多少?PUSHFLAHF;( Flag)低字節AHXCHGAH ,ALPUSHAXSAHFPOPF答:指令執行后標志寄存器的值為0411H , AX=0411H, SP=005EH。4假如在程序的括號中分別填入指令:(1) LOOP L20(2) LOOPNE L20(3) LOOPE L20試說明在三種情況下 , 當程序執行完后

36、, AX 、 BX 、CX 、 DX 四個寄存器的內容分別是什么 ?BEGIN:MOVAX,01MOVBX,02MOVDX,03MOVCX,04L20:INCAXADDBX,AXSHRDX,1()答案:(1)( AX )= 5(BX )= 16(CX)= 0(DX )= 0(2)( AX )= 3(BX )= 7(CX)= 2(DX )= 0(3)( AX )= 2(BX )= 4(CX)= 3(DX )= 15在已學的指令中,可實現累加器清0 的單條指令有哪些?比較它們的功12能。答:( 1) MOVAX,0;僅將累加器清0,不會影響任何標志位( 2) SUBAX ,AX;累加器清 0的同時

37、影響所有狀態標志,具體地有: ZF、 PF 置 1, CF、 AF 、SF、 OF 均清 0( 3) ANDAX ,0;將累加器清0,ZF 、PF 置 1,CF、OF 、SF 清 0( 4) XORAX ,AX;將累加器清0,ZF 、PF 置 1,CF、OF 、SF 清 06已知( DS )=2000H ,有關的內存單元值為:(21000H)=00H,(21001H)=12H,(21200H)=00H ,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H,(23401H)=30H, (23600H)=60H, (23601H)=30H,符號

38、COUNT 的偏移地址為1200H 。執行下列指令后,寄存器AX 、 BX 、 SI 的值分別是多少?MOVBX , OFFSET COUNTMOVSI , BXMOVAX , COUNTSIBX答:執行結果為(BX ) =1200H ,( SI ) =1000H ,( AX ) =3040H 。7設若內存單元DATA 在數據段中偏移量為24C0H 處, 24C0H24C3H單元中依次存放著55H 、66H 、77H 、88H 。下列幾條指令執行后,寄存器AX 、BX 、CL 、 SI 、 DS 的值分別是多少?MOVAX , DATALEASI , DATAMOVCL , SILDSBX ,

39、 DATA答:執行結果為 ( AX )=6655H ,( BX )=6655H ,( CL )=55H ,( SI )=24C0H ,( DS ) =8877H 。8若( AX ) =26D3H ,( CX ) =7908H , CF=1 ,執行下列指令后,寄存器 AX 、 CX 的值分別是多少? CF= ? OF=?SALCH,1RCRAX ,CLROLAL ,1答:執行結果為(AX ) =0A64CH ,( CX ) =0F208H , CF=OF=0 。9下面的程序執行后,DX 、 AX 的值分別是多少?;以 X 為首址的字單元中的數據依次為1234H 、 5678H;以 Y 為首址的字

40、單元中的數據依次為8765H 、 4321H13LEASI, XLEADI,YMOVDX ,SI 2MOVAX ,XADDAX ,XADCDX ,SI 2CMPDX ,DI 2JLL2CMPAX ,YJLL1JMPEXITL1 :MOVAX ,1JMPEXITL2 :MOVAX ,2EXIT : 答:執行結果為(AX ) =2,( DX ) =0ACF0H 。10設VAR 字單元的值為x, F1 字單元的值為y,試編程按以下要求給y賦值:2x>30y =030 x1 2x<1答:一種可能的程序段實現如下:MOVAX , VAR; AXxCMPAX,30JGPLUS2; x>3

41、0 ,則轉PLUS2CMPAX,1JLMIN2; x<1 ,則轉MIN2MOVF1, 0; 30 x1,y=0JMP GOPLUS2 : MOVF1, 2; y=2JMPGOMIN2 :MOVF1,-2 ; y = -2 或 00FEHGO: ;后續處理簡析:本例中并未說明VAR 字節單元是帶符號數還是無符號數,讀者在使用判斷轉移指令時可任意選用。若當作帶符號數,應使用JG、 JL、JGE、 JLE 等指令,如參考程序;若當作無符號數,則應使用JA、 JB 、 JAE 、 JBE 等指令。14第 4 章 匯編語言程序設計一、填空題1段定義偽指令語句用SEGMENT語句表示開始,以ENDS

42、 語句表示結束。2 ARRAYDW10 DUP ( 5 DUP(4 DUP(20H, 40H, 60H)語句執行后共占1200 字節存儲單元。3匯編語句中,一個過程有 NEAR 和 FAR 兩種屬性。 NEAR 屬性表示主程序和子程序 在同一個代碼段中 ,FAR 屬性表示主程序和子程序不在同一個代碼段中。4 DOS 系統功能號應放在AH寄存器中。5 子程序又稱過程,它可以由PROC 語句定義,由ENDP 語句結束,屬性可以是NEAR或 FAR 。6假設 VAR 為數據段中已定義的變量,則指令MOVBX , OFFSET VAR 中源操作數的尋址方式是立即數尋址。二、選擇題1 EXE 文件產生在

43、( D)之后。A. 匯編B. 編輯C. 用軟件轉換D. 連接2變量定義的偽指令助記符有(ABCEF )。A. DBB. DWC. DDD. DFE. DQF. DT3主程序與子程序之間傳遞參數可通過(ABC )進行。A. 堆棧B. 存儲器單元C. 通用寄存器D. 指令隊列E. 其他4計算機系統軟件中的匯編程序是一種(C)。A. 匯編語言程序B. 編輯程序C. 翻譯程序D. 將高級語言轉換成匯編程序的程序5若主程序段中數據段名為DATA ,對數據段的初始化操作應為(B)。A. MOVAX ,DA TAB. MOVAX , DATAMOVES, AXMOVDS, AXC. PUSHDSD. MOV

44、DS, DATA68086 宏匯編源程序中, 若 BUFF 是字變量名, 則執行指令 MOVBX ,BUFF后, BX 中的值為 BUFF 單元的( A )。A. 字數據值B. 變量類型值C. 段基址D. 段內偏移量三、綜合題1下列標號為什么是非法的?(1) GET.DATA(2) 1_NUM(3) TEST-DATA(4) RET15(5) NEWITEM答案:(1) 因為 ?. 允許是標號的第一個字符只(2) 第一個字符不能為數字(3) 不允許出現 ?-(4) 不能是保留字,如助記符(5) 不能有空格2已知數據和符號定義A1DB?A2DB8K1EQU100判斷下列指令的正誤,并說明錯誤指令

45、的原因。( 1) MOVK1, AX( 2) MOVA2, AH( 3) CMPA1, A2( 4) MOVBX ,K1MOVBX , DX( 5) K1 EQU200答:( 1)錯誤。 K1是符號,在此處相當于立即數100,故不能做目的操作數。( 2)正確。( 3)錯誤。 A1 、A2 都是字節變量,相當于兩個存儲器單元,故不能同時出現在一條指令中直接進行比較。( 4)正確。( 5)錯誤。用 EQU 定義的符號不能重新賦值,除非已用 PURGE 解除了原值。3若數據段中有定義NUM1EQU23HNUM2DW0則指令MOV NUM2 , NUM1的源、目操作數的尋址方式以及指令執行后NUM2 1 單元的內容分別是什么?答:指令 MOV NUM2 , NUM1 的源操作數使用立即數尋址,目的操作數使用直接尋址。指令執行后 NUM2 1 單元的內容是 0。4已知某數據段從物理地址03000H 處開始,定義如下:DSEG SEGMENTORG2000HA1DD2DUP ( 7, 1,?)A2DB10DUP (0,4,3

溫馨提示

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

評論

0/150

提交評論