搜档网
当前位置:搜档网 › 微机原理课后作业答案(第五版)

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

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

6、[+42]原=00101010B=[+42]反=[+42]补

[-42]原=10101010B

[-42]反=11010101B

[-42]补=11010110B

[+85]原=01010101B=[+85]反=[+85]补

[-85]原=11010101B

[-85]反=10101010B

[-85]补=10101011B

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)(2)(6)立即寻址(3)寄存器间接寻址(4)(5)(8)(10)寄存器寻址

(7)基址变址寻址(9)直接寻址

2、DS=1000H, BX=0200H, SI=0002H

(10200H~10205H)依次存有10H,2AH,3CH,46H,59H,6BH

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

(2)MOV AX, [200H]

物理地址=1000H×10H+0200H=10200H, AX=2A10H

(3)MOV AX, BX ; AX=0200H

(4)MOV AX , 3[BX]

物理地址=1000H×10H +0200H+3H=10203H, AX=5946H

(5)MOV AX , [BX+SI]

物理地址=1000H×10H+0200H +2H=10202H , AX=463CH

(6)MOV AX, 2[BX+SI]

物理地址=1000H×10H +200H+2H+2H=10204H , AX=6B59H

3、DS=1000H, ES=2000H, SS=3500H,

SI=00A0H, DI=0024H, BX=0100H, BP=0200H, V AL=0030H

(1)MOV AX, [100H] 直接寻址方式,10100H

物理地址=DS×10H+100H=10000H+0100H=10100H

(2)MOV AX, V AL 直接寻址方式,10030H

物理地址=DS×10H+V AL=10000H+0030H=10030H

(3)MOV AX, [BX] 寄存器间接寻址,10100H

物理地址=DS×10H+BX=10000H+0100H=10100H

(4)MOV AX, ES:[BX] 寄存器间接寻址,20100H

物理地址=ES×10H+BX=20000H+0100H=20100H

(5)MOV AX, [SI] 寄存器间接寻址,100A0H

物理地址=DS×10H+SI=10000H+00A0H=100A0H

(6)MOV AX, [BX+10H] 寄存器相对寻址,10110H

物理地址=DS×10H+BX+10H=10000H+0100H+10H=10110H

(7)MOV AX, [BP] 寄存器间接寻址,35200H

物理地址=SS×10H+BP=35000H+0200H=35200H

(8)MOV AX, V AL[BP][SI] 相对基址变址寻址,352D0H

物理地址=SS×10H+BP+SI+V AL

=35000H+0200H+00A0H+0030H=352D0H

(9)MOV AX, V AL[BX][DI] 相对基址变址寻址,10154H

物理地址=DS×10H+BX+DI+V AL

=10000H+0100H+0024H+0030H=10154H

(10)MOV AX, [BP][DI] 基址变址寻址,35224H

物理地址=SS×10H+BP+DI=35000H+0200H+0024H=35224H

6、(1)MOV DL, AX

错,寄存器寻址方式中,目的操作数与源操作数长度必须一致

(2)MOV 8650H, AX

错,目的操作数不可以是立即数

(3)MOV DS, 0200H

错,MOV指令不允许将立即数传入段寄存器

(4)MOV [BX], [1200H]

错, MOV指令的两个操作数不能同时为存储器

(5)MOV IP, 0FFH

错, IP不能作为MOV指令的目的操作数

(6)MOV [BX+SI+3], IP

错, IP不能作为MOV指令的源操作数

(7)MOV AX, [BX][BP]

错,BX与BP不可以同时出现在源操作数当中

(8)MOV AL, ES:[BP] 对

(9)MOV DL, [SI][DI]

错,SI与DI是两个变址寄存器,不可以同时出现在源操作数中。

(10)MOV AX, OFFSET 0A20H

错,OFFSET后面跟的应该是符号地址,再把符号地址的值作为操作数。(11)MOV AL, OFFSET TABLE

错,TABLE的偏移地址是16位,目的与源长度不一致

(12)XCHG AL, 50H

错,交换指令可以在寄存器之间,寄存器和存储器之间进行,不可以是立即数。(13)IN BL, 05H

错, BL不能作为IN指令的目的操作数,只能用AL或AX

(14)OUT AL, 0FFEH

错,端口地址0FFEH>FFH, 应用DX间接寻址, 同时源操作数和目标操作数的位置颠倒了,应改为OUT DX, AL。

10、AX=2508H,BX=0F36H,CX=0004H,DX=1864H

(1)AND AH, CL

AH=04H,CF=0;(0010 0101B与0000 0100B)

(2)OR BL, 30H

BL=36H,CF=0;(0011 0110B或0011 0000B)

(3)NOT AX

AX=DAF7H,CF无影响;(0010 0101 0000 1000B取反后1101 1010 1111 0111B)

(4)XOR CX, 0FFF0H

CX=FFF4H,CF=0;(0000 0000 0000 0100B和1111 1111 1111 0000B异或后1111 1111 1111 0100B)

(5)TEST DH, 0FH

TEST操作并不修改结果,CF=0;

(6)CMP CX, 00H

