微机原理期末考试总复习题.docx

微机原理期末考试总复习题.docx
微机原理期末考试总复习题.docx

第一章

1、微型计算机、微机系统各由哪些部件组成?。

答:P1

第一早

1、8086 CPU用于I/O指令的数据寄存器和间址寄存器、存放变址地址的寄存器、用于堆栈操作的寄存器、存放基址地址的寄存器各是什么?

答:8086 CPU用于I/O指令的数据寄存器和间址寄存器:AL(8位)或AX(16位),DX 8086 CPU用于变址地址的寄存器:SI、DI

8086 CPU用于堆栈操作的寄存器:SP (栈顶)、BP (堆栈段基址)

8086 CPU用于基址地址的寄存器:BX(数据段)、BP (堆栈段基址)

2、8086 CPU访问存贮器和访问I/O的地址分别各为什么?可寻址的最大存贮器空间和最大I/O空间分别各为多少?

答:8086 CPU访问存贮器的地址是A19—A0,可寻址的最大存贮器空间是1MB.

8086 CPU访问I/O的地址是A15—A0,可寻址的最大I/O空间是64KB.

3、掌握补码计算X+Y和X-Yo

例如:X=?45,Y=?34,用补码计算X+Y和X?Y。

解:X=-45=-0101101 [X]补=1101 0011

y=-34=-0100010 [Y]补=1101 1110 卜Y]补=0010 0010

求[X+Y]补:

[X]补=1101 0011

+「Y1 补=1101 1110 也

1011 0001 =-100 1111=-79

CF=1(有进位)ZF=0 (结果非0) SF=1(结果为负)OF=0(结果无溢出)

求[X?Y]补:

[X]补=1101 0011

+ _____________________

@ 1111 0101 =-000 1011=-11

CF=1(有借位)ZF=0 (结果非0) SF=1(结果为负)OF=0(结果无溢出)

4、掌握指令的有效地址,物理地址如何计算.

答:有效地址EA Ftl寻址方式决定

物理地址=段基址*10H+EA

5、8086 CPU允许、禁止段跨越的操作有哪些。举例。

答:取指令的指令地址=CS*10H+IP,禁止段超越堆栈栈顶地址=SS*10H+SP,禁止段超越

目的串地址=ES*10H+DI,禁止段超越

数据访问的数据地址=DS*10H+BX或SI或DI或直接偏移地址,允许段超越

=SS*10H+BP允许段超越

源串地址=DS*10H+SI,允许段超越

6、8086 M/IO、TEST、QS。,QS b信号线的功能各是什么?

答:M/IO—存储器/IO访问控制,=1 , CPU访问存储器,=0, CPU访问I/O

TEST:等待测试信号

QSo, QS1:指令队列状态指示信号

7、8086 CPU ALE信号线的功能是什么?8086 CPU DEN信号线的功能是什么?

答:ALE :地址锁存器输入允许信号

DEN :数据收发器允许信号

8、8086 CPU信号线READY的功能是什么?在何时何条件可插入TW ?

答:READY的功能是等待就绪信号,用于慢速的部件与CPU的速度协调,在慢速的部件不能在规定的时间內完成操作时可产生READY=0, CPU检测后可在T3与T4之间插入等待时钟TW

9、8086CPU最小、最大方式时用于总线请求、允许的信号线各是什么?

答:最小:HOLD…总线请求,HLDA…总线响应

最大RQ/GTO、RQ/GT1

10^ 8086 CPU信号线RESET的功能是什么?RESET有效后8086CPU有何状态?内部寄存器的值各为多少?8086CPU从什么单元中取第一条指令执行。

答:RESET—复位信号输入

RESET有效后内部寄存器的状态是:DS、SS、ES、FR、IP=0000H,CS=FFFFH,指令队列清空,复位后从CS* 1 OH+IP=FFFFH* 10H+0000H=FFFF0H地址单元屮取第一条指令执行启动系统。

11、8086 CPU的最大、最小方式用什么引脚如何设置?最大、最小系统构成时有何不同?

答:8086 CPU的最大、最小方式用MN/莎引脚设置。

最大、最小系统构成时有何不同?…P39

12、8086 CPU 一个基本的总线周期由哪儿个时钟周期组成?各时钟周期可完成哪些操作?总线传送一次数据分为哪二个阶段?

