(完整版)微机原理课后习题参考答案.doc

(完整版)微机原理课后习题参考答案.doc
(完整版)微机原理课后习题参考答案.doc

第一章

2、完成下列数制之间的转换。

(1) 01011100B=92D(3)135D=10000111B(5)10110010B=262Q=B2H

3、组合型 BCD 码和非组合型 BCD 码有什么区别?写出十进制数254 的组合型 BCD数和非组合型数。

答:组合型 BCD码用高四位和低四位分别对应十进制数的个位和十

位,其表示范围是0~99;非组合型 BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9 。

组合型: 254=( 001001010100 )BCD

非组合型: 254=(00000010 00000101 00000100 )BCD

7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多

少?

答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加

法运算,可以简化机器的运算器电路。+32767~ -32768。

9、设计算机字长n=8,求下列各式的[X+Y]补和 [X-Y]补,并验证计算结果是否正确。

(1) X=18, Y=89 [X+Y]补 =00010010+01011001=01101011B=107D 正确

[X-Y]补 =10111001B=00010010+10100111= ( -71D)补正确

(2) X=-23, Y=-11 [X+Y]补 =11101001+11110101=11011110B= ( -34D)补正确

[X-Y] =11101001+00001011=11110100B= ( -12D)

补正确

(3) X=18, Y=-15 [X+Y]补=00010010+11110001=00000011B= ( 3D)补正确

[X-Y] =00010010+00001111=00100001B= ( 33D)

补正确

(4) X=-18, Y=120 [X+Y]补 =11101110+01111000=01100110B= ( 102D)补正确

[X-Y] =11101110+10001000=01110110B= ( 123D)

补由于 X-Y=-138 超出了机器数

范围,因此出错了。

13、微型计算机的主要性能指标有哪些?

答:CPU 字长、存储器容量、运算速度、 CPU内核和 IO 工作电压、制造工艺、扩展能力、软件

配置。

第二章

2、8086 标志寄存器包含哪些标志位?试说明各标志位的作用。

答:进位标志: CF;奇偶校验: PF;辅助进位: AF;零标志: ZF;符号标志: SF;溢出标志:OF。

5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址?

答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址

是对应逻辑段内的一种地址表示形式,它由段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。

物理地址 =段基址 *10H+ 偏移地址。

6、写出下列逻辑地址的段基址、偏移地址和物理地址。

(1) 2314H: 0035H ( 2) 1FD0H:000AH

答:( 1)段基址: 2314H;偏移地址: 0035H;物理地址: 23175H。

( 2)段基址: 1FD0H;偏移地址: 000AH;物理地址: 1FD0AH。

8、设( CS) =2025H,( IP) =0100H,则当前将要执行指令的物理地址是多少?

答:物理地址 =( CS) *10H+ (IP) =20350H

9、设一个 16 字的数据区,它的起始地址为 70A0H: DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。

答:首字: 70A0*10H+DDF6H=7E7F6H

末字单元地址=起始地址 +(字数 -1) *2=7E7F6H+( 16-1) *2=7E814H。

13、 80486CPU 内部由哪些主要部件构成?有哪几种工作模式?

答:( 1)总线接口单元、指令预取单元、指令译码单元、控制单元,整数运算单元,浮点

运算单元,段预存储器管理单元,高速缓冲单元。

(2)实地址模式、保护虚拟地址模拟、虚拟8086 模式

14、 80486CPU 存储器最大可寻址空间是多少?虚拟存储空间是多少?两者有何区别?

答:最大可寻址空间是 4GB,虚拟存储空间是 64TB。前者为实地址,虚拟存储空间为外部存储

管理器。

第三章

4、指出下列指令中的源操作数和目标操作数的寻址方式。

(1) MOV BX,1000H源操作数:立即寻址;目标操作数:寄存器寻址

(2) MOV AL,[BX]源操作数:寄存器间接寻址;目标操作数:寄存器寻址

(5) MOV [DI+1000H],BX 源操作数:寄存器寻址;目标操作数:寄存器相对寻址

(6) MOV [1000H],CX 源操作数:寄存器寻址;目标操作数:直接寻址

5、设( DS)=2000H、( ES)=2100H、( SS)=1500H、( BX)=0100H、( BP)=0040、

( SI)=00A0H、(DI) =0120H,在指令 MOV AX, src 中,求用下列表示源操作数 src 的有效地址EA和物理地址 PA各是多少?

(1) 100H[BX] EA=(100H+0100H)=0200H ; PA=2000*10H+0200H=20200H

(2) ES:[BX+DI] EA=0100H+0120H=0220H ; PA=2100*10H+0220H=21220H

(4) ES:[BX+10H] EA=0100H+0010H=0110H ; PA=21000H+0110H=21110H

6、指出下列指令中的错误,并改正。

(1) MOV BL,30A0H 操作数不匹配改: MOV BX, 30A0H

(2) MOV 0010H,AL 立即数不可以作为目标操作数改: MOV AX, 0010H

(3) XCHG AL,BX 操作数类型不匹配改: XCHG AX,BX

(4) MOV [AX],3456H 立即数送入存储器需要说明改: MOV WORDPTR [AX],3456H (5) PUSH AL 堆栈以字为操作单元改: PUSH AX

(6) POP CS POP不可以用 CS为目标操作数改: POP AX

( 7) MOV DS, 1000H 立即数不能直接送入段寄存器改: MOV AX, 1000H

MOV DS, AX (8) MOV [BX],[1000H] 存储器不可以相互传送改: MOV AX, [1000H]

MOV [BX],AX

(9) LDS ( BX), [1000H] LDS使用时期目标为16 位通用寄存器改: LDS BX, [1000H] (10) LEA BX, CX LEA源操作数为存储器改: LEA BX, [CX]

7、已知( AX)=4A0BH,[1020H] 单元中的内容为260FH,写出下列每条指令单独执行后的结果。

(1) MOV AX,1020H ;( AX) =1020H

(2) XCHG AX, [1020H] ;( AX) =260FH

(3) MOV AX, [1020H] ;( AX) =260FH

(4) LEA AX, [1020H];(AX)=1020H

10、设一个堆栈段共有100H 个字节单元,堆栈的起始地址为1250H:0000H,若在堆栈中存

有 5 个字数据,问:

(1)栈顶的物理地址多少?

(2)栈底的物理地址是多少?

(3)当前 SS和 SP的内容是多少?

(4)若弹出两个数据, SP的内容是多少?

答:栈底:12600H栈顶:12600-A=125F6H

(4)弹出两个数据后, SP内容, 00F6+4=00FAH

则, SP: [1250H:00FAH ]

11、编程完成下列程序段,根据运算结果置标志位 OF、 SF、ZF、 AF、 PF、 CF,并分析程序执行结果是否正确?为什么?( n=8)

(2) 122-64 ( 4) -68+( -72)

答:( 2)程序: MOV AL, 120

MOV BL, 64

计算结果:

SUB

00111010

AL, BL

OF=0 SF=0 ZF=0 AF=0 PF=1CF=0

(4)程序:MOV AL, -68

MOV BL, -72

ADD AL, BL

