微機(jī)原理與匯編作業(yè)

微機(jī)原理與匯編作業(yè)
一、進(jìn)制轉(zhuǎn)換
1.將下列十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制和十六進(jìn)制:
(1)37 (2)231 (3)45.05 (4) 168.95
(3)45/2=22---1;22/2=11--0;11/2=5---1;5/2=2---1;2/2=1---0;1/2=0---1
101101.000011001100110011
2D.0CCCCCCC
0.052=0.1;0.12=0.2;0.22=0.4;0.42=0.8;0.82=1.6;0.62=1.2
1.(1)127 (2)-127
2.(1)347 (2)-347
3.(1)915 (2)-915
二、給出下列補(bǔ)碼表示的機(jī)器數(shù)的真值(用十進(jìn)制表示)
1.8位長度的補(bǔ)碼數(shù):
(1)1BH (2)80H (3)E3H
1110 0011 ---》0001 1101---》-29
2.16位長度的補(bǔ)碼數(shù):
(1)397DH (2)FFFFH (3)8000H--》1000 0000 0000 0000 -》1000 0000 0000 0000-》-2^15
1111 1111 1111 1111--》0000 0000 0000 0001---》-1
三、用補(bǔ)碼運(yùn)算完成下列運(yùn)算,并指出運(yùn)算是否產(chǎn)生溢出。
1.33H+5CH
0011 0011
0101 1100
1000 1111=8fH
OF=1
2.-29H+6EH=(-29H)+6EH= 1101 0111+0110 1110= 0011 1101=3DH OF=0

3.-30H-8AH=(-30H)+(-8AH)= 1101 0000+ 0111 0110= 0100 0110 =46H OF=0
4.4CH-78H
四、將下列十進(jìn)制數(shù)分別轉(zhuǎn)換位壓縮BCD碼、非壓縮BCD碼、ASCII碼(用十六進(jìn)制數(shù)表示)
1.38 2. 97 3. 255 4. 764 5. 1000
38H 0000 0011 0000 1000=0308H---》3338H
1000-》0001 0000 0000 0000--》1000H-》01000000H-》31303030H
五、掌握8086/8088的內(nèi)部結(jié)構(gòu),并畫出。


七、簡述8086/8088內(nèi)部寄存器及專用用途。

八、8086/8088標(biāo)志寄存器FLAG包含哪幾個(gè)標(biāo)志位?簡述各位的狀態(tài)含義及用途。
答:
狀態(tài)標(biāo)志:存放運(yùn)算結(jié)果的特征。6個(gè)狀態(tài)標(biāo)志位(CF,PF,AF,ZF,SF,OF)
控制標(biāo)志:控制某些特殊操作。3個(gè)控制標(biāo)志位(TF,IF,DF)
狀態(tài)標(biāo)志位:
C 進(jìn)位標(biāo)志
ALU進(jìn)行算術(shù)運(yùn)算時(shí),反映運(yùn)算結(jié)果最高位有無進(jìn)位/借位。
C =“0” 無進(jìn)位/借位 NC (匯編語言符號)
C =“1” 有進(jìn)位/借位 C
P 奇偶標(biāo)志
邏輯運(yùn)算時(shí),P反映ALU運(yùn)算結(jié)果“1”的個(gè)數(shù)的奇偶性。
P = “0” 奇數(shù)個(gè)1 PO
P = “1” 偶數(shù)個(gè)1 PE
A 輔助進(jìn)位標(biāo)志,Ac
A位反映ALU進(jìn)行算術(shù)運(yùn)算時(shí),D3向D4是否有無進(jìn)位/借位。
A =“0” 無進(jìn)位/借位
A =“1” 有進(jìn)位/借位
A位通常供CPU內(nèi)部調(diào)整用
Z 全零標(biāo)志
ALU運(yùn)算結(jié)果是否為零,適用于算術(shù)、邏輯運(yùn)算。
Z =“0” 結(jié)果不為零 NZ
Z =“1” 有進(jìn)位/借位 Z
S 符號標(biāo)志
ALU運(yùn)算結(jié)果最高位。
S = “0” 結(jié)果為正 NS
S = “1” 結(jié)果為負(fù) S
O 溢出標(biāo)志
判斷帶符號數(shù)加減運(yùn)算結(jié)果是否溢出。
O =“0” 溢出 NO
O =“1” 不溢出 O
無符號數(shù)溢出判斷用C標(biāo)志。
控制標(biāo)志位的名稱和定義
T 單步標(biāo)志、陷阱標(biāo)志
T=1可使微處理器進(jìn)入跟蹤方式,即單步調(diào)試狀態(tài)。
I 中斷允許標(biāo)志
用來控制CPU是否允許響應(yīng)可屏蔽中斷。
I = “0” 表示不允許CPU響應(yīng)可屏蔽中斷
I = “1” 表示允許CPU響應(yīng)可屏蔽中斷。
可用指令置位和復(fù)位
D 方向標(biāo)志
用于指定字符串處理指令的步進(jìn)方向。
D =“0” 遞增方向 低地址向高地址方向進(jìn)行
D =“1” 遞減方向 高地址向低地址方向進(jìn)行
可用指令置位和復(fù)位
九、在實(shí)地址方式中,設(shè)CS=0A10H,共有179字節(jié)長度的代碼段,試給出該代碼段末地址的邏輯地址和物理地址。
答:該代碼段偏移地址位0~178,而178=256-78=100H-4EH=B2**
所以代碼段點(diǎn)地址范圍是0A10H:0000H~0A10H:00B2H**
末地址的邏輯地址:0A10H:00B2H**
末地址的物理地址:0A10H10H+00B2H=A1B2H*