答:8086 CPU 一个基本的总线周期由Tl、T2、T3、T4共4个基本时钟周期组成。

总线传送一次数据分为传送地址和传送数据二个阶段,TI时刻:CPU输出地址信息,

T2—T4时刻:CPU传送数据信息,

第三章

1、8086 CPU有哪儿种数据寻址方式,掌握数据各种寻址方式的寻址过程,要求会求指令的寻址方式?会求有效地址EA=?会求物理地址=?

答:主要有:指令的物理地址=CS*10H+IP

堆栈栈顶物理地址=SS*10H+SP

源串物理地址=DS* 1OH+SI,

目的串物理地址灯5* 1OH+DI

数据直接寻址:MOV AL , [1000H]; EA=1000H,物理地址=DS* 10H+1000H

寄存器间接寻址:

MOV AL, [BX]或[SI]或[DI] ; EA=BX 或SI 或DI,物理地址=DS* 10H+ BX 或SI 或DI

基址寻址:

MOV AL , DISP[BX] ; EA=BX+DISP,物理地址=DS*10H+ BX+DISP

MOV AL , DISP[BP] ; EA=BP+DISP,物理地址=SS*1OH+ BP+DISP

基址变址寻址:

MOVAL, [BX+SI 或DI] ; EA=BX+ SI 或DI,物理地址=DS*10H+ BX+ SI 或DI

MOV AL, [BP SI 或DI] ; EA=BP+ SI 或DI,物理地址強也卅BP+ SI 或DI

变址寻址:

MOV AL , DISP[SI] ; EA=SI+DISP,物理地址=DS*10H+ SI+DISP

MOV AL , DISP[DI] ; EA=DI+DISP,物理地址=DS*10H+ DI+DISP

相对基址变址寻址:

MOV AL ,DISP [BX+SI 或DI] ; EA=BX+ SI 或DI+DISP,物理地址=DS*10H+ BX+ SI 或DI+DISP

MOV AL , DISP [BP SI 或DI] ; EA=BP+ SI 或DI+DISP,物理地址=SS*1OH+ BP4- SI 或DI+DISP

2、8086 CPU有哪儿种转移寻址方式,段内、段间转移有何不同?掌握转移各种寻址方式的寻址过程。

答:与转移地址有关的寻址方式:段内相对寻址、段内间接寻址、段间直接寻址、段间间接寻址。

段内相对寻址:段内短转一转移的偏移地址=IP+disp 8

段内进转一转移的偏移地址=IP+disp 8

段内间接寻址:寄存器间接一转移的偏移地址=reg (reg为AX、BX、CX、DX、SP、BP、SI、DI) 存储器间接一转移的偏移地址=(EA) (EA为数据寻址方式寻址单元,为字单元) 例:己知

BX=3500H,DS=2000H.(23500H)=4500H, (23502H)=2000H

JMP BX;段内寄存器间接,IP=3500H

JMP WORD PTR[BXJ;段内存储器间接,IP= (2000H*10H+3500H) =4500H

段间直接转:JMPL:IP=转移指令的第2、3字节,CS=转移指令的第4、5字节

段间存储器间接转:JMP DWORD [BX] :1P= (2000H*10H4-3500H) =4500H

CS= (2000H*10H+3500H+2) =2000H

3、掌握8086CPU以下指令:

MOV、PUSH/POP、LEA、ADD、ADC、SUB、SBB、INC、DEC、NEG、CMP、DAA、MUL、

DIV、AND、OR、NOT、XOR、SHL、SHR、SAL、SAR、ROL> ROR、RCL、RCR、MOVS、CMPS、STOS、LODS、SCAS、REP、条件转移类、LOOP、CALL、RET> CLD、STD 对给出的指令,耍求会分析指令是否正确。

4、掌握运算指令执行后产生标志状态CF、ZF、SF、OF的方法。

CF=D7C (加)CF=D7C (减)…求机器负数后的补码加

ZF= D7+D6+..…+D0

SF=最高位

OF =D7 Q)6...O?… Q

5、掌握可以实现清寄存器同时又清进位位、溢出标志的操作指令。

解:可以实现的指令有(设清累加器AX)

XOR AX,AX;AX=O,CF=O, OF=0