计算结果: 01110100 有溢出OF=1 SF=0 ZF=0 AF=1 PF=1CF=1

17、判断下列指令格式的对与错,并解释错在哪里。

(1) ADD 25H, AX 错;目标操作数不可以为立即数

(2) INC BX, 1 错; INC 只有目标操作数

(3) MUL AL, BL 错;乘法指令目标操作数是隐含的

(4) SUBB AL, 3 错;减法指令是 SUB

(5) DAA AL错;DAA后无操作数

(6) NEG CX, 0 错; NEG后只有目标操作数

(7) CMP [BX],1000H[BX+SI] 对

22、写出下列程序段执行后的结果。

MOV CL, 4

MOV AL,87

MOV DL, AL

AND AL, 0FH

OR AL, 30H

SHR DL, CL

OR DL,30H

(A L) = 37H ,( DL) =35H

27、试用 CMP 指令和条件转移指令实现下列判断

(1) AX 和 CX 中的内容为无符号数:

若( AX) >( CX)则转至B IGGER符号执行;若(AX)<( CX)则转至LESS符号执行。(2) BX 和 DX 中的内容为无符号数:

若( BX)>( DX)则转至 BIGGER符号执行;若(BX)<( DX)则转至LESS符号执行。答:( 1) CMP AX, CX

JA BIGGER

JB LESS

(2) CMP BX, DX

JG BIGGER

JL LESS

第四章

8、按下列的要求写出段定义格式。

(1)数据段的位置从0E000H 开始,在该段中定义的 5 个字节数据, 3 个字数据, 2 双字数据,要求字节数据从偏移地址0000H 开始,字数据从偏移地址0010H 开始,双字数据从偏移地址 0020H 开始。

(2)堆栈段定义100 个字节

(3)代码段的开始位置给有关段寄存器赋值,在程序结束时能够返回DOS。

答: DATA SEGMENT

ORG0000H

D1 DB00H,01H,02H,03H,04H

ORG0010H

D2 DW 0000H,0010H,0020H

ORG0020H

D3 DD 3 DUP()

DATA ENDS

STACK SEGMENT STACk

DB 100 DUP

STACK ENDS

CODE SEGMENT CODE

ASSUME CS: CODE, DS:DATA

START :

CODE ENDS

ENDS START

10、定义数据段,画出数据存储示意图,并说明该数据段共有多少个字节单元。

DATA SEGMENT

D1 DB 12, 0,’A’, -6

D2 DW 1234H, 65H

D3 DB 3 DUP(3, 0, 5)

DATA ENDS

共有 17 个存储单元如下图:

0CH

00H

41H

FAH

34H

12H

65H

00H

03H

00H

05H

03H

00H

05H

03H

00H

05H

12、定义数据段如下,画出数据存储示意图,并说明变量X1 和 X2 所对应的逻辑地址各是多少?

DATA SEGMENT AT 10A0H

ORG 0010H

X1 DB 22, 33,

ORG $ + 0020H

X2 DB ‘ AB12CD’

DATA ENDS

10A00H

.

.

.

10A10H16H

21H

10A32H41H

42H

31H

32H

43H

44H

X1 逻辑地址: 10A0H: 0010H X2 的逻辑地址: 10A0H:0032H

13、定义数据段如下,写出执行以下指令后的结果。

DATA SEGMENT

DA1 DW 2437H ,14A2H

DA2 DB‘ABCD’

DA3 DD 10 DUP ( ?)

DATA ENDS

(1) MOV BX, DA1;(BX)=2437H

(2) MOV SI, OFFSET DA1 ;( SI) =0000H

(3) MOV AL, TYPE DA1 ;( AL)=2

(4) MOV AL, [DA2+02H] ;( AL) =‘ C’=43H

(5) MOV AL, LENGTH DA3;(AL) =10

(6) MOV AL, SIZE DA3;( AL) =10

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

DATA SEGMENT

NAMES DB‘ GOOD MORNING!’

DW 2050H,78H, 3080H

DATA ENDS

请指出下列指令序列执行后累加器中的结果是多少?

(1) MOV BX, OFFSET NAMES

MOV AL,[BX+03H]

(2)MOV BX, 12

MOV SI, 3

MOV AX, NAMES[BX+SI]

(3)MOV BX, 12

MOV SI, 3

LEA AX, NAMES[BX+SI]

答:( 1) [BX+03H]对应的是“ D”因此结果是44H

(2) 78H

(3) LEA 将源操作数的逻辑地址送到目标操作数,因此0FH

18、编写程序,将MBUF 为起始单元的 5 个数按相反次序传送到NBUF 开始的存储单元中。答: DATA SEGMENT

MBUF DB 1,2, 3, 4,5

COUNT EQU $-MBUF

NBUF DB 5 DUP(?)

DATA ENDS

STACK SEGMENT PARA STACK

DB 20H DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS: CODE,SS: STACK,DS: DATA

START: MOV AX,DATA

MOV DS,AX

MOV BX,OFFSET MBUF

MOV CX,5

LOP1:PUSH [BX]

INC BX

DEC CX

JNZ LOP1

MOV BX,OFFSET NBUF

MOV CX,5

LOP2: POP [BX]

INC BX

DEC CX

JNZ LOP2

MOV AX,4CH

INT 21H

CODE ENDS

END START

20、编写程序,将内存中某数据块中的正数和负数分开,并分别将这些正数和负数送同一数据段的两个缓冲区中,并在屏幕上显示正数和负数的个数(数据自定)。答: DATA SEGMENT

SHU DB 2,4,-9,-10,5,-2,-2,4,5,7; 源数据块,共有十个数,六个正数,四个负数

COUNT EQU $-SHU

ZS DB 10 DUP(?);给正数预留 10 个字节的空间

ORG 0020H;调整数据位置

FS DB 10 DUP(?)

XZ DB 'NUMBER OF XZ:','$' ;显示在屏幕上的字符串

XF DB 'NUMBER OF XF:','$'

DATA ENDS

STACK SEGMENT STACK

DW 100 DUP(?)

STACK ENDS

CODE SEGMENT

START: MOV AX,DATA

MOV DS,AX;数据段装入

MOV BX,OFFSET SHU

MOV DI,OFFSET ZS

MOV SI,OFFSET FS

MOV CX,COUNT

LOP1:MOV AL,[BX]

CMP AL,0

JG SZ;大于 0 跳转到 SZ中

MOV [SI],AL

INC SI;负数送到缓冲区FS中

JMP C1

SZ: MOV [DI],AL; 正数送到缓冲区ZS中

INC DI

C1: INC BX

DEC CX

JZ SHUCHU;ZF 标志位为1, cx 为 0

,跳到SHUCHU执行

JMP LOP1;cx 不为 0,循环

SHUCHU: MOV DX,OFFSET XZ

MOV AH,09H

INT 21H;输出字符串

SUB DI,OFFSET ZS ;正数的个数

ADD DI,30H

MOV DX,DI

MOV AH,02H

INT 21H;转为 ASCII码输出

MOV DX,OFFSET XF

MOV AH,09H

INT 21H