CMP操作并不修改结果,CF=0;

(7)SHR DX, CL

DX=0186H,CF=0;

(8)SAR AL, 1

AH=04H,CF=0;

(9)SHL BH, CL

BH=F0H,CF=0;

(10)SAL AX, 1

AX=4A10H,CF=0;(0010 0101 0000 1000B 左移)

(11)RCL BX, 1

若程序执行之前CF=0,BX=1E6CH,CF=0;若程序执行之前CF=1,BX=1E6DH,CF=0。(12)ROR DX, CL

DX=4186H,CF=0。

14、(1)LOOP NEXT

(2)LOOPE NEXT

(3)LOOPNE NEXT

START: MOV AX, 01H

MOV BX, 02H

MOV DX, 03H

MOV CX, 04H

NEXT: INC A X

ADD BX, AX

SHR DX, 1

( )

程序运行前DX=00000011B

(1)AX=0005H BX=0010H CX=0000H DX=0000H

(2)AX=0002H BX=0004H CX=0003H DX=0001H

(3)AX=0003H BX=0007H CX=0002H DX=0000H 15、ARRAY DB 78H,67H,75H,69H,70H,74H,71H

NEW DB 7 DUP(?)

MOV CX, 0007H

MOV BX, 0000H

NEXT:MOV AL, ARRAY[BX]

ADD AL, 5

DAA

MOV NEW[BX],AL

INC BX

LOOP NEXT

HLT

第四章 (请主动识别程序中的标点符号为英文输入模式下的)

2.、指令语句由4部分组成,格式:

标号:指令助记符 操作数 ;注释 其中,指令助记符不可缺少。 伪指令语句由4部分组成,格式:

名字 伪指令指示符 操作数 ;注释 其中,伪指令指示符不可缺少。

3、伪指令语句在汇编过程中完成某些特定的功能,没有它们,汇编程序将无法完成汇编过程。和指令语句的主要区别是它没有对应的机器码,不能让CPU 执行。

5、每条语句执行后的结果依次为:

AL=1 BL=2 CL=4 AH=0FFH BH=4 CH=1 6、

12H 34H

‘R ’‘i ’‘g ’‘h ’‘t ’‘.’

78H 56H

???

A1

A2

A3

A4

13、程序流程图如下:

汇编程序如下:

CODE SEGMENT

ASSUME CS:CODE

START: CMP BL,60 ;与60分比较

JB FAIL ;<60,转FAIL

CMP BL,85 ;≥60,与85分比较

JAE GOOD ;≥85,转GOOD

MOV DL,‘P’;其它,将DL←‘P’

JMP DISPLAY ;转显示程序

FAIL: MOV DL,‘F’;DL←‘F’

JMP DISPLAY ;转显示程序

GOOD: MOV DL,‘G’;AL←‘G’

DISPLAY: MOV AH ,02H ;显示存在DL中的字符INT 21H

MOV AX,4C00H

INT 21H

CODE ENDS

END START

14、

DATA SEGMENT

TABLE DB 01H,80H,0F5H,32H,86H,90H

DB 74H,49H,0AFH,25H,40H,88H PLUS DB 0 ;存正数个数

NEGT DB 0 ;存负数个数

ZERO DB 0 ;存0的个数

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX, DATA

MOV DS, AX

MOV CX,12 ;数据总数

MOV BX,0 ;BX清0

AGAIN:

CMP TABLE[BX],0 ;取一个数与0比

JGE GRET_EQ ;≥0,转GRET_EQ

INC N EGT ;<0,负数个数加1

JMP NEXT ;往下执行

GRET-EQ:

JG P-INC ;>0,转P-INC

INC Z ERO ;=0,零个数加1

JMP NEXT ;往下执行

P-INC:

INC P LUS ;正数个数加1

NEXT:

INC B X ;数据地址指针加1

DEC CX ;数据计数器减1

JNZ A GAIN ;未完,继续统计

CODE ENDS

END START

21、为便于理解, 假设存放在BX(需要注意的是要先将BX中的数据送给AX)中的16位二进制数的实际值为9346, 转换后应使CX=9346H (压缩BCD数)。BIN_BCD PROC NEAR

MOV AX, BX

CMP AX,9999 ;AX>9999?

JBE T RAN ;小于,转

JMP EXIT ;大于,转退出

TRAN:SUB DX,DX ;DX初值清0

MOV CX,1000

DIV CX ;(DX,AX)/1000=9…346(AX=9, DX=346)

XCHG AX,DX ; 交换,使DX=9, AX=346(下次除法被除数)

MOV CL,4 ;第一个商9左移4次

SHL DX,CL ;DX=0090H

MOV CL,100 ;

DIV CL ;346/100=3…46, AL=3, AH=46

ADD DL,AL ;将第2次的商加到DL中, 使DX=0093H

MOV CL,4 ;DX左移4次

SHL DX,CL ;左移后DX=0930H

XCHG AL,AH ;交换, AX=0346H

SUB AH,AH ;AX=0046H,第2次余数做被除数

MOV CL,10 ;

DIV CL ;AX/10=4…6, 结果AL=4,AH=6

