微机原理与接口技术答案个别没有.docx
- 文档编号:28058779
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:34
- 大小:308.18KB
微机原理与接口技术答案个别没有.docx
《微机原理与接口技术答案个别没有.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术答案个别没有.docx(34页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术答案个别没有
习题一
1.1计算机中为什么采用二进制?
二进制数有什么特点?
(1)基2码在物理上最容易实现。
(2)基2码用来表示二进制数,其编码、加减运算规则简单。
(3)基2码的两个符号“1”和“0”正好与逻辑数据“真”与“假”相对应。
1.2把下列十进制数转换成二进制、八进制、十六进制数。
6.25D=110.01B=6.2Q=6.4H
1.3把下列二进制数转换成十进制数。
1101.01B=13.25
1.4把下列八进制数转换成十进制数。
776.07Q=7*8*8+7*8+6+7/64=510.109375
1.5把下列十六进制数转换成十进制数。
A6.DCH=166+13/16+12/256=166.859375
1.6把下列英文单词转换成ASCII代码。
WATER
“w”41H+22=87
“A”41H=65
“T”41H+19=84
“E”41H+4=69
“R”41H+17=82
1.7写出回车键、空格键的ASCII代码。
回车键:
10
空格键:
32
1.8求下列带符号十进制数的8位二进制补码。
127补码:
07FH
-1补码:
0FFH
1.9求下列带符号十进制数的16位二进制补码。
655补码:
028FH
-1补码:
0FFFFH
1.10在计算机中,一个汉字使用几位二进制进行编码?
16位
1.11计算机硬件由哪几部分组成?
各部分的作用是什么?
中央处理器、内部存储器、输入输出接口及系统总线。
1.12计算机软件系统的作用是什么?
包括哪几方面?
软件的目的都是为扩大计算机的功能和方便用户,
使用户编制解决各种问题的源程序更为方便、简单和可靠。
分为系统软件、应用软件和支撑软件。
1.13简述计算机的位、字节和字长关系?
1字节=8位
字长:
是CPU能同时处理的最大位数,因计算机不同而不同,
分8位、16位、32位、64位。
1.14简述计算机的分类方法和特点?
按字长分:
8位、16位、32位、64位
按用途分:
通用机、专用机
按档次分:
低档、中档、高档
按组装和规模分:
单片机、单板机、个人计算机和微型网络
习题二
2.1试述微处理器的发展历史。
第一代,1971年开始,是4位和低档8位微处理器的时期。
第二代,1973年开始,是8位微处理器的时期。
第三代,1978年开始,是16位微处理器的时期。
第四代,1981年开始,是32位微处理器的时期。
2.28086微处理器由哪几部分组成?
各部分的功能是什么?
由总线接口单元BIU和执行单元EU组成。
BIU是8086CPU在存储器和I/O设备之间的接口部件,
负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。
EU进行所有指令的解释和执行,同时管理上述有关寄存器。
(1)地址加法器和段寄存器
2.3 简述8086CPU的寄存器组织。
AX累加器
BX基址寄存器
CX计数器
DX数据寄存器
SI源变址寄存器
DI目的变址寄存器
SP堆栈指针寄存器
BP基址指针寄存器
DS数据段寄存器
SS堆栈段寄存器
CS代码段寄存器
ES附加段寄存器
IP指令指针寄存器
FLAGS标志寄存器
2.4 试述8086CPU标志寄存器各位的含义与作用。
CF进位位
AF辅助进位位
OF溢出
SF符号位
PF奇偶位
ZF零标志位
IF中断允许
TF单步
DF方向
2.5 在8086中,存储器为什么采用分段管理?
因CPU有20位地址总线,它可寻址空间为1MB。
而8086指令给出的地址编码只有16位,
指令指针和变址寄存器也是16位的,
所以CPU不能直接寻址1MB空间。
因此采用分段管理。
2.6 在什么是逻辑地址?
什么是物理地址?
如何由逻辑地址计算物理地址?
逻辑地址:
程序使用的地址。
物理地址:
指CPU和存储器进行数据交换时实际所使用的地址
由段地址和偏移地址组成
计算:
物理地址=段地址*10H+偏移地址
2.7 在8086中,CPU实际利用哪几条地址线来访问I/O端口?
最多能访问多少个端口?
利用最低16根地址线。
最多访问65536个端口。
2.8 在80x86微处理器的指令队列的作用是什么?
由于EU和BIU是各自独立工作的,
EU执行指令的同时,BIU可预取下面一条或几条指令。
因此,一般情况下CPU执行完一条指令后,就可立即执行存放在指令队列中的下一条指令,而不需要象以往8位CPU那样,采取先取指令后执行的串行方式。
提高了机器运行速度。
习题三
3.1机器指令分为哪几部分?
每部分的作用是什么?
操作码和操作数。
操作码:
用来说明该指令所要完成的操作。
操作数:
用来描述该指令的操作对象。
3.2指出下列MOV指令的源操作数的寻址方式。
MOVAX,1234H立即寻址
MOVAX,BX寄存器寻址
MOVAX,[BX]寄存器间接寻址
MOVAX,TABLE;TABLE;TABLE是一个变量名直接寻址
MOVAX,[1234H]直接寻址
MOVAX,[BX+1234H]寄存器相对寻址
MOVAX,[BP][SI]基址变址寻址
MOVAX,[BX+SI-1234H]基址变址相对寻址
3.3
(DS)=2000H,
(BX)=0100H,
(SS)=1000H,
(BP)=0010H,
TABLE的物理地址为000AH,
(SI)=0002H。
求下列每条指令的源操作数的存储单元地址。
MOVAX,[1234H]21234H
MOVAX,[BX]20100H
MOVAX,TABLE[BX]2010AH
MOVAX,[BP]10010H
MOVAX,[BP][SI]10012H
3.4设ARRAY是字数组的首地址,写出将第5个字元素取出送AX寄存器的指令,要求使用以下几种寻址方式:
(1)直接寻址
MOVAX,ARRAY+8
(2)寄存器间接寻址。
MOVBX,OFFSETARRAY
ADDBX,8
MOVAX,[BX]
(3)寄存器相对寻址。
MOVBX,OFFSETARRAY
MOVAX,[BX+8]
(4)基址变址寻址。
MOVBX,OFFSETARRAY
MOVSI,8
MOVAX,[BX+SI]
3.5设当前(CS)=2000H,(IP)=2000H,
标号NEXT定义在当前代码段偏移地址为0100H处,(DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=30H,
数据段定义的字变量ARRAY的偏移量为1000H,
试写出下列转移指令的目标转移地址。
(1)JMPNEARPTRNEXT
2000H*10H+0100H
(2)JMPBX
2000H*10H+1000H
(3)JMPWORDPTRARRAY
2000H*10H+3000H
3.6设当前(CS)=2000H,(IP)=2000H,
标号NEXT定义在3000H:
1000H处。
当前(DS)=1000H,(BX)=1000H,
(11000H)=00H,(11001H)=03H,
(11002H)=00H,(11003H)=30H,
数据段定义的字变量ARRAY的内容为0300H,
(ARRAY+2)=3000H,试写出下列转移指令的目标转移地址。
(1)JMPFARPTRNEXT
3000H*10H+1000H
(2)JMPDWORDARRAY
3000H*10H+0300H
3.7下列每组指令有何区别?
(1)MOVAX,1234H立即寻址
MOVAX,[1234H]直接寻址
(2)MOVAX,TABLE直接寻址
MOVAX,[TABLE]直接寻址
(3)MOVAX,TABLE将TABLE的内容送AX
LEAAX,TALBE将TABLE的偏移量送AX
(4)MOVAX,BX寄存器寻址
MOVAX,[BX]寄存器间接寻址
3.8MOVCS,AX指令正确吗?
错误。
不能用CS作目的操作数。
3.9写一指令序列将3456H装入DS寄存器。
MOVAX,3456H
MOVDS,AX
不能将立即数直接送段寄存器,所以得间接。
3.10若正在访问堆栈的03600H单元,则SS和SP的值各是多少?
03600H=SS*10H+SP
所以有多个答案。
例如:
SS=350HSP=0H
SS=300HSP=600H
3.11若(SS)=2000H,(SP)=000AH,
先执行将字数据1234H和5678H压入堆栈的操作,
再执行弹出一个字数据的操作,
试画出堆栈区及SP的内容变化过程示意图(标出存储单元物理地址)
3.12解释XLAT指令是怎样转换AL寄存器中的内容的,
并编写一段程序用XLAT指令将BCD码0~9转换成对应的ASCII码,
并将ASCII码存入ARRAY中。
(AL)←((BX)+(AL))
把BX内容加AL内容,把所得结果作为地址到数据段取一字节送AL
Codesegment
assumecs:
code,ds:
data
Start:
movax,data
movds,ax
movbx,offsettab
xlat
movarray,al
endstart
Codeends
Datasegment
arraydb?
Tabdb30h,31h,32h,33h,34h,35h,36h,37h,38h,39h
Dataends
3.13能用ADD指令将BX内容加到ES中去吗?
不能。
算术运算中段寄存器不得作为目的操作数。
3.14INC[BX]指令正确吗?
错误。
需指明存储器操作数的类型是字节还是字。
3.15若(AX)=0001H,(BX)=0FFFFH,执行ADDAX,BX之后,
标志位ZF、SF、CF、OF各是什么?
ZF=1
SF=0
CF=1
OF=0
3.16写一指令序列完成将BL中的数据除以CL中的数据,
再将其结果乘以2,并将最后为16位数的结果存入DX寄存器中。
MOVAL,BL
CBW
DIVCL
MOVCL,2
MULCL
MOVDX,AX
3.17写一指令序列,完成将AX寄存器的最低4位置1,
最高3位清0,第7、8、9位取反,其余位不变的操作。
ORAX,000FH
ANDAX,1FFFH
XORAX,0380H
3.18试写出执行下列指令序列后AX寄存器的内容。
执行前(AX)=1234H。
MOVCL,7
SHLAX,CL
AX=1A00H
3.19写一指令序列把DX与AX中的双字左移三位。
SHLAX,1
RCLDX,1
SHLAX,1
RCLAX,1
SHLAX,1
RCLAX,1
习题四
4.1假设下列指令中所有标识符均是类型属性为字变量,
请指出下列指令中哪些是非法的?
它们的错误是什么?
(1)MOVBP,AL
错
类型不一致
(2)MOVWORD_OP[BX+4*3][DI],SP
对
(3)MOVWORD_OP1,WORD_OP2
错
两存直接传
(4)MOVAX,WORD_OP1[DX]
错
只能用BX.BPSI.DI间接寻址
(5)MOVSAVEWORD,DS
对
(6)MOVSP,SS:
DATA_WORD[BX][SI]
对
(7)MOV[BX][SI],2
错
需明确类型
是字还是字节
(8)MOVAX,WORD_OP1+WORD_OP2
错
必须一常数
(9)MOVAX,WORD_OP1_WORD_OP2+100
对
10)MOVWORD_OP1,WORD_OP1_WORD_OP2
错
俩标识符直连
4.2假设VAR1和VAR2为字变量,LAB为标号,试指错。
(1)ADDVAR1,VAR2
两存
(2)SUBAL,VAR1
类型不一致
(3)JMPLAB[SI]
JMP后只能接标号
(4)JNZVAR1
JNZ后只能接标号,
不许接变量
(5)JMPNEARLAB
缺PTR
4.3画图说明下列语句所分配的存储空间及初始化的数据值。
(1) BYTE_VARDB'BYTE’,12,-12H,3DUP(0,?
,2DUP(1,2),?
)
(2)WORD_VARDW5DUP(0,1,2),?
,-5,‘BY’,‘TE’,256H
00000H
‘B’
00000H
重复5次
00H
‘Y’
00H
‘T’
01H
‘E’
00H
0CH
02H
-12H
00H
重复3次
0
—
—
—
1
FBH
2
FFH
1
‘Y’
2
‘B’
—
‘E’
…
…
‘T’
…
…
00H
…
…
01H
FFFFFH
FFFFFH
…
4.4将首地址为BLOCK的字数组的第6个字送到CX寄存器,
要求分别使用以下几种寻址方式:
(1)以BX的寄存器间接寻址;
(2)以BX的寄存器相对寻址;
(3)以BX、SI的基址变址寻址。
(1)MOVBX,offsetBLOCK==LEABX,BLOCK
ADDBX,10
MOVCX,[BX]
(2)MOVBX,offsetBLOCK
MOVCX,[BX]10
(3)MOVBX,offsetBLOCK
MOVSI,10
MOVCX,[BX][SI]
4.5假设程序中的数据定义如下:
PARTNODW?
PNAMEDB16DUP(?
)
COUNTDD?
PLENTHEQU$-PARTNO
问PLENTH的值为多少?
它表示什么意义?
PLENTH的值为22,表示从PARTNO开始到PLENTH之前所含字节数。
4.6有符号定义语句如下:
BUFFDB1,2,3,‘123’
EBUFFDB0
LEQUEBUFF-BUFF
问L的值是多少?
L值为6。
BUFFDB1,2,3,‘123’
LEQU$-BUFF
EBUFFDB0
4.7假设程序中的数据定义如下:
LNAMEDB30DUP(?
)
ADDRESSDB30DUP(?
)
CITYDB15DUP(?
)
CODE_LISTDB1,7,8,3,2
(1)用一条MOV指令将LNAME的偏移地址放入AX。
(2)用一条指令将CODE_LIST的头两个字节的内容放入SI。
(3)写一条伪操作使CODE_LENGTH的值等于CODE_LIST域的实际长度。
(1)MOVAX,OFFSETLNAME
(2)MOVSI,WORDPTRCODE_LIST
(3)CODE_LENGTHEQU$-CODE_LIST
DATASEGMENT
LENDB5
MAXDW?
MINDW?
DATA_LISTDW-1,0,2,5,4,?
?
?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
MOVAX,DATA
MOVDS,AX
MOVCX,4
LEABX,DATA_LIST
MOVMAX,[BX]
AGAIN1:
INCBX
CMPMAX,[BX]
JGNEXT1
MOVMAX,[BX]
Next1:
LOOPAGAIN1
4.8写完整数据段DATA,
把5赋一字节,把-1,0,2,5和4放10字数组DATA_LIST前5个单元中。
完整程序段。
把DATA_LIST前5数最大值和最小值分别存MAX和MIN单元
MOVCX,4
LEABX,DATA_LIST
MOVMIN,[BX]
AGAIN2:
INCBX
CMPMIN,[BX]
JLNEXT2
MOVMIN,[BX]
Next2:
LOOPAGAIN2
CODEENDS
ENDSTART
4.8写出一个完整的数据段DATA,把整数5赋予一个字节,
把-1,0,2,5和4放在10字数组DATA_LIST前5个单元中。
然后写出完整的代码段,其功能是把DATA_LIST中前5个数中最大值和最小值分别存入MAX和MIN单元中。
DATASEGMENT
LENDB5
MAXDW?
MINDW?
DATA_LISTDW-1,0,2,5,4,?
?
?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
MOVAX,DATA
MOVDS,AX
MOVCX,4
LEABX,DATA_LIST
MOVMAX,[BX]
MOVMIN,[BX]
AGAIN:
INCBX
CMPMAX,[BX]
JLBIG
CMPMIN,[BX]
JLNEXT
MOVMIN,[BX]MIN<[BX]
JMPNEXT
BIG:
MOVMAX,[BX]MAX<[BX]
Next:
LOOPAGAIN
CODEENDS
4.9给出等值语句如下:
ALPHAEQU100
BETAEQU25
GAMMAEQU2
问下列表达式的值各是多少?
(1)ALPHA*100+BETA
10025
(2)ALPHAMODGAMMA+BETA
19
(3)(ALPHA+2)*BETA-2
102*25-2=2548
(4)(BETA/3)MOD5
3
(5)(ALPHA+3)*(BETAMODGAMMA)
103
(6)ALPHAGEGAMMA
FFH
(7)BETAAND7
1
(8)GAMMAOR3
3
4.10对于下面的数据定义,三条MOV指令分别汇编成什么?
(可用立即数方式表示)
TABLEADW10DUP(?
)
TABLEBDB10DUP(?
)
TABLECDB‘1234’
MOVAX,LENGTHTABLEA
MOVAX,10
MOVBL,LENGTHTABLEB
MOVBL,10
MOVCL,LENGTHTABLEC
MOVCL,1
4.11各条MOV指令单独执行后,有关寄存器的内容是什么?
FLDBDB?
TABLEADW20DUP(?
)
TABLEBDB‘ABCD’
(1)MOVAX,TYPEFLDB
1
(2)MOVAX,TYPETABLEA
2
(3)MOVCX,LENGTHTABLEA
20
(4)MOVDX,SIZETABLEA
40
(5)MOVCX,LENGTHTABLEB
1
4.12编程显示字符串‘THISISTEXTDISPLAYPROGRAM.’。
datasegment
bufferdb‘THISISTEXTDISPLAYPROGRAM.$’
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movdx,offsetbuffer
movah,9
int21H
movah,4ch
int21H
codeends
endstart
习题五
5.1简述8086引脚信号
M/IO*、DT/R*、RD*、WR*、ALE、DEN*、BHE*/S7的作用。
M/IO*若为1访问存储器,否则IO
DT/R*若为1控制缓冲器方向为发送,否则接收
RD*读引脚
WR*写引脚
ALE地址锁存引脚
DEN*控制缓冲器能否工作
BHE*/S7T1总线高允许/状态
5.2什么是指令周期?
什么是总线周期?
什么是时钟周期?
指令周期:
执行一条指令所需要的时间。
总线周期:
CPU的每一个这种信息输入、输出过程需要的时间。
时钟周期:
时钟脉冲的重复周期。
1指令周期=N总线周期
1总线周期=至少4个时钟周期
5.38086一个总线周期包括哪几个时钟周期?
若主时钟频率为4.77MHz,一个总线周期是多少时间?
怎样延长总线周期?
8086一个总线周期包括时钟周期:
T1、T2、T3、T4
若主时钟频率为4.77MHz,一个总线周期是4/4.77微妙
用ready可延长总线周期。
当被选中进行数据读/写的存储器或外设无法在三个T周期内完成数据读/写时,就由其发出一个请求延长总线周期的信号到8086CPU的READY引脚,8086CPU收到该请求后,就在T3与T4之间插入一个等待周期Tw,加入Tw的个数与外部请求信号的持续时间长短有关,延长的时间Tw也以时钟周期T为单位,在Tw期间,总线上的状态一直保持不变。
5.5什么是总线?
简述微机总线的分类。
总线是用来连接各部件的一组通信线,换言之,
总线是一种在多于两个模块(设备或子系统)间传送信息的公共通路。
总线按其功能可分为系统总线(内总线)和通信总线(外总线)。
内总线指微机系统内部模块或插件板间进行通信联系的总线,如S-100总线、PC总线、STD总线、MULTIBUS等。
外总线指把不同微机系统连接起来的通信线路。
按信号传输方式,通信线路可分为串行总线和并行总线。
串行总线(如RS-232、RS-422等)是按位串行方式传送信息;
并行总线(如IEEE-488)的信息以并行方式同时传送。
各种标准总线都在信号系统、电气特性、机械特性模板结构等多方面做了规范定义。
5.6简述PCI总线的特点。
(1)突出的高性能。
(2)良好的兼容性。
(3)支持即插即用。
(4)支持多主设备能力。
(5)适度数据的完整性。
(6)优良的软件兼容性。
(7)可选电源。
PCI总线定义了5V和3.3V两种信号环境。
(8)相对的低成本。
5.7简述USB总线的应用场合与特点。
(1)USB为所有的USB外设提供了单一的、易于操作的标准连接类型。
(2)USB排除了各个设备,
像鼠标、调制解调器、键盘和打印机,去除系统资源需求,
因而减少了硬
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 答案 个别 没有