SUB SI,OFFSET FS;负数的个数

ADD SI,30H

MOV DX,SI

MOV AH,02H

INT 21H;转为 ASCII码输出

MOV AH,4CH

INT 21H;返回 DOS

CODE ENDS

END START

10 个字节的有符号数,从这些数种找出绝对值21、编写程序,从内存BLOCK开始,存放

最大的数,存在MAX 中。

答:

DATA SEGMENT

BLOCK DB 2,8,9,18,-14,-12,5,12;源数据共有8 个数,绝对值最大数为18

COUNT EQU $-BLOCK ; 数据长度

ORG 0020H

MAX DB ? ;最大数据

DATA ENDS

STACK SEGMENT STACK

DB 100 DUP (?)

STACK ENDS

CODE SEGMENT

ASSUME CS: CODE, DS: DATA,SS:STACK

START:

MOV AX, DATA

MOV DS, AX ;装入数据段基址

MOV AL, 0H ;初始AX

LEA BX, BLOCK

MOV CX, COUNT LOP1:

MOV DL, [BX]

CALL CP

INC BX

DEC CX

JNZ LOP1 LEA BX, MAX

MOV [BX], AL

MOV AH, 4CH

INT 21H

CP PROC ;调用比较子程序

; 递推

;循环

;取最大值存储区地址

;移入最大值

;返回 DOS

;比较 AL 和 DL,将较大的

数存入AL.入口参数: AL, DL 出口参数: AL

CMP DL, 0

JG POSITIVE ;DL 为正数

NEG DL ; 求相反数

POSITIVE:

CMP AL, DL ;比较AL 和[BX]中的大小

JG EXIT MOV AL, DL ;AL 大于

;将

DL 则跳转

DL 移入 AL

EXIT:

RET ; 退出

CP ENDP

CODE ENDS

END START

26、

DATA SEGMENT

D1 DB 3,4,2,7,8,12,10

COUNT EQU $-D1

D2 DB 10 DUP(?)

DATA ENDS

STACK1 SEGMENT STACK

DB 100 DUP(?)

STACK1 ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK1

START: MOV AX,DATA

MOV DS,AX; 数据段装入

MOV CX,COUNT

DEC CX ;外层循环 CX-1 次

LOP1: MOV SI,CX

LEA BX,D1

LOP2:MOV AL,[BX]

CMP AL,[BX+1] ;比较 D1 的第一个数与第二个数的大小

JAE LOP3

XCHG AL,[BX+1] ;交换两个数

MOV [BX],AL

LOP3:INC BX

DEC CX

JNZ LOP2

MOV CX,SI

DEC CX

JNZ LOP1

LIST: MOV AH,4CH

INT 21H;返回 DOS

CODE ENDS

END START

第五章

5-7 若用 1024*1b 的 RAM 芯片组成 16K*8b 的存储器 ,,需要多少芯片 ?在地址线中有多少位参与片内寻址 ?多少位用做芯片组选择信号 ?

解 :

先进行位扩展 ,一组芯片需要 8 片

再进行字扩展 ,需要 16 组芯片 .

所以共需要 16*8=128 片1024=1K,

需要 10 位参与片内寻址

16=24,需要 4 位做选择信号 .

5-8 试用 4K*8b 的 EPROM2732和 8K*8b 的 SRAM6264,以及 74LS138译码器 ,构成一个 8KB的 ROM,32KB的 RAM 存储系统 ,要求设计存储器扩展电路 ,并指出每片存储芯片的地址范围 .

解 :

片选

译码片内译码

芯片型号A15~A13 A12 A11~A0 地址范围

1# 2732 000 0 00? 0 0000H~0FFFH

~

2# 2732 000 1 1000H~1FFFH

11? 1

3# 6264 001

00 0 2000H~3FFFH

4# 6264 010 4000H~5FFFH

~

5# 6264 011 6000H~7FFFH

11 1

6# 6264 100 8000H~9FFFH

5-9 用 EPROM2764(8K*8b)和 SRAM6264( 8k*8b )各一片组成存储器,其地址范围为 FC000~FFFFFH,试画出存储器与 CPU的连接图和片选信号译码电路(CPU地址线 20 位,数据线 8 位)。

1111 1100 0000 0000 0000

1111 1101 1111 11111111

1111 1110 0000 0000 0000

1111 1111 1111 1111 1111

5-10 现有存储芯片 :2K*1b 的 ROM 和 4K*1bde RAM,若用它们组成容量为 16KB的存储器 ,前 4KB为 ROM,后 12KB为 RAM,问各种存储芯片分别用多少片 ?

解 :

4KB=4K*8b 12KB=12K*8b 需要

需要

2*8=16

3*8=24

第六章

6-3 CPU响应中断时的处理过程是什么?在各个处理环节主要完成哪些操作?

解:中断处理过程通常由中断请求、中断响应、中断处理和中断返回四个环节完成。

(1)中断请求:中断源需要进行中断服务时,由硬件产生一个中断信号 INTR 发给 CPU 且保持到CPU响应。

(2)中断响应: CPU在当前指令执行结束后采样查询INTR,若中断请求信号有效且允许响

应 INTR 中断( IF=1),则向请求设备送回低电平有效的中断响应信号INTR ,自此系统自动进入中断响应周期,并由硬件自动完成内容入栈,清除 TF 和 IF 标志、断点(中断返回之后将要执行

的指令地址)入栈,取中断服务程序的入口地址等一系列操作,继而转去执行中断服务程序。(3)中断处理:执行中断的主体部分。不同的中断请求源,其中断处理的内容是不同的。

需要根据中断请求源所要完成的功能,编写相应的中断服务程序存入内存。等待中断响应后调用

执行。

(4)中断返回:又中断服务程序中的中断返回指令 IRET完成。执行该指令时,将压入对战的断

点和标志位弹出,使 CPU转向被中断的现行程序中继续执行。

6-10中断向量表用来存放什么内容?它占用多大的存储空间?存放在内存的哪个区域?

可以用什么方法写入或者读取中断向量表的内容?

答:中断向量表用来存放中断服务程序的偏移地址和段基址。

RAM 区,地址范围是000H~3FFH。

写入方法: 1、用传送指令直接装入。

2、 DOS功能调用:INT 21H

占用1KB 内存。最低端的1KB

(AH)=25H

(AL)=中断类型号

(DS:DX)=中断服务程序的入口地址

读出方法: 1、用传送指令直接读。

2、 DOS功能调用: INT 21H

(AH)=35H

(AL)=中断类型号

出口参数:( ES: BX) =中断服务程序的入口地址

6-19某系统使用两片8259A 管理中断,从片的INT 连接到主片的IR2 请求输入端。设主片工作于边沿触发、特殊完全嵌套、非自动结束和非缓冲方式,中断类型号为70H,端口地址为 80H 和 81H;从片工作与边沿触发、完全嵌套、非自动结束和非缓冲方式,中断类型号为

40H,端口地址为20H 和 21H。要求:

(1)画出主、从片级联图

(2)编写主、从片初始化程序

解:

电路图参见教材P179 图 6-21,主片CS

由 A19-A1=0000 0000 0000 1000 000 和 M/