ADD DL,AL ;4加到DL上,使DX=0934H

MOV CL,4

SHL DX,CL ;DX左移4次, DX=9340H

ADD DL,AH ;最后一次余数加到DX上, DX=9346H

MOV CX,DX ;最后结果:AX=9346H

EXIT:RET

BIN_BCD ENDP

第五章

1、内存分为随机存取存储器RAM和只读存储器ROM。RAM的特点:可随机写入和读出,访问速度快,但断电后内容会全部丢失,即具有易失性。存放在ROM中的内容不会因断电而丢失,它属于非易失性存储器,计算机只能对ROM读出不能进行写入,改写要用专门的编程器。

3、静态RAM电路结构复杂,集成度较低,功耗也大,但存取速度很快,访问时间可小于10ns。不适合做容量很大的内存,主要用作高速缓存(Cache),并用于网络服务器、路由器和交换机等高速网络设施上。

动态RAM电路简单,但存取速度慢,电容上存储的信息会丢失,需要刷新。容量大,价格便宜,PC机上的内存都采用DRAM,而且做成内存条,便于扩充内存容量。还被用在其它需要大量存储的场合,如激光打印机、高清晰数字电视等。

4、动态RAM存储单元由1个MOS管和1个小电容C构成。C充满电荷便保存了信息1,无电荷为0。电容C上保存的电荷会逐渐泄漏,使信息丢失。为此,要在DRAM使用过程中及时向保存1的那些存储单元补充电荷,也就是对C进行预充电,这一过程称为DRAM 的刷新(refresh)。读操作是读出电容C上的电荷转换成的0或1的逻辑电平,并非对电容C进行充电。

15、8,A10~A0,A19~A11,4

16、

第六章

1、答:CPU和外设之间的信息交换存在以下一些问题:速度不匹配;信号电平不匹配;信号格式不匹配;时序不匹配。

I/O接口电路是专门为解决CPU与外设之间的不匹配、不能协调工作而设置的,处于总线和外设之间,一般应具有以下基本功能:⑴设置数据缓冲以解决两者速度差异所带来的不协调问题;

⑵设置信号电平转换电路,如可采用MC1488、MC1489、MAX232、MZX233芯片来实现电平转换。

⑶设置信息转换逻辑,如模拟量必须经A/D变换成数字量后,才能送到计算机去处理,而计算机送出的数字信号也必须经D/A变成模拟信号后,才能驱动某些外设工作。⑷设置时序控制电路;⑸提供地址译码电路。

2、CPU与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。在接口电路中,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为I/O端口,CPU可对端口中的信息直接进行读写。在一般的接口电路中都要设置以下几种端口:

⑴数据端口:用来存放外设送往CPU的数据以及CPU要输出到外设去的数据。数据端口主要起数据缓冲的作用。

⑵状态端口:主要用来指示外设的当前状态。每种状态用1位表示,每个外设可以有几个状态位,它们可由CPU读取,以测试或检查外设的状态,决定程序的流程。

⑶命令端口:也称为控制端口,它用来存放CPU向接口发出的各种命令和控制字,以便控制接口或设备的动作。

I/O端口的编址方式有两种:分别称为存储器映象寻址方式和I/O指令寻址方式。

存储器映象寻址方式:把系统中的每个I/O端口都看作一个存储单元,并与存储单元一样统一编址,这样访问存储器的所有指令均可用来访问I/O端口,不用设置专门的I/O指令。

I/O指令寻址方式:对系统中的输入输出端口地址单独编址,构成一个I/O空间,它们不占用存储空间,而是用专门的IN指令和OUT指令来访问这种具有独立地址空间的端口。

8086/8088CPU采用I/O指令寻址方式,用地址总线的低16位(A15~A0)来寻址I/O端口,最多可以访问216=65536个输入或输出端口。

7、端口A:包含1个8位的数据输出锁存器/缓冲器,1个8位的数据输入锁存器。A口作输入或输出时数据均能锁存。

端口B:包含1个8位的数据输入/输出锁存器/缓冲器,1个8位的数据输入缓冲器。

端口C:包含1个8位的数据输出锁存器/缓冲器,1个8位的数据输入缓冲器,无输入锁存功能,分成两个4位端口时,每个端口有1个4位的输出锁存器。

C口还可配合A口和B口工作,用来产生A口和B口的输出控制信号、输入到A口和B口的端口状态信号。

A组:管理A口和C口高,通过PA7~PA0以及PC7~PC4引脚与外部联络。

B组:管理B口和C口低,通过PB7~PB0以及PC3~PC0引脚与外部联络。

8、8255A具有3种基本的工作方式,在对8255A进行初始化编程时,应向控制字寄存器写入方式选择控制字,用来规定8255A各端口的工作方式。这3种基本工作方式是:

方式0——基本输入输出方式:适用于不需要用应答信号的简单输入输出场合。这种方式A 口和B口可作为8位的端口,C口的高4位和低4位可作为两个4位的端口。

方式1——选通输入输出方式:A口和B口作为数据口,均可工作于输入或输出方式。端口C的6根线用来产生或接受联络信号。

