32位微型计算机原理史新福第3版西工大版答案doc.docx
- 文档编号:11854767
- 上传时间:2023-04-06
- 格式:DOCX
- 页数:15
- 大小:31.34KB
32位微型计算机原理史新福第3版西工大版答案doc.docx
《32位微型计算机原理史新福第3版西工大版答案doc.docx》由会员分享,可在线阅读,更多相关《32位微型计算机原理史新福第3版西工大版答案doc.docx(15页珍藏版)》请在冰豆网上搜索。
32位微型计算机原理史新福第3版西工大版答案doc
幻灯片1
32位微型计算机原理接口技术及其应用
习题解答
幻灯片2
第一章绪论
4.什么叫BCD码?
试举例说明。
(14页)
BCD码:
二进制编码的十进制数。
四位二进制编码表示一位十进制数,表示范围0-9。
如:
(7)厂(0111)心
幻灯片3
12.求11010010和01001110两数分别作“与”、“或”和“异或”操作的运算结果。
与:
11010010
或:
11010010
01001110
01001110
01000010
11011110
异或:
11010010
01001110
10011100
幻灯片4
15.试画出组成微型计算机系统的框图并简述
各部分的作用。
(18-19页)
硬件:
运算器、控制器、存贮器、输入设备、
输岀设备等;
软件:
系统软件、应用软件;
通讯网络系统:
幻灯片5
16.微型计算机各部分的连接采用总线结构时有哪几种方式?
简述它们的优缺点。
(20页)
%1•以CPU为中心的双总线结构:
效率不高,运算器是中间站降低了工作效率;
%1•以存储器为中心的双总线结构:
效率较高;
%1•单总线结构:
结构简单,增减设备方便;
%1.三总线结构:
高效率;
幻灯片6
•17.典型的微处理器是由哪几部分组成的?
其主要功能是什么?
•22页图1.11
•累加器、暂存器、算术逻辑部件、标志寄存器、通用和专用寄存器、程序计数器、堆栈指示器、指令寄存器、指令译码器和控制电路等。
•主要功能:
23页
幻灯片7
•1&简述在微机中执行一条指令的过程。
•一条指令在微处理器中执行的过程为:
22页
•总的来说:
取指令分析指令执行指令
•20.简述PC和SP在微机中的作用。
•PC程序计数器:
用于存放要执行的指令的存储地址,也称指令计数器。
执行指令时,
CPU自动修改PC的内容。
•SP为堆栈指针:
24页
幻灯片8
第二章Intel32位CPU
1.80486微处理器的基本组成与系统结构。
29页图2.1
3.试说明80486微处理器中状态寄存器各标志位的作用。
37页
4.试说明80486中控制寄存器的作用。
38页
幻灯片9
13.试说明80486微处理器中指令流水线的硬件组成与指令流水过程。
41-42页
硬件组成:
8K内部Cache存贮器、32字节指令预取队列、指令译码器、控制器、控制寄存器和执行部件。
指令流水过程:
1、指令预取2、译码13、译码24、执行、5、回写
幻灯片10
第三章80x86寻址方式和指令系统
1.数据寻址方式有哪几种?
数据寻址:
立即寻址、寄存器寻址、存储器寻址
2.16位指令模式下和32位指令模式下的存储器寻址方式各有哪几种寻址方式?
比较他们的相似与不同之处?
①16位指令模式存储器寻址:
直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址变址寻址
幻灯片11
②32位指令模式下:
直接寻址,间接寻址,
相对基址寻址,相对比例寻址,相对比例基址变址寻址
3.程序地址寻址方式有哪几种?
相对寻址、直接寻址、间接寻址70页
4.什么是堆栈地址寻址方式?
“后进先出”原则,使用PUSHPOP指令
72页
幻灯片12
5•指令编码格式是由哪几部分组成的?
各部分的含义是什么?
前缀+操作码+寻址方式+偏移量+立即数
各部分含义73页
6.80x86指令格式由哪几部分组成的?
[标号:
1助记符操作数;注释幻灯片13
7.80x86指令系统按其功能可分为几部分?
数据传送指令、算术运算指令、逻辑运算指令、串操作指令、控制转移指令、处理器控制指令、输入/输出指令、中断指令、DOS功能调用指令10.堆栈操作指令有哪几种?
PUSHSRC
PUSHAPUSHAD77页
POPDEST;
POPA
POPAD
幻灯片14
22.DS=2000H,SS=3000H,BP=0200H,SI=4000H,BUF=1000H,EAX=00001000H,EBX=00002000,假设按16位实模式操作,确定下列每条指令访问内存的物理地址,并且指出源操作数及目的操作数的寻址方式。
(1).MOVAL,[1234H]
PA=2000*10H+1234H=21234H
源操作数:
存储器直接寻址
目的操作数:
寄存器寻址
幻灯片15
⑵.MOVEDX,[BX]
PA=10*2000H+2000H=22000H
源操作数:
寄存器间接寻址
目的操作数:
寄存器寻址
⑶.MOVCL,[BX+100H]
PA=10*2000H+2000H+100H=221OOH
源操作数:
寄存器相对寻址
目的操作数:
寄存器寻址
幻灯片16
⑷.MOV[SI],EBX
PA=2000*10H+4000H=24000H
源操作数:
寄存器寻址
目的操作数:
寄存器间接寻址
⑸.MOVAH,BUF[BX+SI]
PA=10*2000H+1000H+2000H+4000H=27000H
源操作数:
相对基址变址寻址
目的操作数:
寄存器寻址
幻灯片17
⑹.MOVEAX,[BP+1234H]
PA=10*3000H+0200H+1234H=31434H
源操作数:
寄存器相对寻址
目的操作数:
寄存器寻址
⑺.MOV[EAX+EBX],DH
PA=10*2000H+1000H+2000H=23000H
源操作数:
寄存器寻址
目的操作数:
寄存器间接寻址
幻灯片18
23.试指出下列指令中的错误
(1)MOV[BX],[SI]76页
源操作数和目的操作数同为存储器操作数
⑵MOVAH,DX
源操作数和目的操作数数据类型不一致
(3)INC[BX]
存储器操作数应指明类型
⑷MOVDS,SS76页
源操作数和目的操作数不允许同为段寄存器
幻灯片19
⑸XCHGAX,2000H
只能在寄存器之间,寄存器和存储器之间用交换指令。
源操作数是立即数,
⑹MOVAX,[BX+DX]
基址+
DX不是可以寻址的寄存器,可以寻址的寄存器有:
BX,BP,SI,DI
幻灯片20
⑺XCHG[SP],ES
不能随便修改堆栈指针
⑻ADD[AX],BX
[AX]应该指明操作数类型
⑼MOVAX,DI+SI
DI+SI用于存放变址,专用寄存器,用来对寄存器寻址
00)INAL,BX
源操作数应该是8位端口地址或DX寄存器
幻灯片21
24.指出下列算术逻辑指令执行后,标志CF,ZF,SF,PF,OF和AF的状态。
⑴MOVAL,80H;不影响标志位
⑵DECAl;Al=7FH(01111111)
CF=O,ZF=O,SF二0,PF=O,OF=1(有符号数),AF=1
⑶ADDAL,10H;Al=8FH(10001111)
CF=0,ZF=O,SF=1,PF=O,OF=1,AF=0
幻灯片22
⑷SUBAL,10H;Al=7FH(01111111)
CF=0,ZF=O,SF=O,PF=O,OF=1,AF=O
⑸MOVAL,3AH;不影响标志位
⑹ANDAL,OFOH;AL=30H
CF=O,ZF=O,SF二0,PF=1,0F=0,AF=O(无影响)
⑺ORAL,OFOH;AL=F0H
CF=0,OF=0,ZF=O,SF=1,PF=1,AF=O
⑻XORAL,OFOH;AL=OOH
CF=0,OF=0,ZF=1,SF=O,PF=1,AF=0幻灯片23
25.AX寄存器清
XORAX,AX
SUBAX,AX
SHLAX,16
MOVAX,0000H
ANDAX,0000H
SALAX,16
SHRAX,16
幻灯片24
27•试分别用数据传送指令,交换指令和堆栈操作指令,实现将首地址为BLOCK的内存单元中两个数据字交换。
BLOCK变量定义:
BLOCKDW10H,20H
MODELSMALL
DATA
BLOCKDW10H,20H
CODE
STARTUP
MOVAX,BLOCK
MOVBX,BLOCK+2
MOVBLOCK+2,AX
MOVBLOCK,BX
EXIT
END
幻灯片25
MOVAX,BLOCK
XCHGAX,BLOCK+2
MOVBLOCK,AX
#######################
PUSHBLOCK
PUSHBLOCK+2
POPBLOCK
POPBLOCK+2########################
幻灯片26
2&设一个字节数据x存放在AL寄存器中,试说明下列程序的功能
XORAH,AH;AH清0
SALAX,1;AX=2x算术左移
MOVBX,AX;BX=2x
MOVCL,2;CL=2
SALAX,CL;AX=AX*2*2=AX*4=8x
ADDAX,BX;AX=10x
功能:
x扩大10倍存放在AX
幻灯片27
29.编程实现:
(1)AL寄存器低4位清0;
(2)BL寄存器低4位置1;(3)CL寄存器低4位取反;⑷测试DL寄存器的最低2位是否为0,若是将0送入AL寄存器;否则将1送入AL寄存器。
⑵ORBL,OFH⑶XORCL,OFH
幻灯片28
30.试编程统计在AX寄存器中有多少个1,并将结果送DL寄存器中.
DODELTINY
CODE
STARTUP
MOVDL,0
MOVCL,16
AGAIN:
ROL(ROR)AX,1
JNCNEXT
INCDL
NEXT:
DECCL
JNZAGAIN
EXIT
END
幻灯片29
31.试编程统计在内存BLOCK单元开始按字节存
放的100个带符号数中有多少负数,并将结果存
放在DL寄存器中。
MODELSMALL
DATA
BLOCKDB0,1,5,・・・(100个带符号数)
CODE
STARTUP
MOVCX,100
MOVDL,0
LEABX,BLOCK
幻灯片30
AGAIN:
MOVAL,[BX]
TESTAL,80H
JZNEXT
INCDL
NEXT:
INCBX
LOOPAGAIN
EXIT
EDD.
幻灯片31
第四章
1.试计算下列伪指令中各变量所分配的字节数
AlDW20;2个字节
A2DW8DUP(?
),10,20;20个字节
A3DD10DUP(?
);40个字节
A4DB3DUP(?
4DUP(0));15个字节
A5DB,HappyNewYear!
!
;16个字节
幻灯片32
3.试编写査表程序,将BUF中任意存放的16个00H~0FH之间的数转换为对应的表示十六进制数的ASCII码,并显示。
MODELSMALL
DATA
BUFDBOOH,01H,02H,03H,04H,….OFH
TABLEDB30H,31H,32H……39H……46H
CODE
STARTUP
MOVCX,16
MOVBXOFFSETTABLE
MOVSIOFFSETBUF
幻灯片33
Next:
MOVAL,[SI]
XLAT
MOV[SI],AL
MOVDL,AL
MOVAH,2
INT21
INCSI
LOOPNext
EXIT
END
104页
幻灯片34
4•在首地址为BUF的内存单元存放了10个字节的无符号数,试编程求其和,存入SUB单元
MODELSMALL
DATA
BUFDB10H,32H,(10个数)
SUBDW
CODE
STARTUP
MOVCX,10H
CLC
幻灯片35
MOVBXOFFSETBUF
MOVAX,O
LOOP1:
ADCAX,[BX]
INCBX
LOOPL00P1
MOVSUB,AX
EXIT
END
6.试使用IF,ELSE和ENDIF语句编程,将存入AL
寄存器的OOH~OFH之间的二进制数转换为ASCII码。
幻灯片36
MODELSMALL
CODE
STARTUP
IFAL>二'O'&&ALV'9'
ADDAL,30H
ELSE
ADDAL,37H
ENDIF
EXIT
END
幻灯片37
7.试使用WHILE和ENDW语句编程,从键盘接收字符存入内存BUF缓冲区,直到出现回车符时停止接收
MODELSMALL
DATA
BUFDB40DUP(?
)
CODE
STARTUP
MOVAH,1
INT21H
LEABX,BUF
WHILEAL!
=ODH
幻灯片38
MOV[BX],AL
INCBX
INT21H
END
8.试使用REPEAT和UNTILCXZ语句编程,在首地
址为BUF的缓冲区填入100个OOHo
MODELSMALL
DATA
BUFDB100DUP(?
)
CODE
STARTUP
幻灯片39
MOVBXOFFSETBUF
MOVCX,100
REPEAT
MOV[BX],OOH
INCBX
UNTILCXZ
EXIT
END
幻灯片40
MOVDL,0
LEABX,BLOCK
MOVCX,100
again:
CMPBYTEPTR[BX],0;[BX]和0比较
JGENEXT;若ANB,转NEXT,否则DL加1
INCDL
NEXT:
INCBX
LOOPagain
EXIT
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 32 微型计算机 原理 史新福第 版西工大版 答案 doc