IO

给出低

电平,从片CS

由A19-A1=0000 0000 0000 0010 000和M/

IO

给出低电平。

主片 8259A

MOV AL,11H(00010001B)

OUT 80H, AL ;定义 ICW1

MOV AL, 70H(01110000B)

OUT 81H, AL ;定义 ICW2

MOV AL, 04H(00000100B)

OUT 81H, AL ;定义 ICW3

MOV AL, 11H(00010001B)

OUT 81H, AL ;定义 ICW4

MOV AL, FBH(11111011B)

OUT 81H, AL ;定义 OCW1

(开放从片IR2 的请求)

IN AL, 81H

AND AL, 11111011

OUT 81H, AL

从片 8259A

MOV AL,11H(00010001B)

OUT 20H, AL ;定义 ICW1

MOV AL, 40H(01000000B)

OUT 21H, AL ;定义 ICW2

MOV AL, 02H(00000010B)

OUT 21H, AL ;定义 ICW3

MOV AL, 01H(00000001B)

OUT 21H, AL ;定义 ICW4

6-20 某系统由8259A 的 IR2 引入外设中断请求(跳变信号有效),要求当CPU响

时,输出显示字符串“**** ”,并中断 10 次退出,试编写主程序和中断服务程序。

IR2 请求解:

设 8259A 的 I/O 地址为 20H, 21H,中断类型号 0AH,从 IR2 引入DATA SEGMENT

MESS DB '*****',OAH,ODH,'$'

INTA00 EQU 0020H

INTA01 EQU 0021H

DATA ENDS

STACK SEGMENT STACK