十、在實(shí)地址方式中,若DS=095FH,物理地址是11820H,試給出對應(yīng)的邏輯地址;當(dāng)DS=2F5FH時(shí),物理地址是多少?
答:邏輯地址=段基地址:偏移地址11820H-095F0H=8230H
邏輯地址:0995FH:8230H
物理地址:2F5F0H+8230H=37820H
十一、宏匯編語言中,符號常量定義有哪些方式?數(shù)值表達(dá)式中常用的運(yùn)算符有哪些?
答:
符號常量定義方式:
(1)數(shù)值常量
常用的有二進(jìn)制數(shù)、十進(jìn)制數(shù)、十六進(jìn)制數(shù)和ASCII字符
其中ASCII字符做數(shù)值常量時(shí),需加單引號
如: 1010B, 10,0AH,’A’,’$’,’ABC’
(2)符號常量
程序中為經(jīng)常使用的數(shù)值取的名。用EQU或“=”偽指令定義,如:
P EQU 314
P=314

數(shù)值表達(dá)式中常用的運(yùn)算符有:
(1)算術(shù)運(yùn)算符:+,-,×,/,MOD(求余)
(2)邏輯運(yùn)算符:AND,OR,XOR,NOT
(3)關(guān)系運(yùn)算符:EQ(=),NE(≠),LT(<),GT(>),LE(≤),GE(≥)
十二、八、宏匯編語言中,標(biāo)號表示什么?有哪些定義方式?有哪三個(gè)屬性?
答:
標(biāo)號表示:
當(dāng)程序中要跳轉(zhuǎn)到另一位置時(shí),需要有一個(gè)標(biāo)識來指示新的位置,這就是標(biāo)號,通過在目標(biāo)地址的前面放上一個(gè)標(biāo)號,可以在指令中使用標(biāo)號來代替直接使用地址標(biāo)號是為一組機(jī)器指令所起名字.標(biāo)號可有可無,只有當(dāng)需要用符號地址來訪問該語句時(shí),才給此語句賦予標(biāo)號.標(biāo)號是程序目標(biāo)標(biāo)志,總是和某地址相聯(lián)系,供轉(zhuǎn)移或循環(huán)指令控制轉(zhuǎn)移使用.

