当前位置:文档之家› 微机原理第三四章练习题

微机原理第三四章练习题

微机原理第三四章练习题
微机原理第三四章练习题

第三四章练习题

一、填空题:

1、下述程序段执行后(A)=_______________,(B)=________________;设程序段执行前SP=0200H,执行后SP=____________________。

A DW 1234H

B DW 5678H

...

PUSH A

PUSH B

POP A

POP B

2、分别写出一条能完成下述操作的指令:

(1)将寄存器BX的内容送入堆栈

(2)将数据2送入字单元DS:[SI]中

(3)用逻辑与指令将al的第六位设为0

(4)AX的内容加1,要求不影响CF

(5)子程序返回调用程序

(6)将AX中划‘X’的位清0,其余位不变:____________________;

X X 0

15

(7)将AX的内容算术左移1位:____________________。

3、指出下列指令中目的操作数与源操作数的寻址方式。(4分)

(1) MOV BX, AX (5) MOV BX, [1234H]

(2) SUB AH, 4CH (6) ADD [2000H], DX

(3) XCHG 5[BP][DI], BX (7) AND BYTE PTR [BX], 0FH

(4) OR [BX][DI], AH (8) SBB AX, ASC [BX]

4、写出下列传送指令的源操作数的寻址方式(VAR 是变量)

1) MOV AX,1200

2) MOV AX,VAR[BX][DI]

3) MOV CX,VAR[BX]

4) MOV DI,[BX+100]

5) MOV AX,[1100H]

6) MOV AX,[BX]

7) MOV AX,DS:[BP]

5、下述程序段执行后SI=_______________,DI=________________;设程序段执行前SP=1000H,执行后SP=____________________。

MOV SI,2A1DH

MOV BX,3456H

PUSH SI

PUSH DI

SUB SI,DI

POP DI

POP SI

6、下述程序段执行后AX=_______________,BX=________________;设程序段执行前SP=1000H,执行后SP=____________________。

MOV AX,1234H

MOV BX,5678H

PUSH AX

PUSH BX

7、下列语句在存贮器中分别为变量分配多少字节?

VR1 DB ?;

VR2 DW 4 DUP(?),2 ;

VR3 DD 1234H ;

8、设(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=1234H, (20102H) =5678H, (21200H)=2A4CH, (21202H)=B765H,下列指令单独完成后AX寄存器的值是多少。

1)MOV AX,1200H ____________

2)MOV AX,BX ____________

3)MOV AX,[1200H] ____________

4)MOV AX,[BX] ____________

5)MOV AX,1100H[BX] ____________

6)MOV AX,[BX][SI] ____________

7)MOV AX,1100H[BX]SI] ____________

9、下列指令段经汇编后,DATA所代表的偏移地址为___。

ORG 1000H

STROE DB 12 DUP(?)

DATA DB 05H,06H,07H,08H

A. 100CH

B. 1001H

C. 1012H

D. 100BH

二、选择题

1.设(BX)=0400H ,(SI)=003CH ,(DS)=2000H ,(2043CH)=0079H ,执行LEA BX , [BX + SI] 后,(BX)= _____________ 。

A. 0040H

B. 0079H

C. 043CH

D. 2043CH

2.LOOP指令中循环计数器一定在_____________寄存器中。

A. AX

B. CX

C. BX

D. DX

3.在串操作指令前使用重复前缀指令REPNE,终止串重复操作的条件是__________。

A. CX=0且ZF=0

B. CX=0且ZF=1

C. CX=0或ZF=0

D. CX=0或ZF=1

4.执行下列指令后,正确的结果是__________。

MOV AL,100

MOV BL,-2

A. AL=100H,BL=02H

B. AL=64H,BL=0FEH

C. AL=64H,BL=82H

D. AL=100H,BL=0FEH

5.已知(BX)=0010H,(DS)=2000H,(20010H)=0020H,(20012H)=1000H,在执行指令JMP DWORD PTR [BX]后,(IP)=__________。

A. 0010H

B. 2000H

C. 0020H

D. 1000H

6.设(BX)=1111H,下列__________指令执行后,BX的值变为0888H。

A. SHL BX,1

B. AND BX,FFF0H

C. OR BX,1FFFH

D. SHR BX.,1

7.指令MOV AX, [3070H]中源操作数的寻址方式为__________。

A. 寄存器间接寻址

B. 立即寻址

C. 直接寻址

D. 变址寻址

8.设(BP)=0400H ,(DS)=2000H ,(SS)=2001H ,(20400H)=9A3EH,(20410H) =3512H,执行MOV BX,[BP] 后,(BX)= _____________ 。

A. 0400H

B. 0410H

C. 9A3EH

D. 3512H

9.在串操作指令前使用重复前缀指令REPE,终止串重复操作的条件是__________。

A. CX=0且ZF=0

B. CX=0且ZF=1

C. CX=0或ZF=0

D. CX=0或ZF=1

10.设(IP)=3D8FH,(CS)=4050H,(SP)=017CH,[SP]=1234H,当执行段内过程返回指令RET后,CS:IP的值为__________。

A. 4050H:3D40H

B. 1234H:3D8FH

C. 4050H:1234H

D. 1234H:017CH

11.设(BX)=1111H,下列__________指令执行后,BX的值变为1110H。

A. SHL BX,1

B. AND BX,FFF0H

C. OR BX,1FFFH

D. SHR BX.,1

12、在下列语句中,AGAIN称为_____________。

AGAIN: INC SI

A. 符号

B. 助记符

C. 标号

D. 变量

13、伪指令END告诉汇编程序__________。

A. 程序结束

B. 过程定义结束