DB 100H DUP (?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE, DS: DATA, SS: STACK

MAIN: MOV AX,DATA

MOV DS, AX

MOV DX, INTA00 ; 8259A 初始化

MOV AL, 13H ;写 ICW1

OUT DX, AL

MOV DX, INTA01

MOV AL, 08H ;写 ICW2

OUT DX, AL

MOV AL, 01H ;写 ICW4

OUT DX, AL

PUSH DS

MOV AX,SEG INT-P ;设置中断矢量

MOV DS, AX

MOV DX, OFFSET INT-P

MOV AL, 0AH

MOV AH, 25H

INT 21H

POP DS

MOV AL, 0FBH ;写中断屏蔽字OCW1

OUT DX, AL

MOV DX, INTA00

MOV AL, 20H ;写中断结束方式OCW2

OUT DX, AL

MOV BX, 10

WAIT1: STI ;开中断

JMP WAIT1 ;等待中断

INT-P: MOV AX, DATA ;中断服务程序入口

MOV DS, AX

MOV DX, OFFSET MESS ;输出指定字符串

MOV AH, 09H

INT 21H

MOV DX, INTA00 ;写 OCW2,送中断结束命令 EOI

MOV AL, 20H OUT DX, AL

DEC BX

JNZ NEXT

MOV DX, INTA01

IN AL, DX

OR AL, 04H

OUT DX, AL

STI

MOV AX, 4C00H

INT 21H

NEXT: IRET

CODE: ENDS

END MAIN

;控制 10 次循环

;读屏蔽寄存器

;屏蔽 IR2 请求

;开中断

;返回操作系统

;中断返回

IMR

第七章

3、CPU与 IO 接口设备数据传送的控制方式有哪几种?它们各有何特点?

答:( 1)查询方式:不需要额外的硬件支持,但由于CPU 与外设工作的不同步,致使CPU 利用率低,适用于工作不太繁忙的系统中。

(2)中断方式:CPU与外部设备并行工作

(3) DMA 方式:数据传送过程中,由 DMA 控制器参与工作,不需要 CPU 的干预,对批量数据

传送效率高。

6、设 8255A 的 A 口工作于方式 1 输出, B 口工作于方式0 输入,试编写初始化程序(设端

口地址为 40H~43H)

答: MOV DX ,43H

MOV AL ,10100010

OUT DX,AL

7.使用 8255A 作为开关和LED指示灯电路的接口.要求接 8 个 LED 指示灯,将 A 口的开关状态读入,然后送至8255A 的 A 口连接 8 个开关, B 口连

B 口控制指示灯亮、灭。试画出接

口电路设计图,并编写程序实现。

VCC

R1 R2 R3 R4 R5 R6 R7 R8

D0 -D7

34 U1

4

S1

D0 PA0

33 3 S2 D1 PA1

32 2

S3

D2 PA2

31 1

S4

D3 PA3

30 40 S5

D4 PA4

29 39

S6

D5 PA5

28 D6 PA6 38 S7

27

D7

PA7

37

S8

VCC

RD 5 RD PB0 18

1

U3 A

2

D1

WR 36 19

WR PB1

A0 9 20

7406

A0 PB2

A1

8 21

A1 PB3

RESET

35 22 3

4

D2

RESET PB4

U3 B

6

23

CS

PB5 7 406

24

PB6

U2

25

A2 1

1 5

PB7

5

6

D3

A Y0 U3 C

A3 2 1 4

14

7406

B Y1

PC0

A4

3

1 3

15

C

Y2

PC1

1 2

16

Y3 PC2

1 1

17

9

8

D4

Y4

PC3

U3 D

4

1 0

13

E1 Y5

PC4

5 9

12

E2 Y6

PC5

740 6

6

7

11

E3

Y7

PC6

10

11

10

D5

PC7

U3 E VCC

74LS1 38

740 6

8 255

13

U3 F 12

D6

740 6

1

U4 A 2

D7

740 6

3

U4 B 4

D8

7406

程序实现:

设 8255 的地址: 0FFE0H~0FFE3H DATA SEGMENT

DB 100H DUP (?) DATA ENDS CODE SEGMENT

ASSUME CS : CODE , DS DATA START : MOV AX,DATA

MOV DS,AX MOV AL,10010000 ; A 口方式 0 输入 B 口方式 0 输出

MOV DX,0FFE3H OUT DX,AL MOV DX, 0FFE0H IN AL,DX ;读取 A 口开关状态

INC DX NOT AL

OUT DX,AL ;输出 B 口驱动 LED ,开关闭合则 LED 亮

RET

CODE ENDS

END START

10、利用 8254 的通道 1,产生 500Hz 的方波信号。设输入时钟频率

CKL1=2.5MHz ,端口地

址为 FFA0H~FFA3H,试编写初始化程序。

答:端口地址:FFA0H-FFA3H

计数器 1 的控制字: 01110110B=76H

初始化程序:

计数常数=2.5M/500=5000

MOV AL,76H

MOV DX,0FFA3H

OUT DX,AL

MOV AX,5000

MOV DX,0FFA1H

OUT DX,AL ;写入计数器 1 的低字节

MOV AL,AH

OUT DX,AL;写入计数器 1 的高字节

11、某系统使用8254 的通道 0 作为计数器,记满1000,向

程序(端口地址自设)。

答:设 8254 端口地址: 40H-43H

计数器 0 的控制字: 00110000B=30H计数常数=1000

初始化程序:

CPU发中断请求,试编写初始化

MOV AL,30H

OUT 43H,AL

MOV AX,1000

OUT 40H,AL ;写入计数器0 的低字节

MOV AL,AH

OUT 40H,AL 12、采用 8254 的通道

;写入计数器0 的高字节

0 产生周期为10ms 的方波信号,设输入时钟频率为100kHz,8254 的

端口地址为38H-3BH,试编写初始化程序。

答: 8254 端口地址: 38H-3BH

计数器 0 的控制字: 00110110B=36H

初始化程序:

计数常数=100K*10ms=1000

MOV AL,36H

OUT 3BH,AL

MOV AX,1000

OUT 38H,AL ;写入计数器0 的低字节

MOV AL,AH

OUT 38H,AL;写入计数器0 的高字节

15、什么是波特率?假设异步传输的一帧信息由 1 为起始位, 7 位数据位、 1 为校验位和 1 位停止位构成,传送的波特率为9600,则每秒钟能传输字符的个数是多少?

答:波特率是指数据传送的速率,含义是指每秒钟传二进制数的位数,单位用bps或波特表示每秒可传送的字符个数。

9600/(1+7+1+1)=960

16、一个异步串行发送器,发送的字符格式为: 1 位起始位、7 位数据位、 1 位奇偶校验位和 2 位停止位,若每秒传送 100 个字符,则其波特率为多少?

答: 100* ( 1+7+1+2) =1100bps

19、设某系统使用一片 8250 进行串行通信,要求波特率为 2400 ,8 位数据位, 2 位停止位,偶

校验,对接收缓冲器满开中断,试编写初始化程序。

答:设 8250 端口地址: 3F8H-3FEH XTAL1=1.8432MHz, BAUD=2400

除数寄存器: 1.8432M/(2400*16)=48=30H 3F8H

线路控制寄存器: 10011111B=1FH 3FBH

中断允许寄存器: 00000001B=01H 3F9H

初始化程序:

MOV DX,3FBH

MOV AL,80H

OUT DX,AL ;置线路控制寄存器 DLAB=1

MOV DX,3F8H

MOV AX,30H

OUT DX,AL ;除数寄存器低8 位

INC DX

MOV AL,AH

OUT DX,AL ;除数寄存器高8 位

MOV DX,3FBH

MOV AL,1FH

OUT DX,AL ;8 位数据位 2 停止位偶校验

MOV DX,3FCH

MOV AL,03H

OUT DX,AL ;MODEM

MOV DX,3F9H

MOV AL,01H

OUT DX,AL ; 中断允许寄存器

21、设计一个应用系统,要求:8255A 的 A 口输入 8 个开关信息,并通过8250 以串行的方式循环,将开关信息发送出去。已知: 8255 的端口地址为 100H-103H, 8250 输入的基准时钟频率为 1.8432MHz ,传输波特率为 2400,数据长度为 8 位, 2 位停止位,奇校验、屏蔽全部中断,端口地址为 108H~10EH,采用查询方式传送。要求:

(1)设计该系统的硬件连接电路(包括地址译码电路);

(2)编写各芯片的初始化程序

(3)编写完成上述功能的应用程序。

答:( 1)

A3 1 A4 2 A5 3

4

5

6

A8

D0 -D7

U1

3 4 4

D0 PA0

3 3 3

D1 PA1

3 2 2

D2 PA2

3 1 1

D3 PA3

3 0 40

D4 PA4

2 9 39

D5 PA5

2 8 38

D6 PA6

2 7 37

D7 PA7

RD 5 18

WR RD PB0

3 6 19

A0

WR PB1

9 20

A1 A0 PB2

8 21

RESET

A1 PB3

3 5 22

RESET PB4

6 23

CS PB5

24

PB6

25

PB7

14

PC0

15

PC1

16

PC2

17

PC3

13

PC4

12

PC5

11

PC6

10

PC7

825 5

U3

1 10

D0 SIN

2 11

D1 SOUT

3 15

D2 BAUDOU

4 9

D3 RCLK

5

D4

32

6

D5 RTS

7 36

D6 CTS

8 33

D7 DTR

37

A0 2 8 DSR 38

A1

A0 RSLD

2 7 39

A2

A1 RI

2 6 34

U2 A2 OUT1 31

15 1 2 OUT2

A Y0 VCC CS0

22

B Y1

14 1 3

13

CS1 DISTR

C Y2 1 4 21

12

CS2 DISTR

Y3

2 5 19

11 ADS DOSTR

Y4

3 5 18

10

MR DOSTR

E1 Y5 23

9 1 6 DDIS

E2 Y6 24

7

XTAL1 CSOUT

E3 Y7

1 7 30

XTAL2 INTRPT

74LS1 38 WD8 250

VCC

R1 R2R3 R4R5R6 R7R8

S1

S2

S3

S4

S5

S6

S7

S8

8255:100H-103H

8250:108H-10EH

(2) 8255 初始化程序:

MOV DX, 103H

MOV AL, 10010000B;A口输入

MOV DX, AL

8250 初始化程序:

8250 端口地址: 108H-10EH XTAL1=1.8432MHz,BAUD=2400 除数寄存器 =1.8432M/(2400*16)=48=30H 108H

线路控制寄存器: 00001111B=0FH 10BH

中断允许寄存器: 00000000B=00H 109H

初始化程序:

MOV DX,10BH

MOV AL,80H

OUT DX,AL ;置线路控制寄存器DLAB=1

MOV DX,108H

MOV AX,30H

OUT DX,AL ;除数寄存器低8 位

MOV DX,109H

MOV AL,AH

OUT DX,AL ;除数寄存器低8 位

MOV DX,10BH

MOV AL,0FH

OUT DX,AL ;8 位数据位 2 停止位奇校验MOV DX,10CH

MOV AL,03H

OUT DX,AL

MOV DX,109H

MOV AL,0

OUT DX,AL ;屏蔽所有中断

(3)

25、采用8237 的通道 1 控制外设与存储器之间的数据,设该芯片的片选

A15~A4=031H 译码提供。试编写初始化程序,把外设中1KB 的数据传送到内存CS 由地址线2000H 开始

的存储区域,传送完毕停止通道工作。

答:设 DREQ1高电平有效, DACK1低电平有效。采用块传输。

8237 地址: 0310H-031FH

初始化程序:

MOV DX,031DH

MOV AL,0

OUT DX,AL ;软件复位

MOV DX,0312H

MOV AL,00H

MOV DX,AL

MOV AL,20H

MOV DX,AL ; 2000H 写入基地址寄存器

MOV DX,0313H

MOV AX,1024

DEC AX

OUT DX,AL

MOV AL,AH

OUT DX,AL ;计数值写入基字节计数器

MOV DX,031BH

MOV AL,85H

OUT DX,AL ;写工作方式字:块传送、地址增1、写传送MOV DX,031AH

MOV AL,01H

OUT DX,AL ;写屏蔽字:允许通道 1 请求

MOV DX,0318H

MOV AL,00H

OUT DX,AL ;写命令字: DACK1=1 DREQ1=0允许 8237 工作

(完整版)微机原理课后习题参考答案

第一章 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 2、8086标志寄存器包含哪些标志位?试说明各标志位的作用。 答:进位标志:CF;奇偶校验:PF;辅助进位:AF;零标志:ZF;符号标志:SF;溢出标志:OF。 5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址? 答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址是对应逻辑段内的一种地址表示形式,它由段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。 物理地址=段基址*10H+偏移地址。 6、写出下列逻辑地址的段基址、偏移地址和物理地址。 (1)2314H:0035H (2)1FD0H:000AH 答:(1)段基址:2314H;偏移地址:0035H;物理地址:23175H。 (2)段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。 8、设(CS)=2025H,(IP)=0100H,则当前将要执行指令的物理地址是多少? 答:物理地址=(CS)*10H+(IP)=20350H 9、设一个16字的数据区,它的起始地址为70A0H:DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。

微机原理课后作业答案第五版

第一章 6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原 [-42]反 [-42]补 [+85]原=01010101B=[+85]反=[+85]补 [-85]原 [-85]反 [-85]补 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万条指令。

微机原理课后习题答案

李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——Intel 80X86系列》 机械工业出版社2002年2月第一版 ②陆一倩编《微型计算机原理及其应用(十六位微型机)》 哈尔滨工业大学出版社1994年8月第四版 ③王永山等编《微型计算机原理与应用》 西安电子科技大学出版社2000年9月 1.1将下列二进制数转换成十进制数: X=10010110B= 1*27+0*26+0*25+1*24+0*23+1*22+1*21 +0*21 =128D+0D+0D+16D+0D+0D+4D+2D=150D X=101101100B =1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20 =256D+0D+64D+32D+0D+16D+4D+0D=364D X=1101101B= 1*26+1*25+0*24+1*23+1*22+0*21 +1*20 =64D+32D+0D+8D+4D+0D+1D=109D 1.2 将下列二进制小数转换成十进制数: (1)X=0.00111B= 0*2-1+0*2-2+1*2-3+1*2-4+1*2-5= 0D+0D+0.125D+0.0625D+0.03125D=0.21875D (2) X=0.11011B= 1*2-1+1*2-2+0*2-3+1*2-4+1*2-5= 0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D (3) X=0.101101B= 1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6= 0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D 1.3 将下列十进制整数转换成二进制数: (1)X=254D=11111110B (2)X=1039D=10000001111B (3)X=141D=10001101B 1.4 将下列十进制小数转换成二进制数: (1)X=0.75D=0.11B (2) X=0.102 D=0.0001101B (3) X=0.6667D=0.101010101B 1.5 将下列十进制数转换成二进制数 (1) 100.25D= 0110 0100.01H (2) 680.75D= 0010 1010 1000.11B 1.6 将下列二进制数转换成十进制数 (1) X=1001101.1011B =77.6875D

微机原理及接口技术课后习题及参考答案

第一章课后习题 1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。 ① 16.25 ② 35.75 ③ 123.875 ④ 97/128 1.2 把下列二进制数转换成十进制数。 ① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.1 1.3 把下列八进制数转换成十进制数和二进制数。 ① 756.07 ② 63.73 ③ 35.6 ④ 323.45 1.4 把下列十六进制数转换成十进制数。 ① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC 1.5 求下列带符号十进制数的8位补码。 ① +127 ② -1 ③ -0 ④ -128 1.6 求下列带符号十进制数的16位补码。 ① +355 ② -1 1.7 计算机分那几类?各有什么特点? 1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。 1.9 80X86微处理器有几代?各代的名称是什么? 1.10 你知道现在的微型机可以配备哪些外部设备? 1.11 微型机的运算速度与CPU的工作频率有关吗? 1.12 字长与计算机的什么性能有关? 习题一参考答案 1.1 ① 16.25D=10000.01B=20.2Q=10.4H ② 35.75D=100011.11B=43.6Q=23.CH ③ 123.875D=1111011.111B=173.7Q=7B.EH ④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H 1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D ③ 111.01B=7.25D ④ 1010.1B=10.5D 1.3 ① 756.07Q=111101110.000111B=494.109D ② 63.73Q=110011.111011B=51.922D ③ 35.6Q=11101.110B=29.75D ④ 323.45Q=11010011.100101B=211.578D 1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D ③ B7C.8D=2940.551D ④ 1ECH=492D 1.5 ① [+127] 补=01111111 ② [-1] 补 = 11111111 ③ [-0] 补=00000000 ④[-128] 补 =10000000 1.6 ① [+355] 补= 0000000101100011 ② [-1] 补 = 1111 1111 1111 1111 1.7 答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统,存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。 1.8 答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影

微机原理课后作业答案(第五版)

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章微型计算机系统 〔习题〕简答题 (2)总线信号分成哪三组信号 (3)PC机主存采用DRAM组成还是SRAM组成 (5)ROM-BIOS是什么 (6)中断是什么 (9)处理器的“取指-译码-执行周期”是指什么 〔解答〕 ②总线信号分成三组,分别是数据总线、地址总线和控制总线。 ③ PC机主存采用DRAM组成。 ⑤ ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS 的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 ⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍

返回被中断的指令继续执行的过程。 ⑨指令的处理过程。处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。 〔习题〕填空题 (2)Intel 8086支持___________容量主存空间,80486支持___________容量主存空间。 (3)二进制16位共有___________个编码组合,如果一位对应处理器一个地址信号,16位地址信号共能寻址___________容量主存空间。 (9)最初由公司采用Intel 8088处理器和()操作系统推出PC机。 ② 1MB,4GB ③ 216,64KB (9)IBM,DOS 〔习题〕说明微型计算机系统的硬件组成及各部分作用。 〔解答〕

CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。 存储器:存储器是存放程序和数据的部件。 外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。 总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。 〔习题〕区别如下概念:助记符、汇编语言、汇编语言程序和汇编程序。 〔解答〕 助记符:人们采用便于记忆、并能描述指令功能的符号来表示机器指令操作码,该符号称为指令助记符。 汇编语言:用助记符表示的指令以及使用它们编写程序的规则就形成汇编语言。 汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。

微机原理课后答案

1.2 课后练习题 一、填空题 1.将二进制数1011011.1转换为十六进制数为__5B.8H_____。 2.将十进制数199转换为二进制数为____ 11000111____B。 3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD 码。 4.十进制数36.875转换成二进制是___100100.111____________。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。6.十进制数98.45转换成二进制为__1100010.0111_B、八进制__142.3463________Q、十六进制__62.7333________H。(精确到小数点后4位) 二、选择题 1.堆栈的工作方式是__B_________。 A)先进先出B)后进先出C)随机读写D)只能读出不能写入 2.八位定点补码整数的范围是____D_________。 A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是___B___。 A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768 三、简答题 1.微型计算机系统的基本组成? 微型计算机,系统软件,应用软件,输入输出设备 2.简述冯.诺依曼型计算机基本思想? ●将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 ●指令按其在存储器中存放的顺序执行; ●由控制器控制整个程序和数据的存取以及程序的执行; ●以运算器为核心,所有的执行都经过运算器。 3.什么是微型计算机? 微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4.什么是溢出? 运算结果超出了计算机所能表示的范围。 2.2 一、填空题 1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为___0.1μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。