標(biāo)號定義方式:
標(biāo)號只在代碼段中定義和使用,定義的方式有兩種:
(1)書寫在符號指令前,用:定義,為NEAR類型, NEAR型標(biāo)號只能在段內(nèi) 使用!
例: CYCLE:MOV AL,[SI] ;定義近標(biāo)號CYCLE
(2)用PROC…ENDP偽指令定義過程名
例:ABC PROC FAR ;定義過程名ABC為FAR型標(biāo)號
.
.
.
ABC ENDP

標(biāo)號的三個(gè)屬性:
(1)段地址—定義該標(biāo)號所在段的段首址
(2)偏移地址—標(biāo)號所在段的段首址到該標(biāo)號定義指令的字節(jié)距離
(3)類型—NEAR和FAR兩種
NEAR—段內(nèi)調(diào)用,F(xiàn)AR—段間調(diào)用
十三、 簡述符號指令的尋址方式。
答:尋址方式——尋找操作數(shù)據(jù)存放位置(地址)的方式,尋址方式可分為三大類:
(1)立即尋址:操作數(shù)就是操作數(shù)據(jù)

(2)寄存器尋址:操作數(shù)是寄存器名

(3)存儲器尋址 :操作數(shù)是地址表達(dá)式
十四、給定如下數(shù)據(jù)段,完成相應(yīng)任務(wù)。

DATA SEGMENT

S DB 1,2,3,4

W DW 1921H,4567H

S2 DB ‘ABCD’

S3 DW ‘12’,’34’

DATA ENDS

1、判斷下列指令是否是合法指令,如果不合法,請改正。

(1)MOV AX,S2

(2)34H,AX

(3)MOV W[AX],AX

(4)MOV [BX],15H

(5)MOV W[SI],CX
答:(1)MOV AX,S2合法

(2)34H,AX不合法,MOV AX,34H

(3)MOV W[AX],AX不合法,MOV W[BX/BP],AX

(4)MOV [BX],15H合法

(5)MOV W[SI],CX合法
十五、試給出執(zhí)行下列指令后OF、SF、ZF、CF、AF、PF 6個(gè)可測試標(biāo)志位的狀態(tài)(要求用16進(jìn)制形式給出16位標(biāo)志寄存器FLAG的值,其他各位均為0)。

  1. MOV AX, 2345H

    ADD AX, 3219H

AX=555EH->0101 0101 0101 1110->OF=0,SF=0,ZF=0,AF=0,PF=0,CF=0

FLAG:0000 0000 0000 0000->0000H

  1. MOV BX,5439H

    ADD BX,456AH

0101 0100 0011 1001

<u>+ 0100 0101 0110 1010</u>

1001 1001 1010 0011

BX=99A3H->1001 1001 1010 0011->OF=1,SF=1,ZF=0,AF=1,PF=1,CF=0

FLAG:0000 1000 1001 0100->0894H

  1. MOV CX,3579H

    SUB CX,4EC1H

CX= E6B8H

0011 0101 0111 1001

<u>- 0100 1110 1100 0001</u>

<u>1</u> 1110 0110 1011 1000->OF=0,SF=1,ZF=0,AF=0,PF=0,CF=0

FALG=0000 0000 1000 0100->0081H
5.設(shè)AX=1234H,BX=5678H,DX=90ABH,將AX中間8位(作為高8位),BX低4位和DX高4位(作為低4位)拼成一個(gè)新字放在AX中。編寫實(shí)現(xiàn)該要求的匯編程序DATAM1.ASM,并進(jìn)行匯編和連接,得到相應(yīng)的目標(biāo)文件和執(zhí)行文件。

stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
dw 10 dup(0)
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV AX,1234H
MOV BX,5678H
MOV DX,90ABH
MOV CL,4
SHL AX,CL
MOV AL,BL
SHL AL,CL
SHR DH,CL
OR AL,DH
ret
begin endp
code ends
end begin

6.設(shè)CX=5678H,要求將CX中間8位取反,高4位清0,低4位置1,結(jié)果放在CX中。編寫實(shí)現(xiàn)該要求的匯編程序DATAM2.ASM,并進(jìn)行匯編和連接,得到相應(yīng)的目標(biāo)文件和執(zhí)行文件。