方式2——双向总线I/O方式:只有A口可以工作于这种方式。端口A工作于方式2时,

端口C的5位(PC3~PC7)作A口的联络控制信号。

9、控制字寄存器。方式选择控制字的D7位总为1,而置位/复位控制字的D7位总为0。

10、0F8H, 0FAH, 0FCH, 0FEH

11、方式控制字10001010B

MOV AL, 10001010B

OUT 86H, AL

15、A口地址80H,B口地址81H, 控制字地址83H。A口方式0输入,B口方式0输出。控制字:10010000B

MOV DX,83H ;控制字寄存器

MOV AL,10010000B ;控制字

OUT DX,AL ;写入控制字

TEST_IT:

MOV DX,80H ;指向A口

IN AL,DX ;读入开关状态

NOT AL

MOV DX,81H ;指向B口

OUT DX,AL ;B口控制LED

CALL DELAY_20S ;调延时20s子程序

JMP TEST_IT ;延时20s再检测

DELAY_20S:…;延时20s子程序

第七章

1、8253内部包含3个完全相同的计数器/定时器通道,即0~2计数通道,对3个通道的操作完全是独立的。8253的每个通道都有6种不同的工作方式。

方式0:计数结束中断,输出一个正跳变

方式1:可编程单稳输出,输出一个宽度可

调的负脉冲

方式2:比率发生器,输出序列负脉冲

方式3:方波发生器。方式2,3均可n分频

方式4:软件触发选通,写入n开始计数

方式5:硬件(GATE上升沿)触发选通

4、通道0 :方式3,初值N0=2M/1K=2000=(2000H)BCD 控制字:00110111B

通道1:方式2,初值N1=2M/500=4000=(4000H)BCD 控制字:01110101B

通道2:方式1,初值N1=400/0.5=8000=(8000H)BCD 控制字:10110011B

0通道初始化:

MOV DX, 306H

MOV AL, 00110111B(37H) ;方式3,先读/写低8位后读/写低8位,BCD计数OUT DX, AL

MOV DX, 300H

MOV AL, 00H ;初值低8位

OUT DX, AL

MOV AL, 20H ;初值高8位

OUT DX, AL

1通道初始化:

MOV DX, 306H

MOV AL, 01110101B (75H) ;方式2,先读/写低8位后读/写低8位,BCD计数

OUT DX, AL

MOV DX, 302H

MOV AL, 00H ;初值低8位

OUT DX, AL

MOV AL, 40H ;初值高8位

OUT DX, AL

2通道初始化:

MOV DX, 306H

MOV AL, 10110011B (B3H) ;方式1,先读/写低8位后读/写低8位,BCD计数

OUT DX, AL

MOV DX, 304H

MOV AL, 00H ;初值低8位

OUT DX, AL

MOV AL, 80H ;初值高8位

OUT DX, AL

第八章

1、计算机在执行正常程序过程中,暂时中止当前程序的运行,转到中断处理程序去处理临时发生的事件,处理完后又恢复原来程序的运行,这个过程称为中断(Interrupt)。中断功能:

使CPU和外设在部分时间内并行工作,大大提高CPU的利用率;

在实时控制系统中,现场数据可及时接收处理,避免丢失;

故障的处理,如电源掉电、奇偶校验错、运算中溢出错等;

利用中断指令,直接调用大量系统已编写好的中断服务程序,实现对硬件的控制。

2、引起中断的原因或能发出中断请求的来源称为中断源。

8086有两种中断源,中断分为两大类:

1)外部中断或硬件中断,从不可屏蔽中断引脚NMI和可屏蔽中断引脚INTR引入;

2)内部中断或软件中断,是为解决CPU运行过程中出现的一些意外事件或便于程序调试而设置的。

4、中断向量表用来存放中断服务程序的入口地址。

8086可处理256(0~FFH)类中断,每类中断有一个入口地址(中断向量),包含CS和IP,共4个字节。因此存储256个地址,需要占用1K字节,它们位于内存00000~003FFH 的区域中。

6、

00010H16H

00H

85H

04H

7、中断类型号n=40H/4=10H,中断服务程序起始地址是CS:IP=D169: 240BH

第九章

1、并行通信时,数据各位同时传送。这种方式传输数据的速度快,但使用的通信线多,如果要并行传送8位数据,需要用8根数据线,另外还要加上一些控制信号线。

随着传输距离的增加,通信线成本增加将成为突出的问题,而且传输的可靠性随着距离的增加而下降。因此并行通信适用于近距离传送数据的场合。

串行通信时,要传送的数据或信息必须按一定的格式编码,然后在单根线上,按位顺序传送。发送数据时,逐位发送完一个字符后再发第二个。接收数据时,逐位接收信息,再把它们拼成一个字符,送给CPU作进一步处理。串行通信具通信线少和传送距离远等优点。

2、单工(Simplex): 单向通信,A只能发送数据,B只能接收数据。半双工(Half Duplex):

双向传输,但只有一根传输线,在同一时间只能A->B,或A<-B。全双工(Full Duplex): 有两个通路,双方可同时发送和接收数据。