微机原理(王忠民版课后答案)

部分习题答案 第二章计算机中的数值和编码 1、将十进制数转换为二进制和十六进制 (1) =1000 =(2) =1101 = (3) ==(4) =10 1B=H 2、将下列二进制数转换为十进制和十六进制 (1) 111010 B=58 =3A H(2) 1011 = =H (3) 1B= = (4) B= = 3、完成下列二进制数的加减法运算 (1) +=(2) -= (3) 00111101+=(4) -= 4、完成下列十六进制数的加减法运算 (1) 745CH+56DFH=D14B H(2) -=H (3) +=1678 .FC H(4) 6F01H-EFD8H=7F29 H 5、计算下列表达式的值 (1) +.1011B+= (2) -.11H+= (3) ++-= 6、选取字长n为8位和16位两种情况,求下列十进制数的补码。 (1) X=-33的补码:1101 1111, 111 (2) Y=+33的补码:0010 0001, 0000 0000 0010 0001 (3) Z=-128的补码:1000 0000,1111 1111 1000 0000 (4) N=+127的补码:0111 1111, 0000 0000 0111 1111 (5) A=-65的补码:1011 1111, 1111 1111 1011 1111 (6) B=+65的补码:0100 0001,0000 0000 0100 0001 (7) C=-96的补码:1010 0000,1111 1111 1010 0000 (8) D=+96的补码:0110 0000, 0000 0000 0110 0000 7、写出下列用补码表示的二进制数的真值 (1) [X]补=1000 0000 0000 0000 H X=-1000 0000 0000 0000 H=-32768 (2) [Y]补=0000 0001 0000 0001 H Y=+0000 0001 0000 0001 H=+257 (3) [Z]补=1111 1110 1010 0101 H Z=-0000 0001 0101 1011 H=-347 (4) [A]补=0000 0010 0101 0111 H A=+0000 0010 0101 0111 H=+599 8、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。 (1) 43+8 ∵[43]补=00101011B,[8]补=00001000B ∴[43]补+[8]补=00101011B+00001000B=00110011B=33H 00101011B +00001000B