stack segment stack 'stack'
dw 32 dup(0)
stack ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV CX, 5678H
XOR CX, 0FFFFH
AND CH,0FH
OR CL,0FH
ret
begin endp
code ends
end begin

7.給定數(shù)據(jù)段如下:
DATA SEGMENTS
D DB 12H,34H,56H,78H,90H,ABH
DATA ENDS
設(shè)BX=03H,編寫匯編程序?qū)?shù)據(jù)段中以BX為偏移地址的連續(xù)3單元中的無符號數(shù)求和,并進(jìn)行匯編和連接,得到相應(yīng)的目標(biāo)文件和執(zhí)行文件。

stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
D DB 12H,34H,56H,78H,90H,ABH
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV BX,03H
MOV AX, 0
MOV AL, D[BX]
ADD AL, D[BX+1]
ADC AH, 0
ADD AL, D[BX+2]
ADC AH, 0
ret
begin endp
code ends
end begin

8.給定數(shù)據(jù)段如下:
DATA SEGMENTS
D DB 12H,34H,56H,78H,90H,ABH
DATA ENDS
設(shè)BX=02H,編寫匯編程序?qū)?shù)據(jù)段中以BX為偏移地址的連續(xù)4單元的內(nèi)容顛倒過來,并進(jìn)行匯編和連接,得到相應(yīng)的目標(biāo)文件和執(zhí)行文件。

stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
D DB 12H,34H,56H,78H,90H,ABH
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV BX,03H
MOV AL, D[BX]
XCHG AL, D[BX+3]
MOV D[BX],AL
MOV AL, D[BX+1]
XCHG AL,D[BX+2]
MOV D[BX+1],AL
ret
begin endp
code ends
end begin
9.實(shí)現(xiàn)“鏡子”程序:從鍵盤輸入一串字符,在下一行照原樣顯示。

stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
IBUF DB 0FFH,0,0FFH DUP(0)
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV DX, OFFSET IBUF
MOV AH, 10
INT 21H
MOV BL, IBUF+1
MOV BH,0
MOV IBUF[BX+2],'$'
MOV DL,0AH
MOV AH,2
INT 21H
MOV DX, OFFSET IBUF+2
MOV AH,9
INT 21H
ret
begin endp
code ends

10.數(shù)據(jù)段中有一符號字?jǐn)?shù)組變量ARRAY,第1個(gè)字是被除數(shù),第2個(gè)字是除數(shù),接著存放商和余數(shù),請編寫匯編程序?qū)崿F(xiàn)。

stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
ARRAY DW 1234H,56H,0,0
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV AX, ARRAY
CWD
MOV CX, ARRAY+2
IDIV CX
MOV ARRAY+4, AX
MOV ARRAY+6,DX
ret
begin endp
code ends

11.編寫求兩個(gè)4位非壓縮BCD數(shù)之和,將和送顯示器顯示的程序。

stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
DATA1 DB 09H,04H,03H,08H
DATA2 DB 08H,06H,05H,07H
SUM DB 5 DUP(0)
OUTBUF DB 6 DUP(0)
ARRAY DW 1234H,56H,0,0
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV AX, 0
MOV BX,0
AGAIN: MOV AL,O
ADD AL,AH
MOV AH,0
ADD AL, DATA1[BX]
ADC AH, 0
ADD AL, DATA2[BX]
ADC AH,0
MOV SUM[BX],AL
INC BX
CMP BX, 4
JB AGAIN
MOV SUM[BX], AH
MOV SI,0
AGAIN2:
MOV AL, SUM[BX]
ADD AL, 30H
MOV OUTBUF[SI],AL
DEC BX
INC SI
CMP SI,5
JB AGAIN2
MOV OUTBUF[SI],’$’
MOV DX,OFFSET OUTBUF
MOV AH,9
INT 21H
ret
begin endp
code ends

12.編寫程序,將字節(jié)變量BVAR中的無符號二進(jìn)制數(shù)(0~FFH)轉(zhuǎn)換為BCD數(shù),在屏幕上顯示結(jié)果。

stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
BVAR DB 0DFH
OUTBUF DB 4 DUP(0)
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV AL, BVAR
MOV SI,3
MOV OUTBUF[SI],’$’
MOV CL,10
AGAIN: MOV AH,0
DIV CL
ADD AH,30H
DEC SI
MOV OUTBUF[SI], AH
CMP AL,0
JNE AGAIN
LEA DX, OUTBUF[SI]
MOV AH,9
INT 21H
ret
begin endp
code ends一、寫出下列程序段的中間結(jié)果和最后結(jié)果。

1.MOV AX, 0809H
MUL AH ;AX= 0048H
AAM ;AX= 0702H
2.MOV AX,0809H
MOV DL,5
AAD ;AX= 0059H
DIV DL ;AX= 0411H
MOV DL,AH
AAM ;AX= 0107H ,DL= 04H
3.MOV AX,0809H
ADD AL,AH
MOV AH,0 ;AX= 0011H
AAA ;AX= 0107H
4.MOV AX,0809H
MOV DL, 10
XCHG AH,DL
MUL AH ;AX= 005AH
AAM ;AX= 0900H
ADD AL, DL ;AX= 0908H
5.MOV AL, 98H
MOV AH,AL
MOV CL, 4
SHR AH,CL
AND AL, 0FH
AAD ;AL= 62 H
6.MOV CL,248
XOR AX,AX
MOV CH, 8
AG:SHL CL, 1
ADC AL, AL
DAA
ADC AH, AH
DEC CH
JNZ AG
結(jié)果:AX= 248 H

二、分別給出實(shí)現(xiàn)下列功能的完整匯編程序。
13.設(shè)平面上一點(diǎn)P的直角坐標(biāo)為(X,Y),X和Y為字類型符號數(shù),試編程實(shí)現(xiàn):若P落在第i象限內(nèi),則令k=i;若P落在坐標(biāo)軸上,則令k=0。

stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
K DB 0
POINT DB -12, 89
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV CL, 0 ;記錄坐標(biāo)的象限,
MOV AL, POINT
MOV DL, POINT+2
CMP AL, 0
JZ XYZ
JS XS
CMP DL, 0
JZ XYZ
JS YS1
MOV CL, 1
JMP XYZ
YS1: MOV CL, 4
JMP XYZ
XS: CMP DL, 0
JZ XYZ
JS YS2
MOV CL, 2
JMP XYZ
YS2: MOV CL 3
XYZ: MOV K, CL
ret
begin endp
code ends

14.編程實(shí)現(xiàn):將鍵盤輸入的8位二進(jìn)制數(shù)以十六進(jìn)制數(shù)形式在顯示器上顯示出來。

stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
INPUT DB 9, 0, 9 DUP(0)
OBUF DB 3 DUP(0)
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV DX, OFFSET INPUT
MOV AH,10
INT 21H 讀入數(shù)據(jù)
MOV SI, 0
MOV CX, 8
MOV AL, 0
AG: SHL AL, 1
AND BYTE PTR [SI], 0FH
ADD AL, [SI]
DEC SI
LOOP AG ;實(shí)現(xiàn)二進(jìn)制串轉(zhuǎn)換為數(shù)據(jù)
MOV SI, OFFSET OBUF+2
MOV BYTE PTR[SI], ‘$’
MOV CL, 4
LOP : MOV AH, AL
AND AH, 0FH
ADD AH, 30H
CMP AH, 39H
JNA NEXT ;是否大于9
ADD AH, 7
NEXT: DEC SI
MOV [SI], AH
SHR AL, CL
AND AL, AL
JNZ LOP ;轉(zhuǎn)換為對應(yīng)的十六進(jìn)制的ASCII碼
MOV DX, SI
MOV AH,9
INT 21H
ret
begin endp
code ends

二、下列各數(shù)稱為Fibonacci數(shù):0,1,1,2,3,5,8,13,...,這些數(shù)之間的關(guān)系是:從第3項(xiàng)開始,每項(xiàng)都是前兩項(xiàng)的之和,試編寫顯示第24項(xiàng)Fabonacci數(shù)(兩字節(jié))的程序。

stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
OBUF DB 6 DUP(0)
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV AX, 0
MOV BX, 1
MOV CX, 22
AG: MOV DX, 0
ADD DX, AX
ADD DX, BX
MOV AX, BX
MOV BX, DX
LOOP AG ;AX存放第i-2項(xiàng),BX存放第i-1項(xiàng),DX存放第i項(xiàng)
MOV SI, OFFSET OBUF+5
MOV BYTE PTR[SI], ‘$’
MOV CX, 10
MOV AX, DX ;第24項(xiàng)在dx中
LOP : MOV DX, 0
DIV CX
DEC SI
ADD DL, 30H
MOV [SI], DL
AND AX, AX
JNZ LOP ;轉(zhuǎn)換為對應(yīng)的十進(jìn)制的ASCII碼
MOV DX, SI
MOV AH, 9
INT 21H
ret
begin endp
code ends

三、從鍵盤輸入一字符串(字符數(shù)>1),然后在下一行以相反的次序顯示出來(采用9號和10號系統(tǒng)功能調(diào)用)。

stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
IBUF DB 255, 0, 255 DUP(0)
OBUF DB 255 DUP(0)
OBUF1 DB 0AH, 0DH, ‘’ data ends code segment begin proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax MOV DX, OFFSET IBUF MOV AH, 10 INT 21H MOV CL, IBUF+1 MOV CH, 0 ;獲取輸入字符個(gè)數(shù),作為計(jì)數(shù)器 MOV DI, CL MOV SI, OFFSET IBUF+2 ;讓SI指向輸入串的串首 MOV OBUF[DI], ‘
AG: MOV AL, [SI]
DEC DI
MOV OBUF[DI], AL
INC SI
LOOP AG ;實(shí)現(xiàn)字符串的逆向拷貝
MOV DX OFFSET OBUF1
MOV AH, 9
INT 21H
MOV DX, OFFSET OBUF
MOV AH, 9
INT 21H
ret
begin endp
code ends
1.什么是總線?微型計(jì)算機(jī)內(nèi)常用的總線有幾類?
答:總線是一種數(shù)據(jù)通道,系統(tǒng)各部件共享總線可同時(shí)掛接多個(gè)部件總線上任一部件發(fā)送的信息,系統(tǒng)內(nèi)連接到總線上的部件均可收到,信息傳輸時(shí),每次只能有一個(gè)發(fā)送部件可利用總線給一個(gè)接收部件發(fā)送信息。
總線分為:內(nèi)部總線和CPU總線、局部總線、外部總線
2.簡述8086/8088的最小組態(tài)和最大組態(tài)的區(qū)別。
答:最小組態(tài)→用8088微處理器構(gòu)成一個(gè)較小系統(tǒng),即所連的存儲器容量不大,I/O端口也不多,此時(shí)系統(tǒng)的控制總線由8088直接提供.
最大組態(tài)→用8088構(gòu)成一個(gè)較大系統(tǒng)時(shí),系統(tǒng)的控制信號不能由CPU直接提供,而必須由總線控制器控制產(chǎn)生
最小組態(tài),就是在系統(tǒng)中只有8086/8088一個(gè)微處理器;最大組態(tài)中,包含兩個(gè)或多個(gè)微處理器,其中主處理器是8086/8088,其他處理器是協(xié)處理器(如數(shù)值運(yùn)算處理器8087,輸入/輸出協(xié)處理器8089)。
3.RESET信號來到之后,8086/8088CPU的CS和IP分別等于多少?
答:高電平的RESET信號維持4個(gè)時(shí)鐘周期以上時(shí),CPU結(jié)束當(dāng)前操作,復(fù)位信號RESET(高電平有效)cpu清零標(biāo)志寄存器ip ds ss es以及指令隊(duì)列,將cs置ffffh。因此當(dāng)復(fù)位信號變?yōu)榈碗娖綍r(shí),cpu從ffff0h開始執(zhí)行程序。
4.什么時(shí)指令周期、總線周期、機(jī)器周期和時(shí)鐘周期?
答:指令周期→執(zhí)行一條指令所需要的時(shí)間.8088中不同指令的指令周期是不等長的.最短2個(gè)時(shí)鐘周期,最長200個(gè)時(shí)鐘周期(如:16位乘除法指令)
總線周期→把指令周期劃分為一個(gè)個(gè)總線周期.基本的總線周期有存儲器讀/寫、I/O端口讀/寫和中斷響應(yīng)周期如,從存儲器存取一個(gè)字節(jié)就是一個(gè)總線周期
機(jī)器周期:通常用從內(nèi)存中讀取一個(gè)指令字的最短時(shí)間來規(guī)定CPU周期(機(jī)器周期),也即CPU完成一個(gè)基本操作所需的時(shí)間。
時(shí)鐘周期:一個(gè)時(shí)鐘脈沖所需要的時(shí)間。在計(jì)算機(jī)組成原理中又叫T周期或節(jié)拍脈沖。是CPU和其他單片機(jī)的基本時(shí)間單位。對CPU來說,在一個(gè)時(shí)鐘周期內(nèi),CPU僅完成一個(gè)最基本的動(dòng)作。
5.存儲器讀周期和寫周期的主要區(qū)別是什么?
答:讀寫周期:兩次存儲器讀/寫操作的最短時(shí)間間隔。存儲周期:稍大于讀寫周期,(在讀寫周期的基礎(chǔ)上加上必要的其他操作)。讀周期或?qū)懼芷冢鹤x寫周期具體到或讀或?qū)憽榱藚^(qū)分存儲體內(nèi)的存儲單元,必須將它們逐一進(jìn)行編號,稱為地址。地址與存儲單元之間一一對應(yīng),且是存儲單元的唯一標(biāo)志。應(yīng)注意存儲單元的地址和它里面存放的內(nèi)容完全是兩回事。存儲器在計(jì)算機(jī)中處于不同的位置,可分為主存儲器和輔助存儲器。在主機(jī)內(nèi)部,直接與CPU交換信息的存儲器稱主存儲器或內(nèi)存儲器。

  1. 用2114(1k×4)、6116(2KB)和6264(8KB)分別組成容量為64k×8位的存儲器,各需要多少芯片?地址需要多少位作為片內(nèi)地址選擇端?多少位地址作為芯片選擇端?

