天天看點

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

本篇部落格整理彙編語言課上及課後練習題,如有錯誤歡迎指正。

目錄

第一周作業

某一次課上練習

第7周練習題

 設計題

第8周練習題

第七章作業

 ​編輯

 存儲器尋址練習題

 例子1:​編輯

例子2:

​編輯

 例子3:

 例子4:

8253晶片題

例子1:

 例子2

第一周作業

填空題:

  • 中央處理單元CPU由   運算器   、  控制器    、和    寄存器   三部分組成。
  • 在計算機中,通常運算器和   控制器    是核心部件,合稱為中央處理單元CPU。
  • 某CPU的字長為4,假設該CPU執行一次加法運算需要1ns,執行兩個double 類型的數(假設double類型的變量占8個位元組)相加時需要 16  ns。  
CPU的字長為4,代表字長為4位,需要1ns;8個位元組是64位,64/4=16ns。
  • 如果某CPU處理器的頻率為100Hz,則該CPU做一次運算需要的時間為____0.01 ___秒。
頻率是周期的倒數   1/100s
  • CPU晶片可以與它外部的兩類晶片進行互動資訊,這兩類晶片分别是    記憶體儲器晶片  、  I/O接口晶片    ;這些晶片之間通過  總線   互相連接配接。
  • 一條指令的執行包括三個步驟:  取指   、譯碼、  執行    。其中“取指”指的是把指令從       主存  中取到  CPU      中。
  • 8086CPU内部的AX是一個 16   位寄存器,可以進一步将其分為高8位寄存

器     AH    和低8位寄存器   AL     。

  • 十進制數65對應的8位二進制數是0100 0001B,十進制數19對應的8位二進制數是    00010011B    ,十進制數49對應的二進制數是    00110001B    。
  • 8位二進制數0010 0011B對應的十進制數是35,8位二進制數0101 0001B對應的十進制數是      81D  ,8位二進制數1000 0101B對應的十進制數是    133 D  。
  • 十進制數274D對應的十六進制數為___ 112H___;十六進制數3CH對應的十進制數為__60D_ ___。

某一次課上練習

由于沒有電子版隻有當時手拍圖檔

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

答案: D

解析:計算公式為(5*2+2)*10+3=123  DUP就是重複幾次

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

答案:C

解析:16=2^4 1M=2^20 故16M=2^24B

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

 答案:25000H          916H            0A3800H (如果16進制中遇到字母開頭需要加上前導0)

計算方法通通為段基址左移一個然後加上偏移量    

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

 答案:CF=1   OF=0   ZF=0   SF=0

計算過程:1101 1000 1000 0100

                  0100 1001 1000 1000

                ———————————

                10010 0010 0000 1100   (220CH)

CF是進位标志 0-無進位 1-有進位(僅對無符号整數)

OF是溢出标志 1-有溢出  0-無溢出(判斷方法1:都看成帶符号的數 eg;一個負數加一個正數不可能溢出 判斷方法2:觀察最高位和次高位的進位是否都有進位 如果是則有溢出)

SF符号标志   1-最高位為1  0-最高位為0(注意SF是最高位不是進位 ;兩個位要區分開)

ZF零标志       1-結果為0      0-其他值

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

答案:存儲器尋址   寄存器尋址   立即數尋址 

判斷方法很簡單 這裡不再贅述

第7周練習題

  • 某微機具有256M位元組的記憶體空間,其CPU的位址總線應有(  D )條。

A、20        B、22         C、24         D、28

解析:1M=2^20  256=2^8  =>256M=2^28 B  

考察知識點:CPU位址總線根數與記憶體空間的關系

位址總線含有x根,那麼CPU可以通路2^x個記憶體單元

  • 指令mov al,[3]中,源操作數的尋址方式是(A  )。

A、存儲器尋址     B、寄存器尋址    C、立即數尋址     D、接口尋址

考察資料三種尋址方式:區分 立即數尋址 eg:mov ax,332h、寄存器尋址 eg:mov ax,bx、存儲器尋址 eg:mov ax,[5] (标志:帶有方括号)
  • 若要檢查AX寄存器中的D12位是否為1,但不改變其中的值,應該用( A )指令。

A、TEST AX,1000H    B、OR AX,1100H

C、XOR AX,1000H    D、AND AX,1000H

  •  在利用總線對存儲器進行通路時,位址信号有效和資料信号有效的時間關系應該是( A )。

A、位址信号較先有效    B、二者同時有效

C、資料信号較先有效    D、同時高電平

先尋位址再傳輸資料
  •  當 8086 CPU 采樣到 READY=0 ,則 CPU 将 ( D )。

A、執行停機指令    B、重新發送位址碼

C、執行空操作指令    D、插入等待周期

如果一個總線周期4T時間完成不了一個操作,就會将READY置0 增加一個Tw時間
  •  總線信号分成三組,分别是資料總線、位址總線 和控制總線。
  • CMP CX,1A2CH指令之後是JZ指令,發生轉移的條件是CX= 1A2CH ,此時ZF=1 。