C. 段定义结束

D. 过程运行结束

14、能判断累加器内容是否为全零的下面4种方法中,正确的有______种。

SUB AX,0 XOR AX,0

JZ L1 JZ L1

OR AX,AX TEST AX,0FFFFH

JZ L1 JZ L1

A. 1

B. 2

C. 3

D. 4

15、设(20010H)=3FH,(20011H)=B2H,执行下列指令段后,BX=______。

MOV AX,2000H

MOV DS,AX

MOV BX,[0010H]

A. B2B2H

B. B23FH

C. 3F3FH

D. 3FB2H

16、设SP=2500H,RAM 2500H ─ 2505H内分别存放10H,20H,30H,40H,

50H,60H六个数,执行MOV SP,2502H,POP BX两条指令后___。

A. SP=2502H BX=1020H

B. SP=2504H BX=4030H

C. SP=2504H BX=3040H

D. SP=2502H BX=2010H

17、下列指令中不影响堆栈内容的是___。

A. PUSH

B. RET

C. JMP

D. CALL

18、下列指令段经汇编后,(CX)=___。

ARRAY DW 12 DUP(?)

MOV CX,SIZE ARRAY

A. 1

B. 12

C. 24

D. 0

19、下列指令中允许寻址范围最大的是___。

A. JNZ NEXT

B. LOOP NEXT

C. JMP SHORT PTR NEXT

D. CALL NEAR PTR PROC_NAME

20、下列指令中能完成测试AL中最高位是否为1的指令数目是___。

CMP AL,80H TEST AL,80H RCL AL,1 ROR AL,1

A. 1

B. 2

C. 3

D. 4

三、简答题

1、设DS=3000H,ES=3100H,SS=1500H,SI=00B0H,BX=0200H,BP=0010H,数据变量V AL的偏移地址为0030H,请指出下列指令的源操作数字段的寻址方式,如果源操作数为存储器寻址方式的一种,写出其物理地址值是什么?(本题10分,每小题2分)

(1)MOV AX,[BX][SI]

(2)MOV AX,[100]

(3)MOV AX,V AL[BX]

(4)MOV AX,[BP]

(5)MOV AX,ES:[BX]

2、设堆栈指针SP的初值为1008H,AX=4000H,BX=5000H,试问:

(1)执行指令PUSH AX后SP=?

(2)执行完PUSH AX再执行PUSH BX 及POP AX后SP=?,AX=?,BX=?(5分)

3、下列指令是否正确,如不正确请指出原因,并改正。(5分)

(1)MOV AL,BX

(2)MOV AL,CL

(3)MOV 3,AL

(4)MOV [BX],[SI]

(5)POP CS

4、指出下列指令是否正确,若不正确请说明原因。(4分)

(1) MOV BX, AL

(2) MOV [BX], [2000H]

(3) DIV [SI][DI]

(4) SHL AX, 5H

(5) PUSH DL

(6) MOV DS, DSEG

(7) MOV SP, AL

(8 MOV SS, 2400H

(9) MUL AL,BL

(10) MOV BYTE PTR[DI], 2000H

(11) MOV CS, CX

(12) DEC [BX]

(13) ADC [1000H], 40H

(14) CMP 16, AX

(15) OUT 258H, AX

(16) MOV WORD-OP[BX+4×3] [SI], SP

5、假设(AX)=5E7AH, VER为字变量,(BX)=1234H,读程序段,写出每条指令执行后各寄存器的值。(5分)

MOV AX, 5E7AH ;(AX)= ______

MOV WORD PTR [VER], 00FEH ;VER所指的字单元内容为______

MOV BX, 0FF0H ;(BX)= ______

NOT BX ;(BX)= ______

AND AX, VER ;(AX)= ______

MOV CL, 4 ;(CL)= ______

SHR AX, CL ;(AX)= ______,(CL)= ______

XOR AX, BX ;(AX)= ______,(BX)= ______

OR AX, VER ;(AX)= ______

TEST AX,1234H ;(AX)= ______

6、下列程序段实现传送200个字节的数据的功能。程序如下,写出该程序段中每条指令的注释(4分)

LEA SI, BUFFER1 ;

LEA DI, BUFFER2 ;

MOV CX,200 ;

CLD ;

REP MOVSB ;

HLT ;

7、阅读下段程序,给出划线语句的注释,并说明程序完成什么功能?(5分) DATA SEGMENT

BUFFER1 DB 200 DUP(1)

BUFFER2 DB 200 DUP(?)

DATA ENDS

…….

MOV AX,2000H

MOV DS,AX

MOV ES,AX

MOV SI , OFFSET BUFFER1 ;

MOV DI, OFFSET BUFFER2

MOV CX,LENGTH BUFFER1 ;

STD ;

REP MOVSB ;

该程序完成的功能:

8、假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H, (BP)=0010H,数据段中变量名V AL的偏移地址值为0050H,试回答出下列源操作数的寻址方式是什么?如果源操作数为存储器寻址方式的一种,写出其物理地址值是什么?(20分,每小题2分)

①)MOV AX,0ABH

②)MOV AX,BX

③)MOV AX,[100H]

④)MOV AX,[BX]

⑤)MOV AX,ES:[BX]

⑥)MOV AX,[BP]

⑦)MOV AX,[BP+10]

⑧)MOV AX,V AL[BX]

⑨)MOV AX,[BX][SI]

⑩)MOV AX,V AL[BX][SI]

9、设当前SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶地址为多少?执行PUSH BX后,栈顶地址和栈顶两个字节的内容分别是多少?

10、试用3种指令序列实现字变量A、B的内容交换。

11、写出完成下列要求的变量定义语句。