SUB AX , AX ;AX=O , CF=O, OF=0

AND AX,O; AX=O , CF=O, OF=0

MOV AX,0 ; AX=O , CF、OF 不确定

6、设AX=865AH, BX=CB75H,则指令“ADD AX, BX”执行后,产生的标志位是怎样的?:

解:1000 0110 0101 1010

+ 1100 1011 0111 0101

1 0101 0001 1100 1111

CF=1(有进位)SF=O (结果为正)ZF=0 (结果非零)OF=1(结果有溢出)

AF=0(无进借位)PF=0(奇数个1)

7、数据传送指令(MOV)使用有哪些规定?

答:允许rcg*-rcg 例:MOVAX,BX

允许regimem 例:MOVAX,[BX]

允许rcg<-data 例:MOV AX,2500H

允许rcg<-srcg 例:MOV AX.CS

允许mcm<-rcg 例:MOV [BX],AX

允许mem—data 例:MOV [BX],2500H

允许mem<-sreg 例:MOV [BX],CS

允许sreg<-reg(除CS 外)例:MOV DS,EX

不允许:mem—mem 例:MOV [SI],[BX]

不允许sreg—data 例:MOV DS,2500H

不允许sreg^sreg 例:MOV DS,CS

不允许CS做目的寄存器,例:MOV CS,BX

不允许类型不匹配,例:MOVAL,BX

8、REPZ、REPNZ指令,重复执行的终止条件是什么?

答:REPZ: CX=0 或ZF=0 REPNZ : CX=0 或ZF=1 9、标志状态CF、ZF、SF、OF在编程中各有和用途?

答:CF:用于反映加减运算后是否有进借位,CF=O无进借位,CF=1有进借位

可用于判定无符号数相加后是否产生溢;11, CF=O无溢出,CF=1有溢出

可用于判定无符号数比较大小

CF=O:无符号数A与B比较后说明A>B

CF=1:无符号数A与B比较后说明A

ZF:用于反映算逻运算后结果是否为0, ZF=0(结果非0), ZF=1(结果为0)

SF:用于反映算逻运算后结果的正负,SF=0(结果为正),SF=1(结果为负)

OF:用于反映带符号数算术运算后结果是否有溢出,OF=0(结果无溢出),OF=1(结果有溢出)用OF O F =0A>B ,OF SQ1A

10、如何实现两个16位寄存器的内容移位操作,移位可实现何种运算?。

例如:如何实现DX、AX中的无符号数乘2、除2操作。

解:乘2 SHL AX, 1

RCL DX, 1

除2 SHR DX, 1

RCR AX, 1

11、已知IP , CS,位移量,要求会求执行JMP指令后的转移地址?

例如:己知CS=5000H,IP=2500H,DISP8=F5H,求下指令执行后的转移地址。

JMP SHORT L ; IP= 2502H+FFF5H= 24F7H ,执行后的转移地址=5000H:24F7H

例如:己知CS=5000H,IP=2500H,DISP 16=0015H,求下指令执行后的转移地址。

JMP L;IP= 2503H+0018H= 251BH,执行后的转移地址=5000H:251BH

12、8086CPU转移指令的转移范围是多少?

条件转移:-128—+127

段内短转(2字节,8位的位移量):-128—+127

段内近转(3字节,16位的位移量):-32768—4-32767

段内间接:64KB范圉内

段间转移:1MB范围内

13、8086CPU串指令中对源串、目的串有何要求。

答:源串物理地ill:=DS*10H+SL

目的串物理地址=ES*10H+DI

执行前必需设置DS、SI, ES、DI, CX(重复次数),DF控制标志

14、要求会求数组最后一个字、字节的存储地址是多少。

答:数组最后一个字的地址=数组的首地址+ (数据个数J) *2

数组最后一个字节的地址=数组的首地址+ (数据个数?1)

15、掌握REP、REPE、REPNE有何功能?