6、1/2400 S, 10/2400=1/240 S

9、RS-232C逻辑高电平:有负载时-3V~-15V,无负载时-25V。

逻辑低电平:有负载时+3V~+15V,无负载时+25V。

通常用±12V作RS-232C电平。TTL电平:0~0.8V为逻辑0,+2V~+5V为逻辑1。显然与RS-232C电平不匹配,必须设计专门的电平转换电路。RS-232C串行接口规定使用25芯或9芯D型插头插座连接。

第十章

2、采样:按相等的时间间隔t,从模拟信号上截取一个个离散的信号瞬时值。采样率fS:离散量出现的重复频率。

量化:采集下来的信号瞬时值的数字表示。量化只能达到一定精度。量化单位q:一个N位ADC,量程分成n2层,它能分辨的最小的量化信号电平即量化单位。

12位D/A转换器的分辨率是12。

3、

(1)BEGIN:MOV AL,00H ;下限值

UP:MOV DX,220H

OUT DX,AL ;D/A转换

INC AL ;数值增1

CMP AL,0FFH ;超过上限了吗?

JNZ UP ;没有,继续转换

DOWN: MOV DX,220H

OUT DX,AL ;D/A转换

DEC AL ;数值减1

CMP AL,00H ;低于下限了吗?

JNZ DOWN ;没有

JMP BEGIN ;低于,转下个周期

4、

设下限为1.2V,上限为4V,端口地址为300H和301H。产生锯齿波程序如下:(注意双缓冲方式)

BEGIN: MOV AL, 3CH ;下限

MOV DX, 300H ;指向D/A输入寄存器

AGAIN:INC AL

OUT DX, AL ;数据打入输入寄存器

INC DX ; 指向DAC寄存器

OUT DX, AL ;选通DAC寄存器启动D/A转换

CMP AL, 0CDH ;超过上限了吗?

JNZ AGAIN ;没有超过,继续

JMP BEGIN ;否则,重新开始

微机原理考试课后练习题筛选

第一章 一、选择题 7.(D)8.(B)9.(D)10.(C)11.(A) 二、填空题 l.(运算器)2.(冯·诺依曼、输出器、存储器、存储器)9.(尾数、指数) 第二章 一、选择题 1.(C)4.(B)5.(D)7.(A)8.(D)18.(B) 二、填空题 4.(TF、DF、IF) 5. (9E100H)10.(0、0、 1、1)15.(FFFFH、0000H、0000H、0000H) 三、问答题 2.完成下列补码运算,并根据结果设置标志SF、ZF、CF和OF,指出运算结果是否溢出? (1)00101101B+10011100B (2) 01011101B-10111010B (3)876AH-0F32BH (4)10000000B十 11111111B (1)00101101B +10011100B 11001001B=C9H SF=1 ZF=0 CF=0 OF=0 (2) -10111010B=01000110B 01011101B-10111010B=01011101B +01000110B 10100011B SF=1 ZF=0 CF=0 OF=1 (3)876AH-0F32BH=876AH +0CD5H 943FH SF=1 ZF=0 CF=0 OF=0 (4) 10000000B +11111111B 101111111B=7FH SF=0 ZF=0 CF=1 OF=1 习题3 一、选择题 1.D 4.B 5.A 14.D 17.C 二、填空题 7. 3400H;5000H 8. 9AH;6CH;0;1;1;1;0 17.低8位;高8位;0FFA4H 三,问答题 1、(1)源操作数是基址寻址,目的操作数是寄存器寻址(2)逻辑地址是0705H,物理地址是10705H (3)(AX)=1234H (BX)=0700H 10、(1)MOV SI,2500H MOV DI,1400H MOV CX,64H CLD REP MOVSB (2) MOV SI,2500H MOV DI,1400H MOV CX,64H CLD REPE CMPSB JNZ L1 XOR BX,BX HLT L1:DEC SI MOV BX,SI MOV AL,[SI] HLT 习题4 一、选择题 1.B 4.C 二、填空题 1..ASM;.OBJ;.EXE 6.( AX)= 1 (BX)= 2 (CX)= 20 (DX)= 40

微机原理第二版答案

3.2设(DS)=6000H,(ES)=2000H,(SS)=1500H,(Si)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H. 请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少? (1) MOV AX,BX (2) MOV DL,80H (3) MOV AX, VAR (4) MOV AX,VAR[BX][SI] (5) MOV AL,‘B' (6) MOV DI, ES: [BX] (7) MOV DX,[BP] (8) MOV BX,20H[BX] 解: (1)寄存器寻址。因源操作数是寄存器,故寄存器BX就是操作数的地址. (2)立即寻址。操作数80H存放于代码段中指令码MOV之后。 (3)直接寻址。 (4)基址一变址一相对寻址.