1)为某个缓冲区BUFF预留240各字节的存储空间

2)将字符串’BYTE’、’WORD’存放于某数据区

3) 10字数组ARRAY的前五个元素为1,2,3,4,5

12、画图说明下列语句所分配的存储空间及初始化的数据值。

V AR1 DB ‘HELLO’

V AR2 DW 1A2BH,2 DUP(0,?)

13、编写一个子程序,子程序的说明信息如下

子程序名:FUN

功能:求 x×20

入口参数:AX=x,x是一个16位无符号数

出口参数:积存放于寄存器SI和DI。

14、已知有如下段定义:

DATA SEGMENT 地址内容

BUF2 EQU 3

BUF3 DB ‘31’,2DUP(BUF2,10)

BUF4 DW BUF3-BUF1

DATA ENDS

设定位后BUF1的地址为 2000H:0000H

(1)在右图中写出该段占用内存的内容

及其对应的地址。

(2)填空:

BUF2=

TYPE BUF4=

LENGTH BUF1=

SEG BUF3=

OFFSET BUF3=

15、编写程序段,用系统功能调用的方法接收键盘一个按键并将其在显示器显示输出。

16、画图说明下列语句所分配的存储空间及初始化的数据值。

VAR1 DB ‘abc’,2 DUP(0,?)

VAR2 DW 1,2 DUP(0,?)

17、下面程序段完成功能:从键盘输入一个字符,然后输出在屏幕上。读程序段,完成程序。

MOV AH,

INT 21H

MOV

MOV AH,2

18、程序中的数据定义如下:

LNAME DB 49H, 42H, 4DH, 2DH

ADDRESS DB 2 DUP(?)

ENTRY DB 3

LIST DB 11, 7, 8, 3, 2

(1)假设LNAME相对于某数据段地址偏移为0,试画出内存分配图;

(2)用一条MOV指令将LNAME的偏移地址放入AX;

(3)用一条指令将LIST的头两个字节的内容存入SI;

(4)执行下列指令后,AX寄存器中的内容是什么?

LEA BX, LIST

ADD BX, ENTRY

MOV AX, WORD PRT[BX]

19、根据下列要求编写一个汇编语言程序::

(1)代码段的段名为COD_SG

(2)数据段的段名为DAT_SG

(3)堆栈段的段名为STK_SG

(4)变量HIGH_DAT所包含的数据为95

(5)将变量HIGH_DAT装入寄存器AH,BH和DL

(6)程序运行的入口地址为START

20、指出下列程序中的错误:

STAKSG SEGMENT

DB 100 DUP(?)

STA_SG ENDS

DTSEG SEGMENT

DATA1 DB ?

DTSEG END

CDSEG SEGMENT

MAIN PROC FAR

START: MOV DS,DATSEG

MOV AL,34H

ADD AL,4FH

MOV DATA,AL

START ENDP

CDSEG ENDS

END

21、将下列文件类型填入空格:

(1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map

编辑程序输出的文件有_____________________________________;

汇编程序输出的文件有_____________________________________;

连接程序输出的文件有_____________________________________。

22、已知8086-CPU寄存器的内容如下:

AX=0123H,BX=1234H,CX=4567H,DX=9ABCH

DS=2300H,SS=3000H,ES=2800H,DI=1F00H

SP=1000H,BP=0010H,SI=0000H,

写出下列过程每条指令执行后,有关寄存器和内存单元的内容。(5分)(注:无变化的不要标出,内存单元地址用逻辑地址表示)。

LLL PROC FAR

MOV WORD PTR [BP],23H

PUSH CX

MOV [DI+2800H],DX

RET

LLL ENDP

23、下列语句在存储器中分别为变量分配多少字节?

VR1 DW 9

VR2 DW 4 DUP(?)

CONT EQU 10

VR3 DD CONT DUP(?)

VR4 DB 2 DUP(?,CONT DUP(0))

VR5 DB ‘HOW ARE YOU?’

24、试定义一个完整的数据段,首先将10个压缩的BCD码29存放在ARRAY变量字节单元,紧接着把-28,6,45,39,3存放在ALPHA数组变量的字单元中,最后从字节变量BUFFER 单元开始预留100个空单元备用。

25、按下面的要求写出程序的框架。

(1)数据段的位置从0E000H开始,数据段中定义一个100字节的数组;

(2)代码段中指定段寄存器,指定主程序从1000H开始,给有关段寄存器赋值;

(3)程序结束

26、下面的程序段有错吗?若有,请指出错误。

CRAY PROC

PUSH AX

ADD AX,BX

RET

ENDP CRAY

27、写出完成下述功能的程序段或指令

1)写出几条使AX内容为0的指令

2)使BL寄存器中的高4位和低4位互换

3)屏蔽CX寄存器的b11,b7和b3位

4)测试DX中的b0和b8位是否都为1,若不为1,跳转至L1

28、在下列程序的括号中分别填入如下指令:

1)LOOP L20

2)LOOPE L20

3)LOOPNE L20

试说明在三种情况下,当程序段完成后,AX,BX,CX,DX四个寄存器的内容分别是什么:

MOV AX,01

MOV BX,02

MOV DX,03

MOV CX,04

L20: INC AX

SHR DX,1

( )

29、编写一程序段,比较两个5字节的字符串OLDS和NEWS,如果不同则转到NEW_LESS 执行,否则顺序执行。

30、用其他指令完成如下指令同样的功能。

1)REP MOVSW 2)REP LODSB

3)REPZ CMPSB 4)REPNE SCASB

三、程序分析题