16位地址,2114:片內(nèi)10位字選,高6位作為片選

      6116:片內(nèi)11位,高5位

      6264:片內(nèi)13位,高3位
  1. | |
    | | [圖片上傳失敗...(image-5e8e3c-1594039955154)]

| 用32片SARM 6116組成存儲器,僅用74LS138譯碼器設(shè)計(jì)其譯碼電路。

16位,11位片內(nèi),高5位

A15A14 A13A12A11 xxx xxxx xxxx

  1. 用EPROM2764(8KB)和SRAM 6264(8KB)各一片組成存儲器,其地址范圍為FC000H~FFFFFH,試畫出存儲器與8088的連接圖(限用74LS138)。

1111 1100 0000 0000 0000 0000

1111 1101 1111 1111 1111 1111

1111 1110 0000 0000 0000 0000

1111 1111 1111 1111 1111 1111

[圖片上傳失敗...(image-fe7206-1594039955155)]

chabud微機(jī)原理與匯編第十五次作業(yè)

  1. 接口的傳送控制方式有哪些?并分別進(jìn)行介紹。

  2. 分別簡述標(biāo)準(zhǔn)的I/O尋址方式和存儲器映像I/O尋址方式。

  3. 試畫出8個(gè)I/O端口地址260H~267H的譯碼電路(譯碼電路有8個(gè)輸出端)。

10 0110 0000

10 0110 0111

[圖片上傳失敗...(image-f746ef-1594039955155)]

  1. 已知中斷向量表中,001C4H存放2200H,001C6H中存放3040H,則其中斷類型碼是<u> 71 </u> H,中斷服務(wù)程序的邏輯地址和物理地址分別是<u>3040</u> H:<u>2200</u> H和 <u> 32600 </u>H。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容