操作数的物理地址=(DS) × 16+(SI)+(BX)+VAR = 60000H+00A0H+0800H+0050H=608F0H (5)立即寻址 (6)寄存器间接寻址. 操作数的物理地址 = (ES) × 16+(BX) = 20000H+0800H = 20800H (7)寄存器间接寻址。 操作数的物理地址= (SS) × 16+(BP) = 15000H+1200H= 16200H (8)寄存器相对寻址. 操作数的物理地址=(DS) × 16+(BX)+20H = 60000H+0800H+20H= 60820H 3.3 假设(DS)= 212AH,(CS)= 0200H,(IP)= 1200H,(BX)= 0500H,位移量DATA=40H,(217A0H) =2300H,(217E0H)=0400H,(217E2H) =9000H 试确定下列转移指令的转移地址. (1) JMP BX (2) JMP WORD PTR[BX] (3) JMP DWORD PTR[BX+DATA] 解:转移指令分为段内转移和段间转移,根据其寻址方式的不同,又有段内的直接转移和间接转移,以及段间的直接转移和间接转移地址。对直接转移,其转移地址为当前指令的偏移地址(即IP的内容)加上位移量或由指令中直接得出;对间接转移,转移地址等于指令中寄存器的内容或由寄存器内容所指向的存储单元的内容。 (1) 段内间接转移。转移的物理地址=(CS) × l6 +0500H =02000H+0500H=02500H (2)段内间接转移。转移的物理地址= (CS) × 16+ [BX] = (CS) × l6+(217A0H) =02000H+2300H=04300H (3)段间间接转移。转移的物理地址=[BX+DATA] [IP]=[DS×l6+BX+DATA[=[217E0] =(217E2H) × l6+(217E0H) [CS]=[217E2H]=9000H =90000H+0400H=90400H 3.4试说明指令MOV BX,5[BX]与指令LEA BX,5[BX]的区别。 解:前者是数据传送类指令,表示将数据段中以(BX+5)为偏移地址的16位数据送寄存器BX.;后者是取偏移地址指令,执行的结果是(BX)= (BX)+5,即操作数的偏移地址为(BX)+5。 3.5设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)=1234H。执行指令PUSH AX后,(SP)=?,再执行指令PUSH BX及POP AX之后,(SP)= ?(AX)= ?(BX)=? 解:堆栈指针SP总是指向栈顶,每执行一次PUSH指令SP-2,执行一次POP指令SP+2.所以,执行PUSH AX指令后,(SP)=22FEH;再执行PUSH BX及POP AX后,(SP)=22FEH,(AX)=(BX)=1234H 3.6 指出下列指令的错误: (1) MOV AH,CX (2) MOV 33H,AL (3) MOV AX, [SI][DI] (4) MOV [BX],[SI] (5) ADD BYTE PTR[BP],256 (6) MOV DATA[SI],ES:AX (7) JMP BYTE PTR[BX] (8) OUT 230H,AX (9) MOV DS,BP (10) MUL 39H 解: (1)指令错。两操作数字长不相等

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

第一章 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(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。

微机原理课后练习题-答案

1、 2、B 3、十,非压缩的BCD码 4、 5、微型计算机、微型计算机系统 6、,, 二、 B D B 三、 1、微型计算机系统的基本组成。 答案:以微型计算机为主体,配上相应的系统软件、应用软件和外部设备之后,组成微型计算机系统。 2、简述冯.诺依曼型计算机基本组成。 答案:冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。 3、什么是微型计算机 答案:微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4、什么是溢出 答案:在两个有符号数进行家减运算时,如果运算结果超出了该符号数可表示的范围,就会发生溢出,使计算出错。

1、4、100ns 2、Ready ,Tw(等待) 3、ALE 4、INTR 5、85010H 6、存储器或I/O接口未准备好 7、非屏蔽中断 8、指令周期 9、4 二、 1、在内部结构上,微处理器主要有那些功能部件组成 答案:1) 算术逻辑部件2) 累加器和通用寄存器组 3) 程序计数器4) 时序和控制部件 2、微处理器一般应具有那些基本功能 答案:1.可以进行算术和逻辑运算2.可保存少量数据 3.能对指令进行译码并完成规定的操作4.能和存储器、外部设备交换数据 5.提供整个系统所需的定时和控制6.可以响应其他部件发来的中断请求 3、什么是总线周期 答案:CPU通过外部总线对存储器或I/O端口进行一次读/写操作的过程;一个基本的总线周期包含4个T状态,分别称为T1、T2、T3、T4。 三、×、×、×、×、×、√、√

微机原理[第三版]课后练习答案解析

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.指令队列缓冲器

微机原理课后习题答案