1、下面的程序求数据段中从BUFF开始的10个字数据的最大值。填充程序中的空白,除非必要,不要写标号。

DATA SEGMENT

COUNT DW 10

BUFF DW -1,0,2,5,4,12,34,90,7,8

MAX DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV DS,AX

MOV CX,COUNT-1

MOV DX, [SI]

L0: ADD SI,2

CMP [SI],DX

JC L1

MOV DX, [SI]

L1:

JNZ L0

MOV MAX, DX

MOV AH,4CH

INT 21H

END START

2、下面的子程序NUM统计一个8位二进制数中的为1的位的个数。调用该子程序时,8位二进制数存放在AL中。子程序返回时,求出的个数存放在BL 中,要求AL的内容保持不变。填充程序中的空白,除非必要,不要写标号。

NUM PROC

MOV BL,0

MOV CL,8

A1:

JNC A2

A2: DEC CL

JNZ A1

POP AX

RET

4、下面的程序求数据段中从BUFF开始的10个字类型数的累加和。填充程序中的空白,除非必要,不要写标号。

DSEG SEGMENT

BUFF DW 2,3,4,10,9,89,34,20,9,7,100

RESULT DD ?

DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG

START:

MOV DS,AX

MOV AX,0

MOV DX,0

MOV CX,10

CLC

AGAIN:

ADC DX,0

ADD SI,2

JZ AGAIN

MOV RESULT,AX

MOV AH,4CH

INT 21H

CSEG ENDS

5、下面的程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并将其中的大写字母转化成小写字母,然后将该字符串输出。填充程序中的空白,除非必要,不要写标号。

BUF DB 80,?80 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CD:CODE,DS:DATA

START:

MOV DS,AX

;接收用户键入的字符串

__________________

MOV CL,BUF+1

MOV CH,0

LEA SI,BUF+2

L1: MOV AL,[SI]

CMP AL,’A’

JB NEXT

CMP AL,’Z’

JA NEXT

NEXT: INC SI

MOV AH,09H

MOV DX,OFFSET BUF

INT 21H

INT 21H

CODE ENDS

6、下面的程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并对其中数字计数,然后将结果存入digit存储单元中。填充程序中的空白,除非必要,不要写标号。

DATA SEGMENT

BUF DB 80,?,80 DUP(?)

DIGIT DB 0

CODE SEGMENT

ASSUME CD:CODE,DS:DATA

START:

MOV DS,AX

;接收用户键入的字符串)

__________________

;取实际输入字符个数

_________________

LEA SI,BUF+2

L1: MOV AL,[SI]

CMP AL,’0’

JB NEXT

CMP AL,’9’

JA NEXT

INC BYTE PTR [DIGIT]

NEXT: INC SI

MOV AH,4CH

INT 21H

CODE ENDS

7、下面的程序通过调用子程序HASCII,实现把XX存储单元中的一位十六进制数转换为对应ASCII码,并存储在ASCII单元中。填充程序中的空白,除非必要,不要写标号。

其中:子程序名:HASCII

功能:把一位十六进制数转换为对应ASCII码

入口参数:AL=待转换的十六进制数

出口参数:AL

算法: X+30H(0<=X <=9)

Y=

X+37H(0AH<=X<=0FH )

DATA SEGMENT

XX DB 4

ASCII DB ?

DATA ENDS

CODE SEGMENT

START: MOV AX,DATA

MOV DS,AX

MOV AL,XX

CALL HASCII

MOV AH,4CH

INT 21H

)

AND AL,0FH

CMP AL,9

JG LAB1

ADD AL,30H

LAB1:ADD AL,37H

LAB2:

HASCII ENDP

CODE ENDS

END START

8、用串操作指令将100H个字符从2100H处搬到1000H处,并且从中检索与AL中所存字符相同的存储单元,并将该单元的内容替换成空格,本程序只替换检索到的第一个相同的单元。请在下列空格中填入合适的指令,使程序段完成上述功能。

MOV SI,2100H

(1)

MOV CX,100H

CLD

(2)

MOV DI,1000H

MOV CX,100H

(3)

JNZ K1

(4)

MOV [DI],20H

K1: ┇

四、编程题

1、编写子程序NUM统计寄存器AL数中的为1的位的个数,并将统计结果存放在BL中。

2、编写一个程序,判断AX中的数是正数、负数还是零。若AX是正数,将-1存入CL;若AX=0,将0存入CL否则若AX是负数,将1存入CL。要求画出流程图并写出源程序。

3、数据段从1000H 开始,有10个字节的无符号数,编写一个程序求这10个数的和(用8位运算指令,和小于2个字节表示的最大范围),把和放在100AH及100BH单元中。

4、编程将CX、DX作为双字联合右移四位(设CX为高16位),最高4位送入全1。

5、从ARRAY开始的单元中存有10个16位无符号数,试编一完整程序找出其中最小数并存入MIN单元。

6、利用DOS系统功能调用,将键盘输入的小写字母转换成大写字母输出显示,直到输入“$”字符时停止输出。

7、要求编写程序比较两个最大长度为100个字符的字符串ALFA1和ALFA2是否相等,若相等则输出显示“All Right!”,否则输出显示“Error!”。

8、有一个最大长度为80个字符的字符串STRING,试编写程序找出第一个空格的位置(用00H~4FH表示),并存入CL中。若该串无空格,则将0FFH存入CL中。

9、从键盘输入一系列字符(以回车符结束),并按字母、数字及其他字符分类统计计数存入N1、N2、N3三个单元。

10、编写一个子程序SKIPLINES,完成输出空行的功能,空行的行数存放在AX中。

;功能:输出空行

;入口参数:AX:空行的行数

;出口参数:无

