计算机原理与接口技术课后习题答案
- 格式:docx
- 大小:28.38 KB
- 文档页数:22
单片机微型计算机原理及接口技术课后习题答案第4章4-2 试述指令MOV A,R0和MOV A,@R0的区别两条指令的目的操作数相同,两条指令的区别在于源操作数来源不同:MOV A,R0 指令的源操作数就是R0寄存器的内容;而MOV A,@R0 指令的源操作数是位于存储器单元内,且存储器单元的地址是R0寄存器的内容。
4-3 试述指令MOV A,20H和MOV A,#20H的区别MOV A,20H 源操作数是直接寻址,20H表示源操作数所在存储器单元的地址。
MOV A,#20H 源操作数是立即数寻址,#20H是立即数,也就是源操作数。
4-4 说明一下指令中源操作数所在的存储器类型。
(1)MOV A,#30H; 立即数#30H,就是源操作数,存在于指令中,所以位于程序存储器。
(2)MOV A,30H; 30H是源操作数所在数据存储单元的地址,所以源操作数位于数据存储器。
(3)MOVC A,@A+DPTR;源操作数是变址寻址, 助记符MOVC表示源操作数位于程序存储器。
(4)MOVX A,@DPTR; 源操作数是寄存器间接寻址, 助记符MOVX表示源操作数位于外部数据存储器。
4-5 判断下列指令书写是否正确:(1)MOV A,B; ✔(2)MOV A,#3000H ; ✘,因为A是8位寄存器,而#3000H是16位数值,没法全部存到A里(3)INC,#20H ; ✘只能INC A/direct/Rn/@Ri/DPTR(4)MOV 5,A ; ✔,注意目的操作数是直接寻址方式,不是立即寻址(5)MOV 30H,40H; ✔(6)MOV B,@DPTR ; ✘,@DPTR寻址用于MOVX指令,不能用于MOV指R(7)CJNE 30H,#80H,NEXT ; ✘,CJNE指令格式只能是CJNE A/Rn/@Ri,#data,rel或CJNE A,direct,rel(8)POP A ; ✘只能是直接寻址方式POP direct,正确的是POP ACC(9)PUSH ACC; ✔(10)SJMP 2000H ; ✘rel的范围是-128~127(用补码表示其值)共256B范围4-6 设ACC=12H,B=64H,SP=60H,30H中存放的是78H,试分析下列程序执行后,ACC、B、30H、SP中的内容分别为多少,并画出堆栈示意图。
单片微型计算机原理及接口技术答案【篇一:单片微型计算机原理与接口技术髙锋版课后答案第4章】txt>思考与练习题解析【4—1】简述下列基本概念:程序、程序设计、机器语言、汇编语言及高级语言。
【答】各基本概念如下。
【4—2】在单片机领域,目前最广泛使用的是哪几种语言?有哪些优越性?单片机能否直接执行这几种语言?【答】在单片机领域,目前最广泛使用的是汇编语言和高级语言。
汇编语言编写的程序效率高,占用存储空间小,运行速度快,而且能反映单片机的实际运行情况。
但编程比使用高级语言困难,通用性差。
单片机不能直接执行汇编语言程序,必须通过人工(或机器)汇编把汇编语言程序转换为机器语言程序。
高级语言不受具体机器的限制,而且使用了许多数学公式和习惯用语,从而简化了程序设计的过程,通用性强,易于移植到不同类型的单片机中。
单片机不能直接识别和执行高级语言,需要将其转换为机器语言程序才能识别和执行。
对于高级语言,这一转换工作通常称为“编译”或者“解释”。
进行编译或者解释的专用程序称为“编译程序”或者“解释程序”。
【4—3】什么叫伪指令?8oc51单片机程序设计中主要有哪些伪指令语句?【答】伪指令又称为“汇编程序控制译码指令”。
“伪”体现在汇编时不产生机器指令代码,不影响程序的执行,仅指明在汇编时执行一些特殊的操作。
例如.为程序指定一个存储区,将一些数据、表格常数存放在指定的存储单元,说明源程序开始或结束等.。
不同的单片机开发装置所定义的伪指令不全相同。
80c51单片机程序设计中主要有伪指令语句如下。
1.org(origin)一汇编起始地址伪指令,指令格式为:org 表达式’其含义是向汇编程序说明,下述程序段的起始地址由表达式指明。
表达式通常为十六进制地址码。
2.end(end 0f assembly)一汇编结束伪指令。
其含义是通知汇编程序,该程序段汇编至此结束。
3.equ(equate)—赋值伪指令。
指令格式为:标号 equ 表达式其含义是把表达式赋值于标号,这里的标号和表达式是必不可少的。
第二章1. 将下列十进制数转换成二进制和十六进制(1)129.75 = 100000001.11B= 81.CH(2)218.8125 = 1101 1010.1101B = DA.DH(3) 15.625 = 1111.101B = F.AH(4)47.15625 = 101111.00101B = 2F.28H2. 将下列二进制数转换成十进制和十六进制(1)111010B = 58 = 3AH(2)10111100.11B = 188.875= BC.E H(3) 0.11011B = 0.84375= 0.D8 H(4)11110.01B = 30.25= 1E.4H4、完成下列16进制的加减法运算。
(1)0D14B H (2) 9C28.E H(3) 1678 .FC H (4) -80D7 H5. 计算下列表达式的值(1)128.8125+10110101.1011B+1F.2H= ( 101010101.101 ) B(2)287.68-10101010.11B+8E.EH=( 103.CE ) H(3) 18.9+1010.1101B+12.6H-1011.1001B= ( 36.525 ) D7. 写出下列以补码表示的二进制数的真值:1)[X]补= 1000 0000 0000 0000?X = - 1000 0000 0000 0000 = - 215 = - 32768(2)[Y]补= 0000 0001 0000 0001?Y = + 0000 0001 0000 0001 = +257(3)[Z]补= 1111 1110 1010 0101?X = - 000 0001 0101 1011 = - 347(4)[A]补= 0000 0010 0101 0111?X = + 0000 0010 0101 0111 = +5999、设有变量……..X+Y = 1B8 H Y+Z =161 HY+Z=13B H Z+V=0CC H(1) 不正确不正确不正确正确(2)正确正确正确溢出12. 试计算下列二进制数为无符号数、原码、反码、补码、8421BCD码时分别代表的数值大小。
习题一、选择CBC AAD三、判断√√√√√五、设计1、编程实现求S=(X2+Y2)/Z的值,将最后结果放入RESULT单元保存。
参考程序如下:DA TA SEGMENT ;定义数据段X DB 5 ;给X、Y、Z赋初值Y DB 7Z DB 2RESULT DB ?;定义RESULT单元,预留空间DA TA ENDS ;数据段结束CODE SEGMENT ;定义代码段ASSSUME CS:CODE,DS:DATASTART:MOV AX,DATA ;初始化DSMOV DS,AXMOV AL,X ;将数据X送ALMUL X ;计算X2MOV BX,AX ;将中间结果保存到BXMOV AL,Y ;将数据Y送ALMUL Y ;计算Y2ADD AX,BX ;X2+Y2,结果保存到AXDIV Z ;计算(X2+Y2)/ZMOV RESULT,AL ;最后结果送RESULT单元MOV AH,4CH ;返回DOSINT 21HCODE ENDS ;代码段结束END START ;汇编结束2.计算S=(A+B)/2 – 2(A AND B)。
DA TA SEGMENTA DB 12B DB 51S DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DA TAMOV DS,AXMOV AL,AADD AL,BSHR AL,1MOV AH,AMOV BL,BAND AH,BLMOV BL,AHSHL BL,1SUB AL,BLMOV S,ALMOV AH,4CHINT 21HCODE ENDSEND START3. 参考P86 例4.34.DA TA SEGMENTX DW 34S DW ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DA TAMOV DS,AXMOV AX,XCMP AX,0JL DOUBCMP AX,10JLE TRIBSAL AX,1SAL AX,1JMP EXITDOUB: SAL,AX,1JMP EXITTRIB:SAL AX,1ADD AX,XEXIT:MOV S,AXMOV AH,4CHINT 21HCODE ENDSEND START5.统计非数字字符的个数DA TA SEGMENTBUF DB 20H DUP (?)CNT DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DA TAMOV DS,AXLEA SI,BUFMOV DL,0NEXT1:MOV AH,01HINT 21HMOV [SI],ALINC SICMP AL,0DHJZ EXITCMP AL,30HJGE NEXTINC DLJMP NEXT1NEXT:CMP AL,39HJBE NEXT1INC DLJMP NEXT1EXIT:MOV CNT,DLMOV AH,4CHINT 21HCODE ENDSEND START6、将键盘连续输入的小写字母转换成大写字母CODE SEGMENTASSUME CS:CODESTART: MOV AH,01HINT 21HMOV BL,ALMOV DL,’-‘MOV AH,02HINT 21HMOV AL,BLCMP AL,’a’JB EXITCMP AL,’z’JA EXITSUB AL,20HMOV DL,ALMOV AH,02HINT 21HMOV DL,0AHMOV AH,02HINT 21HMOV DL,0DHMOV AH,02HINT 21HJMP STARTEXIT: MOV AH,4CHINT 21HCODE ENDSEND START7.统计负数的个数DATA SEGMENTBUF DB 45,50,-34,40,4,15,29,-1,-2,-59CN EQU $-bufA DB ?B DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DA TAMOV DS,AXLEA SI, BUFMOV CX, CNMOV BX, 0LP: MOV AL, [SI]INC SITEST AL, 80HJZ NEXTINC BHJMP EXITNEXT: INC BLEXIT: LOOP LPMOV A, BLMOV B, BHMOV AH,4CHINT 21HCODE ENDSEND START8、宏定义,将16进制数转换成ASCII码HEXTOA MACROAND AL,0FHCOM AL,9JNA HEXTOA1ADD AL,07HHEXTOA1: ADD AL,30HENDM出师表两汉:诸葛亮先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
单片机微型计算机原理及接口技术课后习题答案3章3-1简述模型机的工作过程(就以书上举例,叙述过程,本题内容较多,明白道理即可,不需详细记住)计算机的指令执行过程分为读取指令→分析指令→执行指令→保存结果在进行计算前,应做如下工作:①用助记符号指令(汇编语言)编写程序(源程序)②用汇编软件(汇编程序)将源程序汇编成计算机能识别的机器语言程序③将数据和程序通过输入设备送入存储器中存放读取指令阶段(就以书上举例,理解过程即可):①CPU将程序计数器PC中的内容XXH送地址寄存器AR②程序计数器PC的内容自动加1,为取下一条指令做好准备③地址寄存器AR将XXH通过地址总线AB送至存储器地址译码器译码,选中XXH 单元。
④CPU发出“读”指令⑤所选中的XXH单元中的内容由存储器送至数据总线DB上⑥经数据总线DB,CPU将读出的XXH单元中的内容送至数据寄存器DR⑦数据寄存器DR将其送至指令寄存器IR,经过译码,CPU通过控制器发出执行该条指令的控制命令。
执行指令阶段(就以书上举例,理解过程即可)与读取类似(这里从略)3-2 STC15F2K60S2单片机的存储器分为哪几个空间?中断服务程序的入口地址分别是什么?32个通用寄存器各对应哪些RAM单元?STC15F2K60S2单片机的存储器分为四个空间,分别为程序Flash存储器,数据Flash 存储器,内部数据存储器和扩展数据存储器。
中断服务程序的入口地址分别为:0003H 外部中断0中断服务程序的入口地址000BH 定时/计数器0中断服务程序的入口地址0013H 外部中断1中断服务程序的入口地址001BH 定时/计数器1中断服务程序的入口地址0023H 串行通信口1中断服务程序的入口地址002BH ADC中断服务程序的入口地址0033H 低电压检测中断服务程序的入口地址003BH PCA中断服务程序的入口地址0043H 串行通信口2中断服务程序的入口地址004BH SPI中断服务程序的入口地址0053H 外部中断2中断服务程序的入口地址005BH 外部中断3中断服务程序的入口地址0063H 定时/计数器2中断服务程序的入口地址0083H 外部中断4中断服务程序的入口地址32个通用寄存器分为寄存器组0,1,2,3,每个组8个8位的工作寄存器(R0~R7),均存在于内部数据存储器的低128字节内,范围为00H-1FH寄存器组0 R0~R7对应00H-07H寄存器组1 R0~R7对应08H-0FH寄存器组2 R0~R7对应10H-17H寄存器组3 R0~R7对应18H-1FH3-3 位地址29H,61H,7FH,E0H,F1H,各对应哪些单元的哪些位?29H——RAM位寻址区字节地址25H,对应D1位61H——RAM位寻址区字节地址2CH,对应D1位7FH——RAM位寻址区字节地址2FH,对应D7位E0H——高128字节/特殊功能寄存器SFR区,寄存器ACC(字节地址E0H)的D0位;F1H——高128字节/SFR,寄存器B(字节地址F0H)的D1位。
第1章微型计算机系统〔习题1.1〕简答题(2)总线信号分成哪三组信号?(3)PC机主存采用DRAM组成还是SRAM组成?(5)ROM-BIOS是什么?(6)中断是什么?(9)处理器的“取指-译码-执行周期”是指什么?〔解答〕②总线信号分成三组,分别是数据总线、地址总线和控制总线。
③ PC机主存采用DRAM组成。
⑤ ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。
⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。
⑨指令的处理过程。
处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。
〔习题1.3〕填空题(2)Intel 8086支持___________容量主存空间,80486支持___________容量主存空间。
(3)二进制16位共有___________个编码组合,如果一位对应处理器一个地址信号,16位地址信号共能寻址___________容量主存空间。
(9)最初由公司采用Intel 8088处理器和()操作系统推出PC 机。
② 1MB,4GB③ 216,64KB(9)IBM,DOS〔习题1.4〕说明微型计算机系统的硬件组成及各部分作用。
〔解答〕CPU:CPU也称处理器,是微机的核心。
它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。
处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。
存储器:存储器是存放程序和数据的部件。
外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。
I/O设备通过I/O接口与主机连接。
第八章1. 8253芯片有哪几个计数通道?每个计数通道可工作于哪几种工作方式?这些操作方式的主要特点是什么?答:8253内部包含3个完全相同的计数器/定时器通道,即0~2计数通道,对3个通道的操作完全是独立的。
8253的每个通道都有6种不同的工作方式。
方式0——计数结束中断方式:当对8253的任一个通道写入控制字,并选定工作于方式0时,该通道的输出端OUT立即变为低电平。
要使8253能够进行计数,门控信号GATE 必须为高电平。
经过n十1个脉冲后,计数器减为0,这时OUT引脚由低电平变成高电平。
OUT引脚上的高电平信号,一直保持到对该计数器装入新的计数值,或设置新的工作方式为止。
在计数的过程中,如果GATE变为低电平,则暂停减1计数,计数器保持GATE有效时的值不变,OUT仍为低电平。
待GATE回到高电平后,又继续往下计数。
方式1——可编程单稳态输出方式:当CPU用控制字设定某计数器工作于方式1时,该计数器的输出OUT立即变为高电平。
GATE出现一个上升沿后,在下一个时钟脉冲的下降沿,将n装入计数器的执行部件,同时,输出端OUT由高电平向低电平跳变。
当计数器的值减为零时,输出端OUT产生由低到高的正跳变,在OUT引脚上得到一个n个时钟宽度的负单脉冲。
在计数过程中,若GATE产生负跳变,不会影响计数过程的进行。
但若在计数器回零前,GATE又产生从低到高的正跳变,则8253又将初值n装入计数器执行部件,重新开始计数,其结果会使输出的单脉冲宽度加宽。
方式2——比率发生器:当对某一计数通道写入控制字,选定工作方式2时,OUT端输出高电平。
如果GATE为高电平,则在写入计数值后的下一个时钟脉冲时,将计数值装入执行部件,此后,计数器随着时钟脉冲的输入而递减计数。
当计数值减为1时,OUT端由高电乎变为低电平,待计数器的值减为0时,OUT引脚又回到高电平,即低电平的持续时间等于一个输入时钟周期。
与此同时,还将计数初值重新装入计数器,开始一个新的计数过程,并由此循环计数。
1. 什么是冯·诺依曼机?答:冯·诺依曼于1945 年提出了存储程序的概念和二进制原理,利用这种概念和原理设计的电子计算机系统统称为冯·诺依曼机。
它包括运算器、控制器、存储器、输入设备和输出设备五个组成部分。
早期的冯·诺依曼机结构上以运算器和控制器为中心,随着计算机体系结构的发展,现在已演化为以存储器为中心的结构。
2. 微处理器,微型计算机,微型计算机系统有什么联系与区别?答:微处理器是微型计算机系统的核心,也称为CPU(中央处理器)。
主要完成:①从存储器中取指令,指令译码;②简单的算术逻辑运算;③在处理器和存储器或者I/O 之间传送数据;④程序流向控制等。
微型计算机由微处理器、存储器、输入/输出接口电路和系统总线组成。
以微型计算机为主体,配上外部输入/输出设备及系统软件就构成了微型计算机系统。
三者关系如下图:3. 微处理器有哪些主要部件组成?其功能是什么?答:微处理器是一个中央处理器,由算术逻辑部件ALU、累加器和寄存器组、指令指针寄存器IP、段寄存器、标志寄存器、时序和控制逻辑部件、内部总线等组成。
算术逻辑部件ALU 主要完成算术运算及逻辑运算。
累加器和寄存器组包括数据寄存器和变址及指针寄存器,用来存放参加运算的数中间结果或地址。
指令指针寄存器IP 存放要执行的下一条指令的偏移地址,顺序执行指令时,每取一条指令增加相应计数。
段寄存器存放存储单元的段地址,与偏移地址组成20 位物理地址用来对存储器寻址。
标志寄存器flags 存放算术与逻辑运算结果的状态。
时序和控制逻辑部件负责对整机的控制:包括从存储器中取指令,对指令进行译码和分析,发出相应的控制信号和时序,将控制信号和时序送到微型计算机的相应部件,使CPU内部及外部协调工作。
内部总线用于微处理器内部各部件之间进行数据传输的通道。
4. 画一个计算机系统的方框图,简述各部分主要功能。
答:计算机系统由硬件(Hardware)和软件(Software)两大部分组成。
微型计算机原理与接口技术第三版课后题答案微机原理练习题一、填空题1、8086 CPU内部分成 EU和 BIU两个并行工作单元。
2、在8086/8088构成的系统中,时钟发生器常采用的芯片是8284 ,此芯片为8086/8088CPU提供的最基本的三个信号分别是 CLK 信号、与CLK同步的READY信号、和与CLK同步的RESET信号。
3、在8086系统中AD15——AD0称为地址/数据分时复用线,它应在 T2--T4周期传送数据信号,在 T1周期传送地址信号。
4、8086单CPU模式下系统至少需 3片8282;需 2片8286。
5、8086CPU中, EU负责全部指令的译码和执行; EU负责提供偏移地址; BIU负责计算物理地址。
6、8086工作在最大模式下,系统的读写命令和控制信号都由8288产生。
7、在8086系统中,ROM芯片的F6000H—FDFFFH地址用来存放BASIC程序代码,请问这段存储空间共有32 KB。
8、8086的外部数据总线是16位的,8088的外部数据总线是8位的,8086有 16条地址/数据复用引脚。
9、标志寄存器FR中下列标志位的名称以及为0和1时代表的意义分别为:① CF : 进位标志位;0:无进位 1:有进位;② IF :中断允许标志位;0:屏蔽外部的可屏蔽的中断请求;1:允许接受外部的可屏蔽的中断请求;10、物理地址是指存储器的实际地址,一个存储单元的物理地址是惟一;11、微机中的ROM是只读存储器。
12、MOV AX,1234H中源操作数所使用的寻址方式为:立即数寻址方式,MOV ES,AX源操作数所采用的寻址方式:寄存器寻址方式。
13、微型计算机由_运算器、控制器、存储器、I/O接口_四部分组成。
14、8086CPU的9个标志位中,属状态标志的有 CF、AF、ZF、OF、ZF、SF 。
15、总线周期是指 CPU对存储器就行一次读或写操作所用的时间_。
16、当CPU与外设通信,外设由于速度慢而没有准备好时时,CPU便进入等待状态(Tw)17、当一个系统中包含的外设接口较多时,数据总线上需要有数据收发器(如8286)以增强驱动能力。
第四章1. 下列变量各占多少字节?A1 DW 23H,5876HA2 DB 3 DUP(?),0AH,0DH, ‘$’A3 DD 5 DUP(1234H, 567890H)A4 DB 4 DUP(3 DUP(1, 2,’ABC’))答:A1占4个字节A2占6个字节A3占40个字节A4占60个字节2. 下列指令完成什么功能?MOV AX,00FFH AND 1122H+3344HMOV AL,15 GE 1111BMOV AX,00FFH LE 255+6/5AND AL, 50 MOD 4OR AX, 0F00FH AND 1234 OR 00FFH答:(1)将0066H传送给AX(2)将0FFH传送给AL(3)将0FFFFH传送给AX(4)AND AL,02H(5)OR AX,00FFH3. 有符号定义语句如下:BUF DB 3,4,5,’123’ABUF DB 0L EQU ABUF-BUF求L的值为多少?答:L=64. 假设程序中的数据定义如下:PAR DW ?PNAME DB 16 DUP(?)COUNT DD ?PLENTH EQU $-PAR求PLENTH的值为多少?表示什么意义?答:PAR的偏移地址为0,PLENTH当前偏移地址$=2+16+4=22, $-PAR=22,故PLENTH 的值为22。
若在PLENTH所在行有变量定义,则$表示该变量的偏移地址,即$表示PLENTH所在行的当前偏移地址。
故PLENTH表示从当前行到PAR之间定义的变量所占的字节个数。
5. 对于下面的数据定义,各条MOV指令执行后,有关寄存器的内容是什么?DA1 DB ?DA2 DW 10 DUP(?)DA3 DB ‘ABCD’MOV AX, TYPE DA1MOV BX, SIZE DA2MOV CX, LENGTH DA3答:AX=1,BX=20,CX=16. 下段程序完成后,AH等于什么?IN AL, 5FHTEST AL, 80HJZ L1MOV AH, 0JMP STOPL1: MOV AH, 0FFHSTOP: HLT答:讨论从端口5FH输入的数据最高位的情况。
第2章微型计算机基础2.8 在执行指令期间,BIU能直接访问存储器吗?为什么?解:可以.因为EU和BIU可以并行工作,EU需要的指令可以从指令队列中获得,这时BIU预先从存储器中取出并放入指令队列的。
在EU执行指令的同时,BIU 可以访问存储器取下一条指令或指令执行时需要的数据。
2.9 8086与8088CPU的主要区别有哪些?解:主要区别有以下几点:①8086的外部数据总线有16位,而8088的外部数据总线只有8位。
②8086指令队列深度为6个字节,而8088的指令队列深度为4个字节.③因为8086的外部数据总线有16位,故8086每个总线周期可以存取两个字节.而8088的外部数据总线因为只有8位,所以每个总线周期只能存取1个字节.④个别引脚信号的含义稍有不同.2.10 解:(1)要利用信号线包括WR#、RD#、IO/M#、ALE 以及AD0~AD7、A8~A19。
(2)同(1)。
(3)所有三态输出的地址信号、数据信号和控制信号均置为高阻态。
2.11解:在每个总线周期的T3的开始处若READY 为低电平,则CPU在T3后插入一个等待周期TW。
在TW的开始时刻,CPU还要检查READY状态,若仍为低电平,则再插入一个TW 。
此过程一直进行到某个TW开始时,READY已经变为高电平,这时下一个时钟周期才转入T4。
可以看出,插入TW周期的个数取决于READY电平维持的时间。
2.14 解:通用寄存器包含以下8个寄存器:AX、BX、CX和DX寄存器一般用于存放参与运算的数据或运算的结果。
除此之外:AX:主要存放算术逻辑运算中的操作数,以及存放I/O操作的数据。
BX:存放访问内存时的基地址。
CX:在循环和串操作指令中用作计数器。
DX:在寄存器间接寻址的I/O指令中存放I/O地址。
在做双字长乘除法运算时,DX与AX合起来存放一个双字长数。
SP:存放栈顶偏移地址。
BP:存放访问内存时的基地址。
SP和BP也可以存放数据,但它们的默认段寄存器都是SS。
1 思考与练习题一、选择题1.计算机硬件中最核心的部件是( )。
CA.运算器B.主存储器C.CPUD.输入/输出设备2.微机的性能主要取决于( )。
A(B——计算机数据处理能力的一个重要指标)A.CPUB.主存储器C.硬盘D.显示器3.计算机中带符号数的表示通常采用( )。
CA.原码B.反码C.补码D.BCD码4.采用补码表示的8位二进制数真值范围是( )。
CA.-127~+127B.-1 27~+128C.-128~+127D.-128~+1285.大写字母“B”的ASCII码是( )。
BA.41HB.42HC.61HD.62H6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。
CA.10010011BB.93HC.93D.147二、填空题1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。
P8 P52.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。
P5 P93.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。
P94.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。
P125.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。
P15 P166.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。
P18 P19三、判断题1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。
微型计算机原理与接口技术第五版课后答案【篇一:《微型计算机原理与接口技术》(第三版)习题答案】(1)用二进制数表示数据和指令;(2)指令和数据存储在内部存储器中,按顺序自动依次执行指令;(3)由运算器、控制器、存储器、输入设备和输出设备组成基本硬件系统;(4)由控制器来控制程序和数据的存取及程序的执行;(5)以运算器为核心。
1.3 微型计算机的特点和主要性能指标有那些?【解答】除具有运算速度快、计算精度高、有记忆能力和逻辑判断能力、可自动连续工作等基本特点以外,还具有功能强、可靠性高、价格低廉、结构灵活、适应性强、体积小、重量轻、功耗低、使用和维护方便等。
微型计算机的性能指标与系统结构、指令系统、硬件组成、外部设备以及软件配备等有关。
常用的微型计算机性能指标主要有:字长、主频、内存容量、指令数、基本指令执行时间、可靠性、兼容性、性能价格比等。
1. 微机系统的硬件由哪几部分组成?答:三部分:微型计算机(微处理器,存储器,i/0接口,系统总线),外围设备,电源。
2. 什么是微机的总线,分为哪三组?答:是传递信息的一组公用导线。
分三组:地址总线,数据总线,控制总线。
3. 什么是总线,微机中的总线通常分为哪几类?答:是一组信号线的集合,是一种在各模块间传送信息的公共通路;有四类,片内总线,微处理器总线,系统总线,外总线。
4. 8086/8088cpu的内部结构分为哪两大模块,各自的主要功能是什么?答:总线接口部件(biu)功能:根据执行单元eu的请求完成cpu与存储器或io设备之间的数据传送。
执行部件(eu),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接口部件进行算术运算。
5. 8086指令队列的作用是什么?答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让cpu轮番进行取指和执行的工作,从而提高cpu的利用率。
第1章基础知识1.1 计算机中常用的计数制有哪些?解:二进制、八进制、十进制(BCD)、十六进制。
1.2 请说明机器数和真值的区别。
解:把符号数值化的数码称为机器数或机器码,原来的数值叫做机器数的真值。
1.3 完成下列数制的转换。
解:(1)166,A6H (2)0.75 (3)11111101.01B, FD.4H(4) 5B.AH, (10010001.011000100101)BCD1.4 8位和16位二进制数的原码、补码和反码可表示的数的范围分别是多少?解:原码(-127~ 127)、(-32767~ 32767)补码 (-128~ 127)、(-32768~ 32767)反码(-127~ 127)、(-32767~ 32767)1.5 写出下列真值对应的原码和补码的形式。
(1)X= -1110011B(2)X= -71D(3)X= 1001001B解:(1)原码:11110011 补码:10001101(2)原码:11000111 补码:10111001(3)原码:01001001 补码:010010011.6 写出符号数10110101B的反码和补码。
解:11001010,110010111.7 已知X和Y的真值,求[X Y]的补码(1)X=-1110111B Y= 1011010B(2)X=56D Y= -21D解:(1)11100011(2)001000111.8 已知X= -1101001B,Y= -1010110B,用补码求X-Y的值。
解:[X-Y]补=11101101 X-Y=-0010011B1.9 若给字符4和9的ASCII码加奇校验,应是多少?若加偶校验?解:奇校验:4 :(00110100B)34H,9:(10111001B)B9H偶校验:4 :(10110100B)B4H,9:(00111001B)39H1.10 若与门的输入端A、B、C的状态分别为1、0、1,则该与门的输出端状态为?若将这3个信号连接到或门,那么或门的输出又是什么状态?解:1.11 要使与非门输出“0”,则与非门输入端各位的状态应该是什么?如果使与非门输出“1”,其输入端各位的状态又应该是什么?解:全1;至少有一个01.12如果74LS138译码器的C、B、A三个输入端的状态为011,此时该译码器的8个输出端中哪一个会输出“0”?解:#Y31.13图1-16中,Y1=?Y2=?Y3=?138译码器哪一个输出端会输出低电平?解:Y1=0; Y2=1; Y3=1;Y6第2章微处理器和总线2.2说明8086的EU和BIU的主要功能。
在执行指令期间,BIU能直接访问存储器吗?解:执行单元EU负责执行指令。
EU在工作时不断地从指令队列取出指令代码,对其译码后产生完成指令所需要的控制信息。
数据在ALU中进行运算,运算结果的特征保留在标志寄存器FLAGS中。
总线接口单元BIU负责CPU与存储器、I/O接口之间的信息传送。
BIU取出的指令被送入指令队列供EU执行,BIU取出的数据被送入相关寄存器中以便做进一步的处理。
在执行指令期间,BIU能直接访问存储器.因为EU和BIU可以并行工作,EU需要的指令可以从指令队列中获得,这时BIU预先从存储器中取出并放入指令队列的。
在EU 执行指令的同时,BIU可以访问存储器取下一条指令或指令执行时需要的数据。
2.3 8088CPU工作在最小模式下:(1)当CPU访问存储器时,要利用哪些信号?(2)当CPU进行I/O操作时,要利用哪些信号?(3)当HOLD有效并得到响应时,CPU的哪些信号置高阻?解:(1)要利用信号线包括#WR、#RD、IO/#M、ALE以及AD0~AD7、A8~A19。
(2)同(1)。
(3)所有三态输出的地址信号、数据信号和控制信号均置为高阻态。
2.4 总线周期中,什么情况下要插入TW 等待周期?插入TW周期的个数,取决于什么因素?解:在每个总线周期的T3的开始处若READY为低电平,则CPU在T3后插入一个等待周期TW。
在TW的开始时刻,CPU还要检查READY状态,若仍为低电平,则再插入一个TW 。
此过程一直进行到某个TW开始时,READY已经变为高电平,这时下一个时钟周期才转入T4。
可以看出,插入TW周期的个数取决于READY电平维持的时间。
2.5 若8088工作在单CPU方式下,在表2-5中填入不同操作时各控制信号的状态。
解:结果如下所示。
2.6 在8086/8088 CPU中,标志寄存器包含哪些标志位?各位为0(为1)分别表示什么含义?解:(略),见书第49页。
2.7 8086/8088 CPU中,有哪些通用寄存器和专用寄存器?说明它们的作用。
解:通用寄存器包含以下8个寄存器:AX、BX、CX和DX寄存器一般用于存放参与运算的数据或运算的结果。
除此之外:AX:主要存放算术逻辑运算中的操作数,以及存放I/O操作的数据。
BX:存放访问内存时的基地址。
CX:在循环和串操作指令中用作计数器。
DX:在寄存器间接寻址的I/O指令中存放I/O地址。
在做双字长乘除法运算时,DX 与AX合起来存放一个双字长数。
SP:存放栈顶偏移地址。
BP:存放访问内存时的基地址。
SP和BP也可以存放数据,但它们的默认段寄存器都是SS。
SI:常在变址寻址方式中作为源地址指针。
DI:常在变址寻址方式中作为目标地址指针。
专用寄存器包括4个段寄存器和两个控制寄存器:CS:代码段寄存器,用于存放代码段的段基地址。
DS:数据段寄存器,用于存放数据段的段基地址。
SS:堆栈段寄存器,用于存放堆栈段的段基地址。
ES:附加段寄存器,用于存放附加段的段基地址。
IP:指令指针寄存器,用于存放下一条要执行指令的偏移地址。
FLAGS:标志寄存器,用于存放运算结果的特征。
2.8 8086/8088 系统中,存储器为什么要分段?一个段最大为多少个字节?最小为多少个字节?解:分段的主要目的是便于存储器的管理,使得可以用16位寄存器来寻址20位的内存空间。
一个段最大为64KB,最小为16B。
2.9 在8086/8088 CPU中,物理地址和逻辑地址是指什么?已知逻辑地址为1F00:38A0H,如何计算出其对应的物理地址?解:物理地址时CPU存取存储器所用的地址。
逻辑地址是段和偏移地址形式的地址,即汇编语言程序中使用的存储器地址。
若已知逻辑地址为1F00:38A0H,则对应的物理地址=1F00H x 16 38A0H=228A0H。
2.10 若CS=8000H,则当前代码段可寻址的存储空间的范围是多少?解(CS)=8000H时,当前代码段可寻址的存储空间范围为80000H~8FFFFH。
第3章 8088/8086指令系统3.1什么叫寻址方式?8086/8088CPU共有哪几种寻址方式?解:寻址方式主要是指获得操作数所在地址的方法. 8086/8088CPU具有:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址一变址寻址、基址一变址-相对寻址以及隐含寻址等8种寻址方式。
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= 60820H3.3 假设(DS)= 212AH,(CS)= 0200H,(IP)= 1200H,(BX)= 0500H,位移量DATA=40H,[217A0H] =2300H,[217E0H]=0400H,[217E2H] =9000H 试确定下列转移指令的转移地址.(1) JMP 2300H(2) JMP WORD PTR[BX](3) JMP DWORD PTR[BX DATA]解:转移指令分为段内转移和段间转移,根据其寻址方式的不同,又有段内的直接转移和间接转移,以及段间的直接转移和间接转移地址。
对直接转移,其转移地址为当前指令的偏移地址(即IP的内容)加上位移量或由指令中直接得出;对间接转移,转移地址等于指令中寄存器的内容或由寄存器内容所指向的存储单元的内容。
(1) 段内直接转移。
转移的物理地址=(CS) × l6 2300H=02000H 2300H=04300H(2)段内间接转移。
转移的物理地址= (CS) × 16 [BX]= (CS) × l6 [217A0H]=02000H 2300H=04300H(3)段间间接转移。
转移的物理地址=[BX DATA]=[217E2H] × l6 [217E0H]=90000H 0400H=90400H3.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)=1234H3.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)指令错。