李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——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]原 [-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万条指令。

微机原理习题册答案整理

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__________引脚。 5. 在8086系统中,若某一存贮单元的逻辑地址为7FFFH:5020H,则其物理地址为_____85010H__________。 6. 8086的输入信号Ready 为低电平的作用是说明___存储器或I/O接口未准备好____________。 7. 8088 CPU的NMI 引脚提出的中断请求称为:___非屏蔽中断____________。 8. CPU从主存取出一条指令并执行该指令的时间称为___指令周期____________。 9. 在8086系统中,从奇地址读写两个字时,需要___ 4______个总线周期。 二、简答题 1. 在内部结构上,微处理器主要有那些功能部件组成? 1) 算术逻辑部件2) 累加器和通用寄存器组 3) 程序计数器4) 时序和控制部件(意思相近 2. 微处理器一般应具有那些基本功能? 本身具有运算能力和控制功能3. 什么是总线周期? CPU使用总线完成一次存储器或I/O接口的存取所用的时间, 称为总线周期,一个基本的总线周期包含4个T状态,分别 称为T1、T2、T3、T4。(意思相近即可) 三、判断题 6.8086的每个存储单元地址既是字节地址又是字地址。 ( √) 7. 同一个物理地址可以由不同的段地址和偏移量组合得到。 ( √) 3.2 课后练习题 一、简答题 1. 若(AX)=9C5AH,(BX)=9754H,执行下列指令序列后,程 序转向何处执行。 ADD AX,BX JNC L3 JNO L1JNO L4 JNC L2JMP L5 SUB AX,BX L3 2. 中断服务程序结束时,用RET指令代替IRET指令能否返 回主程序?这样做存在什么问题? RET应该可以使中断服务程序返回主程序,但因为RETF是 子程序返回指令,它只从堆栈中恢复CS和IP,而不能使状态 字PSW得以恢复,所以不能使断点完全恢复,对源程序的继 续执行造成不良影响。(回答可以返回2分,出现的问题3分, 意思相近即可) 3. 写出把首地址为BLOCK字数组中的第6个字,送到DX 寄存的指令(或指令组),要求使用以下几种寻址方式: (1) 寄存间接寻址 (2) 寄存相对寻址 (3) 基址变址寻址 1) MOV BX,OFFSET BLOCK+6 2) LEA BX,BLOCK 3) LEA BX,BLOCK MOV DX,[BX] MOV DX,[BX+12] MOV SI,12 MOV DX,[BX+SI] 4. 设BX=134AH,BP=1580H,DI=0528H,SI=0234H, DS=3200H,SS=5100H,求在各种寻址方式下源操作数的物 理地址。 1) MOV AX, [2400H] 34400H 2) MOV AX, [BX] 33580H 3) MOV AX, [SI] 32234H 4) MOV AX, [BX+2400H] 3574AH 5) MOV AX, [BP+2400H] 54980H 6) MOV AX, [BX+DI] 33872H 7) MOV AX, [BP+SI+2400H] 54BB4H 二、阅读下面的程序段,写出运行结果 1. CLC MOV AX,248BH MOV CL,3 RCL AX,CL 执行以上程序序列后,AX=_2458H__。 2. MOV BX,6D16H MOV CL,7 SHR BX,CL 执行后BX寄存器中的内容__00DAH___。 3. MOV DX,01H MOV AX,42H MOV CL,4 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 执行后 (DX)=_0010H___,(AX)=__0420H__________ 4. mov ax,693ah mov al,ah not al add al,ah inc al 程序段执行后,AL=_0000H__ 、ZF= ___1___________。 5. 根据程序填空(程序段顺序执行) MOV CL, 58H ;CL= 58 MOV AL, 79H ;AL= 79 ADD AL, CL ;AL= D1 H, AF= 1 , CF= DAA ;AL= 37H , AF= 0 , CF= 1 三、判断题 2. 执行下列指令可以将其00H送到端口地址为2F8H的外设 上:( √) MOV AL,00H MOV DX,2F8H OUT DX,AL 3. 8088的MOV指令不能进行两个存储器单元之间的数据直 接传送。( √) 6. 判断下列指令是否正确 JMP BX对 in al,dx对 mov ds,ax对 mov al,【bx+10h】对 push ss对 mov cs,ax对 4.2 课后练习题 一、填空题 1. 定义段结束的伪指令是____ ENDS _______;定义子程序结 束的伪指令是___ ENDP _____。 2.伪指令X DB 4 DUP (6,2 DUP(6,8));Y DW 6800H; 设X的偏移地址为2000H,则Y的偏移地址为 _2014H________H,若执行指令MOV BL,BYTE PTR Y后, 则(BL)=___ 00_____。 3.伪指令VR1 DB 2 DUP(?,3 DUP(1,2),5)在存贮器中被分配 了_______16个________字节。 二、选择题 1.下面表示段定义结束的伪指令是______C____。 A)END B)ENDP C)ENDS D)ENDM 2.变量的类型属性如下,下面错误的类型是___B_______。 A)字节型B)字符型C)字型D)双字 型 3.设有一程序定义如下: ORG 0024H AR1 DW 4,5,$+4 … MOV AX,AR1+4 执行以上指令后,AX中的内容正确的是____D___________。 A)0028H B)0032H C)002AH D) 002CH 4.现用数据定义伪指令定义数据:BUF DB 4 DUP(0,2 DUP (1,0));问定义后,存储单元中有数据0100H的字单元个 数是_C___________。 A)4 B)3 C)8 D)12 5.下列伪指令中定义字节变量的是___A_____。 A)DB B)DW C)DD D)DT 6.使用DOS功能调用时,子功能号应放在( B )寄存器中。 A)AL B)AH C)DL D)DH 三、程序设计 1、、设正数个数存放于BX中,负数个数存放于DI中,零的 个数存放于DX中 MOV AX,0100H JZ ZERO MOV DS,AX JL NEGAT MOV BX,0 INC BX MOV DX,0 JMP NEXT1

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

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万条指令。