微机原理课后习题答案

第二章 1.8086CPU由哪两部分组成?它们的主要功能是什么? 8086CPU由总线接口部件BIU和指令执行部件EU组成,BIU和EU的操作是并行的。 总线接口部件BIU的功能:地址形成、取指令、指令排队、读/写操作数和总线控制。所有与外部的操作由其完成。 指令执行部件EU的功能:指令译码,执行指令。 2.8086CPU中有哪些寄存器?各有什么用途? 8086CPU的寄存器有通用寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器PSW。 4个16位通用寄存器,它们分别是AX,BX,CX,DX,用以存放16位数据或地址。也可分为8个8位寄存器来使用,低8位是AL、BL、CL、DL,高8位是AH、BH、CH、DH,只能存放8位数据,不能存放地址。 指针和变址寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。 段寄存器给出相应逻辑段的首地址,称为“段基址”。段基址与段内偏移地址结合形成20位物理地址。 指令指针寄存器用来存放将要执行的下一条指令在现行代码中的偏移地址。 16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。 5.要完成下述运算或控制,用什么标志位判断?其值是什么? ⑴比较两数是否相等? 将两数相减,当全零标志位ZF=1时,说明两数相等,当ZF=0时,两数不等。 ⑵两数运算后结果是正数还是负数? 用符号标志位SF来判断,SF=1,为负数;SF=0,为正数。 ⑶两数相加后是否溢出? 用溢出标志位来判断,OF=1,产生溢出;OF=0,没有溢出。 ⑷采用偶校验方式。判定是否要补“1”? 用奇偶校验标志位判断,有偶数个“1”时,PF=1,不需要补“1”;有奇数个“1”时,PF=0,需要补“1”。 (5)两数相减后比较大小? ●ZF=1时,说明两数是相等的; ●ZF=0时: 无符号数时,CF=0,被减数大;CF=1,被减数小。 带符号数时,SF=OF=0或SF=OF=1,被减数大;SF=1,OF=0或SF=0,OF1,被减数小。 (6)中断信号能否允许? 用中断标志位来判断,IF=1,允许CPU响应可屏蔽中断;IF=0,不响应。 6.8086系统中存储器采用什么结构?用什么信号来选中存储体? 8086存储器采用分体式结构:偶地址存储体和奇地址存储体,各为512k。 用A0和BHE来选择存储体。当A0=0时,访问偶地址存储体;当BHE=0时,访问奇地址存储体;当A0=0,BHE=0时,访问两个存储体。 9.实模式下,段寄存器装入如下数据,写出每段的起始和结束地址 a)1000H 10000H~1FFFFH b)1234H 12340H~2233FH c)2300H 23000H~32FFFH d)E000H E0000H~EFFFFH e)AB00H AB000H~BAFFFH

微机原理课后习题解答

微机原理习题 第一章绪论 习题与答案 1、把下列二进制数转换成十进制数、十六进制数及BCD码形式。 (1) 10110010B= (2) 01011101、101B = 解: (1) 10110010B = 178D =B2H=(00010111 1000)BCD (2) 01011101、101B =93、625D=5D.AH =(1001 0011、0110 0010 0101)BCD 2. 把下列十进制数转换成二进制数。 (1) 100D= (2) 1000D= (3) 67、21D= 解: (1) 100D = 01100100B (2) 1000D=1111101000B (3) 67、21D=1000011、0011B 3. 把下列十六进制数转换成十进制数、二进制数。 (1) 2B5H = (2) 4CD、A5H= 解: (1) 2B5H = 693D = 00101011 0101B (2) 4CD、A5H=1229.6445D=0100 11001101.10100101B 4、计算下列各式。 (1) A7H+B8H = (2) E4H-A6H = 解: (1) A7H+B8H = 15FH (2) E4H-A6H =3EH 5、写出下列十进制数的原码、反码与补码。 (1)+89 (2)-37

解: (1) [+89 ] 原码、反码与补码为: 01011001B (2) [-37] 原码= 10100101 B [-37] 反码= 11011010 B [-37] 补码=11011011 B 6.求下列用二进制补码表示的十进制数 (1)(01001101)补= (2)(10110101)补= 解: (1)(01001101)补= 77D (2)(10110101)补=-75D 7.请用8位二进制数写出下列字符带奇校验的ASCII码。 (1)C: 1000011(2)O: 1001111 (3)M: 1001101 (4)P: 1010000 解: (1)C:0 1000011 (2)O: 01001111 (3)M:11001101 (4)P: 1 1010000 8、请用8位二进制数写出下列字符带偶校验的ASCII码。 (1)+:0101011 (2)=: 0111101 (3)#:0100011(4)>: 0111110 解: (1)+:00101011 (2)=: 10111101 (3)#:10100011 (4)>: 1 0111110 9、叙述CPU 中PC的作用。 解:PC就是CPU中的程序计数器,其作用就是提供要执行指令的地址。

微机原理习题解答