16、已矢[IDS、SS、ES、CS、AX、BX、SI、DI、CX、DX、SP、BP、CF、DF、部分内存单元屮的内容, 写出指令SAR 、SHR、JMP 、PUSH、REP STOSB、REP MOVSB、CALL、RET、DAA 执行后的结果。

(1)例如:已知DS=5000H,BX=2500H,(52500H)=6800H, (52502H)=5600H,求下列指令执行后的转移地址。

指令1 :JMP WORD PTR [BX];

解:物理地址=DS*10H+BX=52500H, (52500H)=6800H,执行后IP=6800H,CS 不变

指令2: JMP DWORD PTR [BX];

解:物理地址=。$* 10H+BX=52500H, (52500H)=6800H , (52502H)=5600H

执行后IP=6800H,CS=5600H,程序转移到5600H:6800H执行。

⑵ 例如:已知DS=5000H,BX=2500H, DI=6000H (58500H)=B456H,CX=0004H,求下指令执行后的结果。指

令1: SAR [BX][DI], CL ;

解:物理地址=。$* 10H+BX+DI=58500H (58500H) = B456H , CL=4

执行后:(58500H) = FB45H

指令2: SHR [BX][DI],CL;

解:物理地址=。$* 10H+BX+DI=58500H (58500H) = B456H , CL=4

执行后:(58500H) = 0B45H

(3)例如:已知SS=3200H, SP=0500H,CX=5484H,求下指令执行后的结果。

PUSH CX ; SP-2=SP ,执行后SP=04FEH , (SS:SP)= (3200H: 04FEH) = 5484H

或(324FEH) =5484H

(4)已知ES=2000H,DI=0500H,CX=0004H,AL=56H

REP STOSB ;重复执行(ES:DI)—AL 共CX 次

执行后(20500H--20503H)=56H

(5)已知ES=2000H,DI=0500H,CX=0004H, DS=1000H,SI=0100H ,(10100H) =AAH、(10101H) =BBH、(10102H)=CCH、(10103H) =DDH

指令REP MOVSB ;重复执行(ES:D1)—(DS:SI)共CX 次

执行后(20500H …20503H)=AAH、BBH、CCH、DDH

17、作业:3.1、3.2、3.4、3.5、3.6、3.9、3.11

第四章:

1、掌握汇编语言程序的编程格式。P124

2、掌握汇编语言中常量、标识符、表达式。P125

3、掌握汇编语言中数据定义语句。P130

4、掌握汇编语言中变量的屈性和数据的类型。P137

5、掌握汇编语言中标号的属性。P137

6、掌握汇编语言屮属性运算符PTR。

答:用PTR可以说明和重新指定变量或标号的类型。

例如:INT [BX]—-类型不确定

正确的写法:INT BYTE PTR [BX]-■一字节类型

INT WORD PTR [BX]—-字类型

例如:XDW 1234H -------- 字属性

MOV AL , X-一一类型错误

正确的写法:MOV AL , BYTE PTR X ; AL=34H

7、如果从存储器的50000H地址开始分配段区,要求代码段占用2 K字节空间,数据段占1K字节空间、

堆栈段占用100个字节空间。按代码段、数据段和堆栈段的顺序连续分段,各段信息存储的偏移地址从0开始,写出CS、DS、SS各段寄存器内容是什么?

答:代码段范围50000H—507FFH ,CS=5000H

数据段范围50800H—50BFFH ,DS=5080H

堆栈段范围50C00H--50C63H ,SS=50C0H

8、掌握汇编语言屮的宏定义,给出宏定义,要求可写出宏调用后的宏展开的指令。

例如:AAA MACRO A,B,C

SHLA, 1

ADD B, C

ENDM

执行宏调用AAA AL,BX, 1234H

宏展开:SHL AL, 1

ADD BX, 1234H

9、可用于回送变量段地址、段内偏移地址、DUP定义的单元数量的伪指令有哪些。

答:回送变量段地址的伪指令是SEG

回送变量段内偏移地址的伪指令是OFFSET

回送DUP定义的数据元素数量的伪指令是LENGTH

10、调用程序与子程序之间参数传递的方法有哪些。

答:寄存器、堆栈、参数表

11、掌握汇编语言中的DOS功能调用的方法(单个字符输入输出、串字符输入输出)。

例:键入单个字符,判断是否为回车,是转EXIT,否则转L.

MOVAH , 1

INT21H

CMPAL,0DH

JE EXIT

JMP L

EXIT: ........

例:显示单个字符数字6

MOV DL. 36H

MOV AH , 2

INT21H

12、要求会分析程序段执行后的功能。(BCD码求和、移位乘、程序分支) 作业:3.4 (1) 3.5例:MOVAL,5 ;X=5

SHLAL, 1 :2X

MOV BL , AL ; BL=2X

SHLAL, 1 ;4X

ADD AL, BL ;AL=6X=30

13、掌握查表程序的编程。

例:已知TZB DB C0H,F9H……;0—F的七段LED显示码表

编程实现对定义在X单元屮的0—F查表产生显示码的程序。

MOV BX , OFFSET TZB

MOV AL, X

MOV AH, 0

ADD BX, AX

MOV AL ,[BX]

14、编程实现两位压缩BCD码转为ASCII并送屏幕显示

解:MOV AL , 45H

MOV BL,AL

;转换并显示高位

MOV CL ,4

SHLAL,CL

ADD AL ,30H

MOV DL,AL

MOV AH , 2

INT21H

;转换并显示低位

MOV AL ,BL

AND AL OFH

ADD AL ,30H

MOV DL,AL

MOV AH , 2

INT21H

15、编程实现从键盘输入产生十六进制数(0-F)存入X单元。

解:数字0—9 的ASCII: 30H—39H,字母A—F:41H—46H

L: MOV AH , 1

INT21H

CMPAL,30H

JB L

CMPAL,39H

JA LI

SUB AL, 30H

MOV X, AL

JMP L2

LI: CMPAL,41H

JB L

CMPAL,46H

JA L

SUB AL, 37H

MOV X, AL

L2: ...............

16、掌握分类统计程序的编程。

例:设BUF中定义了一批大小写字母,统计大小写字母的个数存入X、Y单元大写字母A-Z: 41H—5AH ,小写字母a—z: 61H—7AH

BUF DB 'uhwddlksfklfdSDKFDSF'

COUNT EQU $? BUF

X DB?

Y DB?

MOV BX , OFFSET MOV CX , COUNT MOV DX, 0

L2:M0VAL,[BX]

CMPAL,41H

JB L

CMP AL, 5 AH

JA LI

INC DL

JMPL

L1:CMPAL,61H

JB L

CMP AL, 7 AH

JA L

INC DH

L: INC BX

LOOPL2

17、编程实现A、B两个字节数组(带符号数)求和存入C,设数组长为20个字节

解:A DB ...................

B DB .................

C DB 20DUP(?)

MOV BX , OFFSET A

MOV SI, OFFSET B

MOV DI, OFFSET C

MOV CX, 20

CLC

L:MOVAL, [BX]

ADC AL, [SI]

MOV [DI], AL

INC BX

INC SI

INC DI

LOOPL

18、作业:4.1、4.2、4.3、4.9、4.10、4.11、4.12、4.14、4.18、4.20、4.21、4.23

第五章

1、系统地址总线的位数与寻址的存储空间有何关系?

答:设地址为n位,寻址的存储空间

例如:n=10可寻址1024个存储单元(IK) n=ll可寻址2048个存储单元(2K)

n=12可寻址4096个存储单元(4K)n=13可寻址8192个存储单元(8K)

n=14可寻址16384个存储单元(16K)n=15可寻址32768个存储单元(32K)

n=16可寻址65536个存储单元(64K)n=17可寻址128K

n=18 可寻址256K n=19可寻址512K

n=20 可寻址IM n=21 可寻址2M n=22可寻址4M n=23可寻址8M

n=24 可寻址16M n=25 可寻址32M n=26可寻址64M n=27可寻址128M n=28 可寻址256M n=29 可寻址512M

2、微机存储器系统常用哪儿种芯片?芯片有哪些引脚?与系统的链接是怎样的?答:系统常用存储芯片有:SRAM、EPROM

SRAM芯片的引脚:数据线I/O8—I/O1,接系统的D7—DO

地址线Am-—A0,接系统的Am-—AO, m—由芯片容量决定输出允许

OE:接MEMR

读写控制WE:接MEMW

片选线CE:接片选信号译码器的输出端

3、要求掌握存储器芯片与8088 CPU接口电路的设计方法。

解:见第五章课件

第六章

1、系统中数据传送的控制方式主要有哪几种方式?

2、外设接口与外设通过那些信息进行连接?

相关主题
相关文档
最新文档