微机原理和接口技术张颖超叶彦斐第3章习题答案解析

习题 1.指出下列指令中操作数的寻址方式 (1) MOV BX, 20H (2) MOV AX, [1245H] (3) MOV DX, [SI] (4) MOV 100[BX], AL (5) MOV [BP][SI], AX (6) MOV [BX+100][SI], AX (7) MOV [1800H], AL (8) MOV [SI], AX 答: 源操作数目的操作数 1 立即寻址寄存器寻址 2 直接寻址寄存器寻址 3 寄存器间接寻址寄存器寻址 4 寄存器寻址寄存器相对寻址 5 寄存器寻址基址加变址寻址 6 寄存器寻址相对基址加变址寻址 7 寄存器寻址直接寻址 8 寄存器寻址寄存器间接寻址 2. 判断下列操作数寻址方式的正确性,对正确的指出其寻址方式,错误的说明其错误原因:(1) [AX] (2) [SI+DI] (3) BP (4) BH (5) DS (6) [BL+44] (7) [BX+BP+32] (8) [DX] (9) [CX+90] (10) [BX*4] (11) BX+90H (12) SI[100H] 答: (1) 错误,AX不能用于访问内存单元 (2) 错误,两个变址寄存器SI和DI不能同时用于内存单元的有效地址 (3) 正确,寄存器寻址方式 (4) 正确,寄存器寻址方式 (5) 正确,寄存器寻址方式 (6) 错误,寄存器BL不能用于表示内存单元的有效地址 (7) 错误,BX和BP都是基址寄存器,不能同时用于内存单元的有效地址 (8) 错误,DX不能用于表示内存单元的有效地址 (9) 错误,CX不能用于表示内存单元的有效地址 (10)错误,16位寄存器不能乘以比例因子 (11) 错误,没有这样的寻址方式 (12) 错误,书写方式不对,应该写成100H[SI] 3. 已知DS=2000H,ES=1000H,SS=1010H,SI=1100H,BX=0500H,BP=0200H,请指出下列源操作数字段是什么寻址方式?源操作数字段的物理地址是多少? (1) MOV AL, [2500H] (2) MOV AX, [BP] (3) MOV AX, ES:[BP+10] (4) MOV AL, [BX+SI+20]

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

第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.6 将下列十进制数转换成二进制数。 256D =10000000B 237.135D=11101101.0010001B 12.58D=1100.100101B 0.374D=0.0101B 1.7 写出下列二进制数对应的十进制数、八进制数、十六进制数。 1101110B=110D=156Q=6EH 111011000B=472D=730Q=1D8H 1101111.1001B=111.5625D=157.44Q=6F.9H 1.8 填空: 10101.001B=(21.125)D=(25.1)Q=(15.2)H 2DE.6H=(1011011110.011)B=(1336.3)Q=(734.375)D 1.9 试写出下列用补码表示的二进制数的真值。 00111010 →00111010→+5810000000→-128 10000101→11111011→-123 11111110→10000010→-2 01111110→01111110→+126 1.10 已知X=35,Y=-89,试用补码运算法则,求出:X+Y=? [X]补=00100011 [Y]原=11011001 [Y]补=10100111 [X+Y]补=[X]补+[Y]补=00100011+10100111=11001010 X+Y=10110110B=-54 1.11 已知[X]补=10011011,[X+Y]补=10111001,试求: ①[X-Y]补=?(有溢出,结果出错。) 因为[X+Y]补=[X]补+[Y]补=10111001 所以[Y]补=[X+Y]补-[X]补=00011110 [-Y]补=11100010 [X-Y]补=[X]补+[-Y]补=10011011+11100010=01111101 ②X、Y的真值各为多少? [X]原=11100101,X的真值为-101;[Y]原=00011110,Y的真值为30 第二章 2.3 8086CPU的ALE信号的功能是什么? 答:ALE(Address Latch Enable)是8086CPU提供给地址锁存器的控制信号,在任何一个总线周期的T1状态,ALE输出有效电平(正脉冲),以表示当前地址/数据、地址/状态复用总线上输出的是地址信息,锁存器可利用它的下降沿将地址锁存起来。ALE信号不能浮空。 2.4 8086CPU内部的寄存器由哪几种类型组成?各自的作用是什么? 答:8086CPU内部有14个16位寄存器,可以分为以下三组:分别是通用寄存器组,段寄存器组,控制寄存器。 通用寄存器组可以分为两组:数据寄存器和地址指针与变址寄存器。 数据寄存器主要用来保存算术、逻辑运算的操作数、中间结果和地址。 地址指针与变址寄存器主要用于存放或指示操作数的偏移地址。 段寄存器组:8086/8088CPU内部设置了4个16位段寄存器,它们分别是代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES,由它们给出相应逻辑段的首地址,称为“段基址”。 控制寄存器:含指令指针IP及标志位寄存器FR。 IP用来存放将要执行的下一条指令在现行代码段中的偏移地址。

相关主题