微机原理习题第四章

一、问答题: 1、微型计算机是由哪几部分组成的?各部分的功能是什么? 微型计算机是由五部分组成,包括控制器,运算器,存储器、输入设备,输出设备; 控制器控制计算机运转,计算器主要是算术运臬和逻辑运算,存储器主要是存储信息,输入设备主要是输入信息给计算机,输出设备主要是计算机输出信息。 2、IBM PC机的主存有哪几种存储器?它们的作用各是什么? IBM PC机的主存主要有只读存储器和随机存储器。只读存储器只能读出,不能写入,随机存储器可以写入也可以读出。 3、8086微处理器的字长是多少?能直接访问的存储单元有多少字节? 8086微处理器的字长为16位,能直接访问的存储单元可以是2个字节。 4、8088微处理器的逻辑地址是由哪几部分组成的?怎样将逻辑地址转换为物理地址? 8088微处理器的逻辑地址两部分组成,包括段地址和偏移地址;物理地址=段地址 *16+偏移地址。 5、如果一个程序在执行前(CS)=0A7F0H,(IP)=2B40H,该程序的起始地址是多少? 如果一个程序在执行前(CS)=0A7F0H,(IP)=2B40H,该程序的起始地址=0A7F0H*16+2B40H=0AAA40H。 6、有两个16位字1234H和5678H分别存放在02000H为首地址的存储单元中,试用图表示存储数据的情况。 02003H 02002H 02001H 02000H 7、什么叫寻址方式?8088指令系统有哪几种寻址方式? 寻址方式就是指:寻找操作数或者操作地址的各种方法,寻址方式主要有7种 (1).立即数寻址 (2).寄存器寻址 (3).直接寻址 (4).寄存器间接寻址 (5).寄存器相对寻址方式 (6).基址变址寻址方式 (7).相对基址变址寻址方式 二、填空题 1、CPU中的总线接口部件BIU,根据执行部件EU的要求,完成与或的数据传送。

微机原理与接口技术(第三版)课本习题答案

第二章 8086体系结构与80x86CPU 1.8086CPU由哪两部分构成它们的主要功能是什么 答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处8086CPU内部的并行操作体现在哪里答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个逻辑地址呢答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。 6.8086系统中的存储器为什么要采用分段结构有什么好处 答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址

微机原理第四章课后习题答案

第四章课后作业(6—27) 6.试按下列要求分别编制程序段。 (1)把标志寄存器中符号位SF置“1”。 (2)寄存器AL中高、低四位互换。 (3)由寄存器AX、BX组成一个32位带符号数(AX中存放高16位),试求这个数的负数。 (4)现有三个字节存储单元A、B、C,在不使用ADD和ADC指令的情况下,实现(A)+(B) C。 (5)用一条指令把CX中的整数转变为奇数(如原来已是奇数,则CX中数据不变,如原来是偶数,则(CX)+1 形成奇数)。 答: (1) LAHF OR AH,80H SAHF (2) MOV CL,4 ROL AL,CL (3) MOV CX,0 NEG BX JC CHG JMP GO CHG: MOV CX,1 GO: NEG AX SUB AX,CX (4) MOV CL,A MOV AL,B MOV X,AL CHECK:INC X DEC CL JNZ CHECK (5) OR CX,0001H 7.试给出下列各指令的机器目标代码。 (1)MOV BL,12H [SI] (2)MOV 12H [SI],BL (3)SAL DX,1 (4)AND 0ABH [BP] [DI],1234H

答:(1)100010 1 0 01 011 100 00010010=8A5C12H (2)100010 0 0 01 011 100 00010010=885C12H (3)110100 0 1 11 100 010=0D1E2H (4)100000 0 1 10 100 011 10101011 00000000 00110100 00010010 =81A3AB003412H 8.执行下列指令: STR1 DW ‘AB’ STR2 DB 16DUP(?) CNT EQU $-STR1 MOV CX,CNT MOV AX,STR1 HLT 执行完成之后,寄存器CL的值是多少?寄存器AX的值是多少? 答:因为CNT=16+2=18,所以CX=18=0012H,所以CL=12H=0001,0010; AX中装入的是‘AB’的ASCII码值,其中‘A’在高位AH中,‘B’在低位AL中,所以AX=4142H=0100,0001,0100,0010。 9.JMP FAR PTR ABCD (ABCD是符号地址)的转移方式是什么? 答:段间直接转移。 10.按下列指令写出相应指令或程序段。 (1)写出两条使AX寄存器内容为0的指令。 (2)使BL寄存器中的高、低4位互换。 (3)现有两个带符号数分别在X1和X2变量中,求X1/X2,商和余数分别送入Y1和Y2中。 (4)屏蔽BX寄存器中的b4、b6、b11位。 (5)将AX寄存器的b4、b14位取反,其它位不变。 (6)测试DX寄存器的b0、b9位是否为“1”。 (7)使CX寄存器中的整数变为奇数(如原已经是奇数,则不变)。 答:(1)MOV AX,0 XOR AX,AX (2)MOV CL,4 ROL BL,CL (3)MOV AX,X1 CWD IDIV X2 MOV Y1,AX MOV Y2,DX (4)AND BX,1111 O111 1O10 1111 (5)XOR AX,0100 0000 0001 0000 (6)MOV AX,DX RCR AX,1 JC B0Y ;转向表示b0是1的标号为B0Y的程序段

(完整版)微机原理及接口技术(习题答案)