零标志位ZF=1,說明運算結果為0,即CX與1A2CH相等
  • 譯碼方式分為全譯碼和部分譯碼。 
  • 8086 CPU中用于選擇CPU工作模式的引腳是 MN/MX* 。(*代表MX取反)
  • 8086 CPU中用于選擇通路對象的引腳是 M/IO* 。(*代表IO取反)
  • 存儲系統中的局部性原理可以從空間局部性和時間局部性 兩個方面來了解。
  • 8086 CPU的外部中斷引腳有 NMI/ 和INTR兩個。
  • 8086 CPU執行指令“MOV [SI], DX”時,在其引腳上将産生存儲器寫總線操作;CPU預取指令時,在其引腳上将産生_存儲器讀 總線操作
  • 占用總線進行資料傳輸,一般需要經過總線請求和仲裁、__尋址_ 、資料傳送和結束4個階段。
  • 8086 CPU無等待的總線周期由_4_個T狀态組成。
  • 假設目前CS=36A8H,IP=007AH,DS=31A4H。假設IP目前所指向的指令為mov AX,[5],請回答:
  1. CPU取的下條指令的實體位址是多少?

指令段的實體位址=CS+IP(即段基址+偏移量)CS先左移一個位再與IP相加

36A80+007A=36AFAH

      2.取到該指令後,執行該指令時,需要從哪個記憶體單元開始取兩個位元組送到AX寄存器中?

記憶體資料段實體位址=DS+資料偏移量

31A40+5=31A45H

 設計題

設計一個存儲器接口電路,其中部分電路給出如下圖所示,要求該存儲系統的位址範圍為0DC000H~0DCFFFH,可增加的器件可以是基本門電路(與門、或門、非門、與非門、或非門),完成74LS138同CS的連接配接,畫出虛線框中門電路。

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

 擺出位址範圍對應位置的數字

DC000H

1101 1100 0000 0000 0000

DCFFFH

1101 1100 1111 1111 1111

故A14 A13 A12=100

由上到下CBA=001 故選中Y1  CS連接配接Y1

門電路 A19 A18 A17 A16=1101是以需要A17連接配接一個非門轉換為1    最後四個輸出為1再連接配接一個總的非門  因為是低電平有效

像這樣畫

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

第8周練習題

  • 已知SP=2020H,執行PUSH AX後,SP寄存器的值是(  201EH  )。(此題沒有正确選項)

A、2018H       B、201DH         C、2020H        D、2022H

解析:PUSH操作 SP-2; POP操作 SP+2

2020H-2=201EH

  • 8086 CPU用(A  )信号下降沿在T1結束時将位址資訊鎖存在位址鎖存器中。

A、ALE     B、READY      C、BHE        D、M/

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

/

ALE——位址鎖存允許,是一個三态、輸出、高電平有效的信号。
  • JMP指令或帶條件轉移指令構成的段内轉移中,轉移的本質是改變( C )寄存器的值。

A、AX          B、CS         C、IP        D、Flag

段内轉移改變IP 段間轉移改變CS
  • 标志寄存器中控制串傳送方向的标志位是( D )。

A、CF     B、SF    C、IF        D、DF

DF是一種控制标志,控制字元串複制的方向
  • 總線信号分成三組,分别是資料總線、_位址總線__和控制總線。
  • 8086 CPU預取指令時,在其引腳上将産生存儲器讀總線操作;當其執行指令MOV [SI], DX 時,在其引腳上将産生__存儲器寫__總線操作。(由寄存器寫入存儲器)
  • 占用總線進行資料傳輸,一般需要經過總線請求和仲裁、__尋址  、資料傳送和結束4個階段。
  • 堆棧操作時,8086 CPU會自動選擇  SS  值作為段基值,再加上由SP提供的偏移量形成實體位址。(堆棧段尋址為SS+SP)
  • 8086 CPU無等待的總線周期由__4__個T狀态組成。
  • 如果某處理器的時鐘頻率為200MHz,則每個時鐘周期T的持續時間為_1/200M___。
  • 邏輯位址0A100H :280EH對應的實體位址是__0A380EH__。
  • 一條指令的執行包括三個步驟:取指、_譯碼_   _、執行。
  • 某CPU資料線16根,位址線20根,其16-13号引腳分别對應多路複用的AD3-AD0,目前CS=36A8H,IP=007AH,DS=31A4H。假設IP目前所指向的指令為mov DS:[5],AX,目前AX中的值為5A7BH;假設該CPU所連接配接的總線中的資料總線的寬度是16。回答下列問題:

(1)、在取指對應的總線周期的T1中,16-13号引腳(即A3-A0)的值分别是多少?

取指令對應指令段位址為CS+IP,36A80+0074=36AFAH   由于16-13号引腳正好對應最低四位A3-A0 位址最後一個數為A 改為二進制:1010即分别為所對應A3-A0值

(2)、在取指對應的總線周期中,M/

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

引腳=?

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

引腳=?

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

引腳=?

M/IO* 為存儲器或I/O操作信号  其中I/O信号低電平有效

取值操作是由記憶體讀入CPU中 故M高電平有效,M/IO*=1

RD*為讀信号 且低電平有效   故RD*=0

WR*為寫信号 且低電平有效  故WR*=1