第一章微型计算机的基础知识 1-1 将下列十进制数转换为二进制数、十六进制数。 (1)110 (2)1 039 (3)0.75 (4)0.156 25 1-2 将下列十进制数转换为BCD 码。 (1)129 (2)5 678 (3)0.984 (4)93.745 1-3 将下列二进制数转换为十进制数、十六进制数。 (1)10101010 (2)10000000 (3)11000011.01 (4)01111110 1-4 将下列十六进制数转换为二进制数、十进制数。 (1)8E6H (2)0A42H (3)7E.C5H (4) 0F19.1DH 1-5 将下列二进制数转换为BCD 码。 (1)1011011.101 (2)1010110.001 1-6 将下列BCD 码转换为二进制数。 (1)(0010 0111 0011) BCD (2)(1001 0111.0010 0101) BCD 1-7 完成下列二进制数的运算。 (1)1001.11+11.11 (2)1101.01-0110.11 (3)1000.011-1001.101 (4)1111+1101 1-8 完成下列十六进制数的运算。 (1)6AH+0A6H (2)0AB1FH+0EFCH (3)12ADH-1DEH (4)117H-0ABH 1-9 已知X=01H,Y=0FFH ,在下面的情况下比较两数的大小。 (1)无符号数 (2)符号数 (均为补码) 1-10 计算下列各表达式。 (1)101+‘A’+01101001B+0D5H+57Q (2)127.8125+10111101.101+375.63Q+1FC.8AH 1-11 写出下列字符串的ASCII 码。 (1)HELLO (2)A8=

微机原理与接口技术(第二版)课后习题答案完整版

习题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.6)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

微机原理(第三版)课后练习答案

1 思考与练习题 一、选择题 1.计算机硬件中最核心的部件是( )。C A.运算器 B.主存储器 C.CPU D.输入/输出设备 2.微机的性能主要取决于( )。 A (B——计算机数据处理能力的一个重要指标) A.CPU B.主存储器 C.硬盘 D.显示器 3.计算机中带符号数的表示通常采用( )。C A.原码 B.反码 C.补码 D.BCD码 4.采用补码表示的8位二进制数真值范围是( )。C A.-127~+127 B.-1 27~+128 C.-128~+127 D.-128~+128 5.大写字母“B”的ASCII码是( )。B A.41H B.42H C.61H D.62H 6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。C A.10010011B B.93H C.93 D.147 二、填空题 1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。P8 P5 2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。P5 P9 3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。P9 4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。P12 5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。P15 P16 6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。P18 P19 三、判断题 1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。( )√ 2.计算机中数据的表示范围不受计算机字长的限制。( )× 3.计算机地址总线的宽度决定了内存容量的大小。( )√ 4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。( )× (键盘与计算机通信采用ASCII码) 2 思考与练习题 一、选择题 1.在EU中起数据加工与处理作用的功能部件是( )。A A.ALU B.数据暂存器 C.数据寄存器 D.EU控制电路 2.以下不属于BIU中的功能部件是( )。 B A.地址加法器 B.地址寄存器 C.段寄存器 D.指令队列缓冲器

微机原理课后习题答案

第一章 学习指导: 1.掌握十六进制、二进制、BCD(十进制数)、ASCII码 2.掌握有符号数(补码、原码)、无符号数计算机的表示方法以及表示范围 3.掌握补码运算 4.了解计算机基本组成及工作原理 5.了解新技术 6.了解计算机主要性能指标 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 学习指导: 1.了解8086微处理器的基本组成及工作原理 2.掌握通用寄存器(AX、BX、DX、CX、SI、DI、SP、BP)段寄存器(CS、SS、DS、ES)标志寄存器(状态标志位和控制标志位含义)作用 3.掌握逻辑地址、物理地址以及它们之间的关系物理地址=段基址x16+偏移地址 4.掌握逻辑地址和物理地址表示形式2000:0100,20100 5.存储器地址的表示图2-5 6.主要引脚RD、WR、M/IO、INTR、INTA、NMI、HOLD、HLDA

微机原理与接口技术(第二版)课后习题答案完整版

微机原理与接口技术(第二 版)课后习题答案完整版-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

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

微机原理习题2参考答案

习题2参考答案 2.1 8086 CPU共有哪些16位寄存器?其中哪些16位寄存器可分为二个8位寄存器来使用? 参考答案:8086 CPU共有AX、BX、CX、DX、SI、DI、SP、BP、IP、FLAGS、CS、DS、ES、SS共14个16位的寄存器。其中AX、BX、CX、DX可分为二个8位寄存器来使用 2.2 简述8086 CPU各通用寄存器的主要功能? 参考答案:8086 CPU包含AX、BX、CX、DX、SI、DI、SP、BP共8个通用寄存器。其中AX主要用在字的乘、除法,输入/输出指令中;BX主要在寄存器间接寻址和XLAT 指令中作基址寄存器使用;CX主要在串操作指令和LOOP指令中作计数器使用;DX主要在字的乘除法指令和输入/输出指令中使用;SI主要在字符串操作指令中作源变址寄存器使用;DI主要在字符串操作指令中作目的变址寄存器使用;SP主要在堆栈操作中作堆栈指针使用;BP主要在寄存器间接寻址中作基址指针使用。 2.3 8086 CPU的标志寄存器有几个状态标志位?几个控制标志位?它们各自的含义和作用是什么?在Debug环境下,对应的用什么符号来表示之? 参考答案:8086 CPU的标志寄存器有6个状态标志位,有3个控制标志位。 其中CF进位标志位主要用来反映运算结果是否产生进位或借位,如果运算结果的最高位向前产生了一个进位(加法)或借位(减法),则其值为1,否则其值为0;PF奇偶标志位用于反映运算结果中低8位含有“1”的个数的奇偶性,如果“1”的个数为偶数,则PF 的值为1,否则为0;AF辅助进位标志位表示加法或减法运算结果中D3位向D4位产生进位或借位的情况,有进位(借位)时AF=1;无进位(借位)时AF=0;ZF零标志位用来反映运算结果是否为0,如果运算结果为0,则其值为1,否则其值为0;SF用来反映运算结果的符号位,当运算结果为负数时,SF的值为1,否则其值为0;OF溢出标志位用于反映带符号数运算所得结果是否溢出,如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。 IF中断允许标志位用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求,当IF=1时,CPU响应;当IF=0时,CPU不响应。DF方向标志位用来控制串操作指令中地址指针的变化方向。在串操作指令中,当DF=0时,地址指针为自动增量,即由低地址向高地址变化;当DF=1时,地址指针自动减量,即由高地址向低地址变化。TF追踪标志位被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。 在Debug环境下,对应的表示符号如下表 2.4 默认情况下,哪些寄存器可用于读取堆栈段的数据? 参考答案:SP和BP 2.5有效地址就是偏移地址的说法正确吗? 参考答案:正确 2.6假设用以下寄存器组合来访问存储单元,试求出它们所访问单元的物理地址。 (1)DS=1000H和DI=F000H (2)SS=C300H和BP=3200H (3)DS=A000H 和BX=1000H 参考答案:(1)物理地址=1000H*16+ F000H= 1F000H

相关文档
最新文档