范文范例学习指导 第1章微机运算基础 习题和思考题 1.请完成以下计算: 174.66D=(10101110.10101)B=(AE. A8)H 10101110101.01011B=(1397.344)D=(575.58)H 4BCH=(010*********)B=()BCD 2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值 是多少? 答:当X表示原码时,其真值为:+101010 当X表示补码时,其真值为:+101010 当X表示反码时,其真值为:+101010 当X表示无符号数数时,其真值为:00101010 3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出? 120+18 -33-37 -90-70 50+84 答:120+18 其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000 + 00010010 10001010 由于C s=0 ,C p=1,因此有溢出,结果错误 -33-37 其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111 +11011011 10111010 由于C s=1, C p=1,所以没有溢出,结果正确 -90-70 其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100 +10111010 01010110 由于C s=1, C p=0,所以有溢出,结果错误 50+84

其补码形式为:(50)补=00110010 (84)补=01010100 00110010 +01010100 10000110 由于C s=0, C p=1,所以有溢出,结果错误 4.请写出下列字符串的ASCII码值。 My name is Zhang san. 4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E 第2章 80X86微机系统 习题与思考题 1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么? 答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。 各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备; 2.微处理器的发展过程是什么? 答:微型计算机的发展过程是: 第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。 第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。 第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。 第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。 3.简述80486微处理器的基本结构。 书12页 4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址 模式下的物理地址为多少? 答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地

微机原理与接口技术(第二版) 清华大学出版社

习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存

放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.375)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111

微机原理第四章作业

第四章... 汇编语言.... 作业.. 第四章 P26 2(7)、(8)、3、5、6、7 一、选择题 1.SEGMENT 伪指令总是______指令成对使用。 A .ENDS B .ENDP C .BOTTOM D .END 2.若用户堆栈位于存储区10000H-1FFFFH ,则该堆栈的段地址是________。 A .10000H B .1FFFFH C .1000H D .0FFFFH 3.下列串操作中,在________指令前加重复前缀指令REP 是没有实际使用价值的。 A .MOVS B B .STOSB C .LODSB D .CMPSB 4.汇编语言源程序经汇编后可直接生成________。 A .ASM 文件 B .OBJ 文件 C .EXE 文件 D .COM 文件 5.在汇编语言源程序中,下列伪指令只能出现一次的是________。 A .ORG B .END C .DW D .ORG 二、阅读程序题 1.设数据段定义如下: DATA SEGMENT NA EQU 15 NB EQU 10 NC DB 2 DUP (4,2 DUP (5,2)) CNT DB $ - NC CWT DW $ - CNT DATA ENDS 从DS :0000开始至CNT 单元之前存放的数据依次为____________。 CNT 单元中的值为____。 CWT 单元中的值为____。 2.试分析下述程序段执行后,(AX)=_______、(BX)=_______。 XOR AX ,AX DEC AX MOV BX ,6378H XCHG AX ,BX NEG BX 3.执行下列指令段后,AX 和CX 的内容分别是多少? BUF DB 1,2,3,4,5,6,7,8,9,10 MOV CX ,10 MOV SI ,OFFSET BUF+9 LEA DI ,BUF+10

微机原理与接口技术学习心得

本学期微机原理课程已经结束,关于微机课程的心得体会甚多。微机原理与接口技术作为一门专业课,虽然要求没有专业课那么高,但是却对自己今后的工作总会有一定的帮助。记得老师第一节课说学微机原理是为以后的单片机打基础,这就让我下定决心学好微机原理这门课程。 初学《微机原理与接口技术》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。 然而,事物总有两面性。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇

微机原理第3章习题与答案

习题 一、选择题 1.寻址方式指出了操作数的位置,一般来说_______。 A.立即寻址给出了操作数的地址 B.寄存器直接寻址的操作数在寄存器内,而指令给出了存储器 C.直接寻址直接给出了操作数本身 D.寄存器直接寻址的操作数包含在寄存器内,由指令指定寄存器的名称 答案:D 2.寄存器寻址方式中,操作数在_________。 A.通用寄存器 B.堆栈 C.内存单元 D.段寄存器 答案:A 3.寄存器间接寻址方式中,操作数在_________。 A.通用寄存器 B.堆栈 C.内存单元 D.段寄存器 答案:C 4.下列指令中的非法指令是______。 A.MOV[SI+BX],AX B.MOVCL,280 C.MOV[0260H],2346H D.MOVBX,[BX] 答案:B 5.设(SP)=0100H,(SS)=2000H,执行PUSHBP指令后,栈顶的物理地址是_____。 A.200FEH B.0102H C.20102H D.00FEH 答案:A 6.指令LEABX,TAB执行后,其结果是______。 A.将TAB中内容送BX B.将TAB的段基址送BX C.将TAB的偏移地址送BX D.将TAB所指单元的存储内容送BX 答案:C 7.下列正确的指令格式有______。 A.MOV[BX],1 B.MOVAL,0345H C.MOVES:PTR[CX],3 D.XLAT 答案:D 8.设(AX)=C544H,在执行指令ADDAH,AL之后,______。 A.CF=0,OF=0 B.CF=0,OF=1 C.CF=1,OF=0D,CF=1,OF=1 答案:C 9.若AL、BL中是压缩BCD数,且在执行ADDAL,BL之后,(AL)=0CH,CF=1,AF=0。再执行DAA后,(AL)=_____。 A.02H B.12H C.62H D.72H 答案:B 10.执行下列程序后AL的内容为_____。 MOVAL,25H SUBAL,71H DAS A.B4H B.43H C.54H D.67H

《微机原理与接口技术》参考答案