(3)、在執行指令對應的總線周期的T1中,16-13号引腳(即A3-A0)的值分别是多少?

執行指令對應資料段位址為DS+資料偏移量[5] ,31A40+5=31A45H ,16-13号引腳對應最低位5 改為二進制:0101 即為A3-A0對應的值

(4)、在執行指令對應的總線周期的T2-T4中,16-13号引腳(即D3-D0)的值分别是多少?

傳送資料時,直接傳資料值5A7BH,16-13号引腳傳送最低位B,改為二進制為:1011,對應D3-D0
  • 現有一種存儲晶片容量為512×8b,若要用它組成4KB的存儲容量,需要多少片這樣的存儲晶片?每塊晶片需要多少根尋址線?而4KB存儲系統最少需要多少根尋址線,其中幾根用作片選,幾根用作片内尋址? (要列出計算公式)

 4x1024x8/512x8=8 8片存儲晶片

512=2^9  9根尋址線

4K=2^12 12根尋址線 3個片選 9個片内尋址

第七章作業

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

 答案:(一)存儲器讀 I/O接口寫

(二)dx (因為dx存放有端口号可以送到位址總線上)

(三)al  (al寄存器中存放有資料,故将al的内容送到資料總線上)

(四)I/O接口晶片

(五)資料緩沖  信号變換

(六)獨立編址 統一編址

(七)2^20=1M (8086CPU含有20根位址線)

(八)2^16=64K(8086CPU采用獨立編址方式,隻使用最低16個位址信号)

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

 (二)

 MOV SI,OFFSET BUFFER1

 MOV CX,0

L0:   

    MOV DX,621H 

AGAIN:         

    IN AL,DX    

    AND AL,0000 0100B  

    JZ AGAIN

    MOV DX,620H

    in al,dx

    CMP AL,'a'

    JB L1

    CMP AL,'z'

    JA L1

    SUB AL,32  ;是a~z之間的減32

L1:           

​    MOV [SI],al 

    ADD SI,1   

    ADD CX,1   

    CMP CX,1000

    JE OVER

    JMP L0

OVER:        

 存儲器尋址練習題

 例子1:
更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

 解答:(1)2KB=2x1024x8b   故2x1024x8)/(1024x8)=2片

(2)1024=2^10   故需要10根位址線

(3)2K=2^11   故需要11根位址線   其中1個片選 10個片内尋址

例子2:

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

解答:(1)(2x1024x8)/(1024x4)=4片  

(2)1024=2^10  故需要10根位址線 

(3)2K=2^11  故需要11根位址線尋址 其中1根做片選(每2片并一塊看成1組),10根片内尋址

 例子3:

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

解答:紅箭頭訓示的地方 代表CS片選Y0低電平有效即A18 A17對應 0 0

A19 A18 A17 A 16 A15.....A0 

0     0     0      0      0000  0000 0000 0000  最小範圍

0     0     0      1      1111  1111  1111  1111   最大範圍

故紅箭頭所指範圍為:00000H——1FFFFH

綠箭頭同理  隻不過A18 A17片選Y3有效  對應1 1 剩下的位擺出來位址範圍(最小是0 最大是1)即可

 例子4:

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

 Y0對應的片選信号有效   A11 A10=0 0固定下來兩位

擺出來位址範圍:

A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

0    0       0    0   0    0  0   0   0   0   0   0

0    0       1    1   1    1   1   1   1   1   1   1

即000H——3FFH

另外再分析一下這道題:1Kx4的晶片用了八片 組成了 4KB的存儲系統 

其中 12根用作位址線 (4K=2^12) 2個片選(用來選八組晶片) 10個片内尋址   

8253晶片題

例子1:

 計時器8253-5通道0按方式3(方波發生器)工作,時鐘CLK0的頻率為1MHz,要求輸出方波的頻率為2000Hz,此時寫入的計數初值應為多少?輸出方波的“1”和“0”各占多少時間。假設通道0采用二進制方式計數,寫出初始化程式段。8253-5的端口為400H,401H,402H,403H。

 解答:(1)初值計算方法:頻率/頻率 或者 周期/周期

1M=10^6  10^6/2000=500

(2)250x1/(10^6)=250x10^-6 s

(3)題目改成二進制 不考十進制

mov dx,403h  ;控制端口

mov al,00111110B ;寫入控制字

out  dx,al

mov ax,500  ;寫入初值

mov dx,400h  ;計數器0

out dx,al

mov al,ah

out dx,al

 例子2

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

 級聯方式示意圖:

更新again:微機原理與彙編語言-練習題目錄第一周作業某一次課上練習第7周練習題第8周練習題第七章作業  存儲器尋址練習題8253晶片題

 解答:計數器0的初值計算為  1000/1=1000

計數器1的初值為 (4+1)/(1)=5

Mov dx,803h

Mov al,00110100b

Out dx,al

Mov ax,1000

Mov dx,800h;0号計數器

Out dx,al

Mov al,ah

Out dx,al

Mov dx,803h

Mov al,01010100b

Out dx,al

Mov al,5

Mov dx,801h;1号計數器

Out dx,al

繼續閱讀