《微机原理与接口技术》参考答案 《微机原理与接口技术》习题参考答案习题 2 1. 为何说8086CPU是16位CPU?答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2. 8086CPU哪两个单元组成?其中,指令队列在哪个单元中,有何作用?答:总线接口单元和执行单元。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3. 8086CPU中8位寄存器和16位寄存器是什么关系?答:8086的通用寄存器包括数据寄存器、指

针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。4. 8086CPU中的IP寄存器有何用途?答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5. 在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是什么?答:有CF、PF、AF、ZF、SF、OF。它们的含义如下:CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数

微机原理与接口技术习题答案

《微机原理与接口技术》习题答案 一、单项选择题 1、80486CPU进行算术和逻辑运算时,可处理的信息的长度为( D )。 A、32位 B、16位 C、8位 D、都可以 2、在下面关于微处理器的叙述中,错误的是( C ) 。 A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片 B、一台计算机的CPU含有1个或多个微处理器 C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分 D、不同型号的CPU可能具有不同的机器指令 3、若用MB作为PC机主存容量的计量单位,1MB等于( B )字节。 A、210个字节 B、220个字节 C、230个字节 D、240个字节 4、运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( D )。 A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出 B、两个整数相加,若结果的符号位为0,则一定发生溢出 C、两个整数相加,若结果的符号位为1,则一定发生溢出 D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出 5、运算器的主要功能是( C )。 A、算术运算 B、逻辑运算 C、算术运算与逻辑运算 D、函数运算 6、指令ADD CX,55H[BP]的源操作数的寻址方式是(D )。 A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、寄存器相对寻址 7、设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=(A ) A、113AH B、114AH C、1144H D、1140H 8、若SI=0053H,BP=0054H,执行SUB SI,BP后,则( C)。 A、CF=0,OF=0 B、CF=0,OF=1 C、CF=1,OF=0 D、CF=1,OF=1 9、已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=(D ) 。 A、0102H B、0201H C、245AH D、5A24H 10、实模式下80486CPU对指令的寻址由(A )决定。 A、CS,IP B、DS,IP C、SS,IP D、ES,IP 11、使用80486汇编语言的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则

微机原理第2章作业

微机原理第2章作业-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

第2章习题与思考题 4、下列各种情况下应判定哪个标志位并说明其状态: ①比较两个无符号数是否相等。ZF=1相等,反之不相等。 ②两个无符号数相减后比较大小。CF=0被减数≥减数,CF=1被减数<减数。 ③两数运算后结果是正数还是负数。SF=0结果为正,反之为负。 ④两数相加后是否产生溢出。OF=1结果溢出,反之不溢出。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个逻辑地址 呢 6. 答:①8086的地址加法器用来合成20位物理地址的,合成方法: 物理地址=段地址×16 +偏移地址, ②物理地址最多有220=1048576个 ③一个PA可对应多个逻辑地址。如:10145H可对应 10100H+45H 也可对应 10140H+05H等等。因此,逻辑地址难以计数。 7.8086系统中的存储器为什么要采用分段有什么好处 8. 答:①把1MB存储器分段,使每段最大可寻址64KB,这样段内地址可用16位表示,8086的地址寄存器便可使用。 ②而且为信息按特征分段存贮带来了方便。 9.在某系统中,已知当前(SS)=2360H,(SP)=0800H,请说明该堆栈段在存储器中的 物理地址范围。若往堆栈中存有20个字节数据,那么SP的内容为什么值? 答:①该堆栈段在存储器中的物理地址范围: 23600H~23E00H(23600H~23600+0800H) ②若往堆栈中存有20个字节数据,SP=0800H–14H=07ECH 10.已知当前数据段位于存储器的B4000H~C3FFFH范围内,则DS段寄存器的内容为多少?答:DS=B400H 11.8086系统中为什么一定要有地址锁存器需要锁存哪些信息 12. 答:①因为8086的AD15~AD0引脚是地址/数据复用线,只能通过外接地址锁存器来锁存输出地址信息。 ②地址锁存器用3片8位数据锁存器Intel 8282,锁存20位地址和 1 位

微机原理与接口技术期末考试试题及答案

微机原理与接口技术期末考试题库 1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。 2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什 么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU 与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接 口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对 20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?

答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令 的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址 为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意 义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么?

微机原理与接口技术

第二章 8086系统结构 一、 8086CPU 的内部结构 1.总线接口部件BIU (Bus Interface Unit ) 组成:20位地址加法器,专用寄存器组,6字节指令队列,总线控制电路。 作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作 数送EU 单元去执行。 工作过程:由段寄存器与IP 形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。 *当指令队列有2个或2个以上的字节空余时,BIU 自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU 重新取新地址中的指令代码,送入指令队列。 *指令指针IP 由BIU 自动修改,IP 总是指向下一条将要执行指令的地址。 2.指令执行部件EU (Exection Unit) 组成:算术逻辑单元(ALU ),标志寄存器(FR ),通用寄存器,EU 控制系统等。 作用:负责指令的执行,完成指令的操作。 工作过程:从队列中取得指令,进行译码,根据指令要求向EU 内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O 端口,则EU 将操作数的偏移地址送给BIU ,由BIU 取得操作数送给EU 。 二、 8088/8086的寄存器结构 标志寄存器 ALU DI DH SP SI BP DL AL AH BL BH CL CH ES SS DS CS 内部暂存器输入 / 输出控制 电路1432EU 控制系 统20位16位8086总线指令 队列总线 接口单元执行 单元 6 516位 属第三代微处理器 运算能力: 数据总线:DB

微机原理课后作业答案

6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原=B [-42]反=B [-42]补=B [+85]原=01010101B=[+85]反=[+85]补 [-85]原=B [-85]反=B [-85]补=B 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1) 1200:3500H=1200H×16+3500H=15500H (2) FF00:0458H=FF00H×16+0458H=FF458H (3) 3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址 1200H×16=12000H,结束地址 1200H×16+FFFFH=21FFFH (2)段起始地址 3F05H×16=3F050H,结束地址 3F05H×16+FFFFH=4F04FH (3)段起始地址 0FFEH×16=0FFE0H,结束地址 0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS:SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是 283AH; 从2001H单元取出一个字数据需要2次操作,数据是 5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

微机原理与接口技术知识点总结整理

《微机原理与接口技术》复习参考资料 第一章概述 一、计算机中的数制 1、无符号数的表示方法: (1)十进制计数的表示法 特点:以十为底,逢十进一; 共有0-9十个数字符号。 (2)二进制计数表示方法: 特点:以2为底,逢2进位; 只有0和1两个符号。 (3)十六进制数的表示法: 特点:以16为底,逢16进位; 有0--9及A—F(表示10~15)共16个数字符号。 2、各种数制之间的转换 (1)非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。(见书本1.2.3,1.2.4)(2)十进制数制转换为二进制数制 ●十进制→二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。 ●十进制→十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。 以小数点为起点求得整数和小数的各个位。 (3)二进制与十六进制数之间的转换 用4位二进制数表示1位十六进制数 3、无符号数二进制的运算(见教材P5) 4、二进制数的逻辑运算 特点:按位运算,无进借位 (1)与运算 只有A、B变量皆为1时,与运算的结果就是1 (2)或运算 A、B变量中,只要有一个为1,或运算的结果就是1 (3)非运算 (4)异或运算 A、B两个变量只要不同,异或运算的结果就是1 二、计算机中的码制 1、对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作[X]原,反码记作[X]反,补码记作[X]补。

注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。 (1)原码 定义: 符号位:0表示正,1表示负; 数值位:真值的绝对值。 注意:数0的原码不唯一 (2)反码 定义: 若X>0 ,则[X]反=[X]原 若X<0,则[X]反= 对应原码的符号位不变,数值部分按位求反 注意:数0的反码也不唯一 (3)补码 定义: 若X>0,则[X]补= [X]反= [X]原 若X<0,则[X]补= [X]反+1 注意:机器字长为8时,数0的补码唯一,同为00000000 2、8位二进制的表示范围: 原码:-127~+127 反码:-127~+127 补码:-128~+127 3、特殊数10000000 ●该数在原码中定义为:-0 ●在反码中定义为:-127 ●在补码中定义为:-128 ●对无符号数:(10000000)2= 128 三、信息的编码 1、十进制数的二进制数编码 用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。(1)压缩BCD码的每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数。 (2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~9 2、字符的编码 计算机采用7位二进制代码对字符进行编码 (1)数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。

微机原理与接口技术试题库(含答案)汇总

一、问答题 1、下列字符表示成相应的ASCII码是多少? (1)换行0AH (2)字母“Q”51H (3)空格20H 2、下列各机器数所表示数的范围是多少? (1)8位二进制无符号定点整数; 0~255 (2)8位二进制无符号定点小数;0.996094 (3)16位二进制无符号定点整数;0~65535 (4)用补码表示的16位二进制有符号整数;-32768~32767 3、(111)X=273,基数X=?16 4、有一个二进制小数X=0.X1X2X3X4X5X6 (1)若使X≥1/2,则X1……X6应满足什么条件? X1=1 若使X>1/8,则X1……X6应满足什么条件?X1∨X2 ∨X3=1 (2) 5、有两个二进制数X=01101010,Y=10001100,试比较它们的大小。 (1)X和Y两个数均为无符号数;X>Y (2)X和Y两个数均为有符号的补码数。X

微机原理 第4章 作业

第4章习题与思考题 1、编写8086汇编语言程序,将寄存器AX的高8位传送到寄存器BL,AX的 低8位传送到寄存器DL。 答:CODE SEGMENT ASSUME CS:CODE START:MOV BL,AH MOV DL,AL CODE ENDS END START 2、将DX寄存器的内容从低位到高位的顺序分成4组,且将各组数分别送到寄 存器AL、BL、CL和DL。 答:MOV AH,DL ;取DL 低4位送AL AND AH,0FH MOV AL,AH SHR DL,1 ;DL高4位逻辑右移4位送BL SHR DL,1 SHR DL,1 SHR DL,1 MOV BL,DL MOV AH,DH ;取DH 低4位送CL AND AH,0FH MOV CL,AH SHR DH,1 ;DH高4位逻辑右移4位送DL SHR DH,1 SHR DH,1 SHR DH,1 MOV DL,DH HLT

3、判别MEM单元的数据,编程将奇数存入MEMA单元,将偶数存入MEMB 单元。 答:MOV AL,MEM TEST AL,00000001B JZ OS ;偶数转OS MOV MEMA,AL HLT OS:MOV MEMB,AL HLT 4、试统计9个数中偶数的个数,并将结果在屏幕上显示。 答: DATA SEGMENT MESS1 DB “THE NUMBER OF EVEN NUMBERS:$” MEM DB 9 DUP(?);统计对象共9个 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AH,09H MOV DX,OFFSET MESS1 INT 21H ;屏幕显示THE NUMBER OF EVEN NUMBERS: MOV CX,9 ;设置循环此数 MOV AH,0 ;AH存放统计的偶数个数 LEA SI,MEM NEXT:MOV AL,[SI] TEST AL,00000001B JNZ QS ;奇数转QS INC AH ;是偶数AH增1 QS:INC SI LOOP NEXT MOV DL,AH ;统计结束,开始显示

相关主题
文本预览
相关文档 最新文档