《微机原理与接口技术》第四章习题集与解答.docx
- 文档编号:24557901
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:18
- 大小:27.28KB
《微机原理与接口技术》第四章习题集与解答.docx
《《微机原理与接口技术》第四章习题集与解答.docx》由会员分享,可在线阅读,更多相关《《微机原理与接口技术》第四章习题集与解答.docx(18页珍藏版)》请在冰豆网上搜索。
《微机原理与接口技术》第四章习题集与解答
习题集解答
第五章汇编语言程序设计
1.从4000H单元开始定义数据段如下,请画出所定义存储器的分配图。
BUFSEGMENT
DAlDW3456H
DA2DB2DUP(7,8)
BUFENDS
答:
存储器的分配图
2.对于习题1的定义,请说明下列每条指令执行后的结果。
1、MOVAX,SEGDAl
2、MOVAX,SEGDA2
3、MOVBX,OFFSETDAl
4、MOVBX,OFFSETDA2
5、MOVCX,TYPEDAl
6、MOVCX,TYPEDA2
7、MOVDX,LENGTHDAl
8、MOVDX,LENGTHDA2
9、MOVAX,SIZEDAl‘
10、MOVAX,SIZEDA2
答:
1、(AX)=(DS)
2、(AX)=(DS)+2
3、(BX)=4000H
4、(BX)=4002H
5、(CX)=2
6、(CX)=1
7、(DX)=2
8、(DX)=4
9、(AX)=2
10、(AX)=4
3.已知数据定义如下,请计算变量PL的值是多少?
DATADB‘AB’
DATAlDB10DUP(?
)
PLEQU$-DATA
答:
PL=DATA+12-DATA=12
4.已知A=25、B=15、C=4,请计算下列表达式的值。
(1)A×50+B
(2)AMODC+B
(3)(A+4)×B-3(4)B/3MOD4
(5)ALEB(6)AXOR50
答:
(1)A×50+B=25×50+15=1250+15=12515
(2)AMODC+B=25MOD4+15=1+15=16
(3)(A+4)×B-3=(25+4)×15-3=1500-3=1497
(4)B/3MOD4=15/3MOD4=5MOD4=1
(5)ALEB=25LE15=0
(6)AXOR50=25XOR50=43
5.已知内存DATA单元存放一个字数据,请统计其中含有0的个数,并送人
RESULT单元的程序。
答:
程序如下:
DATA1SEGMENT
DATADW1234h
COUNTDB0
DATA1ENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA1
START:
MOVAX,DATA1
MOVDS,AX
MOVAX,DATA
MOVCX,16
LOP:
TESTAX,8000H
JNZNEXT
INCRESULT
NEXT:
ROLAX,1
LOOPLOP
INT3
CODEENDS
ENDSTART
6.已知从数据段TAB单元开始,顺序存放十六进制数0~F的ASCII码,寄存器AL中的高四位二进制数是0、低四位是1。
请设计程序:
用查表指令(XLAT)将寄存器AL中低四位的十六进制数转换为ASCII码。
答:
DATASEGMENT
TABDB'0123456789ABCDEF'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEABX,TAB
XLAT
INT3
CODEENDS
ENDSTART
7.已知从数据段BUF单元开始存放一个三字节的带符号数,请设计对其求补的程序。
答:
DATASEGMENT
BUFDB97H,87H,9AH
RESDB3DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEABX,BUF
LEASI,RES
MOVCX,3
LOP:
MOVAL,[BX]
XORAL,0FFH
MOV[SI],AL
LOOPLOP
CLC
LEASI,RES
MOVCX,3
LOP1:
MOVAL,[SI]
ADCAL,0
MOV[SI],AL
LOOPLOP1
INT3
CODEENDS
ENDSTART
8.已知从数据段BUF单元开始存放字节型的带符号数X和Y,请设计计算Y=6X+8的程序。
答:
DATASEGMENT
BUFDB97H,87H;X=97H和Y=87H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAH,0
MOVAL,BUF
SHLAX,1
MOVBX,AX
SHLAX,1
ADDAX,BX
ADDAX,8
MOVBUF+1,AL
MOVBUF+2,AH
INT3
CODEENDS
ENDSTART
9.已知X、Y是字节型的无符号数,请设计程序计算:
X/4(0≤x<10)
Y=
X-10(10≤X<20)
答:
程序如下:
DATASEGMENT
XDB84H
YDB0
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,X
CMPAL,10
JAENEXT
SHRAL,1
SHRAL,1
JMPEN
NEXT:
SUBAL,10
EN:
MOVY,AL
INT3
CODEENDS
10.已知从数据段BUF单元开始存放15个字节型数据,请设计程序将其中负数和零分别送往MINUS和ZERO开始的存储器单元。
答:
程序如下:
DATASEGMENT
BUFDB15DUP(?
)
MINUSDB15DUP(?
);存放负数
ZERODB15DUP(?
);存放0
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
ORG100H
START:
MOVAX,DATA
MOVDS,AX
LEABX,BUF
MOVCX,15
LEASI,MINUS
LEADI,ZERO
LOP:
MOVAL,[BX]
CMPAL,0
JGEPZ
MOV[SI],AL
INCSI
JMPNEXT
PZ:
JGNEXT
MOV[DI],AL
INCDI
JMPNEXT
NEXT:
INCBX
LOOPLOP
INT3
CODEENDS
ENDSTART
12.编一程序将字符串STR(长度20字节)中所有"&"用"$"代替。
答:
程序如下:
DATASEGMENT
STRDB'G674GH&6TR677&74Y&98'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEABX,STR
MOVCX,20
LOP:
MOVAL,[BX]
CMPAL,'&'
JNZNEXT
MOVAL,'$'
MOV[BX],AL
NEXT:
INCBX
LOOPLOP
INT3
CODEENDS
ENDSTART
13.请设计程序,将存储器单元2200~2210H清0、2250H~2260H置1、22AOH~
22BOH置55H。
要求写出主程序和子程序。
解:
程序如下:
DATASEGMENT
BUF1EQU2200H
BUF2EQU2200H
BUF3EQU2200H
DATAENDS
STACKSEGMENT
DB20DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
BEGPROCFAR
START:
MOVAX,DATA
MOVDS,AX
MOVAX,STACK
MOVSS,AX
LEABX,BUF1
MOVAL,0
CALLFMOV
LEABX,BUF2
MOVAL,1
CALLFMOV
LEABX,BUF3
MOVAL,55H
CALLFMOV
RET
STARTENDP
FMOVPROCNEAR
MOVCX,16
LOP:
MOV[BX],AL
INCBX
LOOPLOP
RET
FMOVENDP
CODEENDS
ENDBEG
14.编写程序,要求:
(1)键盘键入两个字符串STRING1和STRING2
(2)比较两串所含字符是否完全相同,若相同则显示‘MATCH’,若不相同则显示‘NOMATCH’。
解:
程序如下:
DATASEGMENT
STRING1DB10
DB?
DB10DUP(?
)
STRING2DB10
DB?
DB10DUP(?
)
XTDB'MATCH',13,10,'$'
BXTDB'NOMATCH',13,10,'$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEADX,STRING1
MOVAH,10
INT21H
LEADX,STRING2
MOVAH,10
INT21H
MOVAL,STRING1+1
CMPAL,STRING2+1
JNZBD
LEASI,STRING1+2
LEADI,STRING2+2
MOVCH,0
MOVCL,AL
LOP:
MOVAL,[SI]
CMPAL,[DI]
JNZBD
INCSI
INCDI
LOOPLOP
LEADX,XT
JMPDO1
BD:
LEADX,BXT
DO1:
MOVAH,9
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
第六章存储器
1.计算机的内存和外存有什么区别?
答:
内存储器(主存储器)用来存放当前机器运行的程序和数据,它是计算机主机的一部分,一般把具有一定容量且速度较高的存储器作为内存储器,CPU可直接用指令对内存储器进行读写。
在微机中通常用半导体存储器作为内存储器。
外存储器用来存放当前暂时不用的程序和数据。
外存储器是存储容量大、速度较低、位于主机之外的存储器。
CPU不能直接用指令对外存储器进行读写。
要使用外存储器中的信息,必须先将它调入内存储器。
2.计算机的三级存储系统是什么?
解决了什么实际问题?
答:
在现代微机中同时采用这两种存储层次,构成cache—内存—外存三级存储系统。
这三级存储系统的形成,满足了现代微型计算机对存储系统的速度快、容量大且价格低廉的要求。
cache—内存存储系统解决了速度与成本的矛盾。
cache—内存—外存三级存储系统解决了存储器的大容量和低成本之间的矛盾。
3.半导体存储器有哪些优点?
SRAM、DRAM各有何特点?
SRAM的某一单元中
存放一个数据,如05H,CPU将其取走后,该单元的内容是什么?
答:
半导体存储器有易读易写、体积小、集成度高、速度快的优点。
DRAM的特点是必须定时刷新、集成度高、功耗低、价格便宜。
该单元的内容是05H(不变)
4.ROM、PROM、EPROM、E2PROM各有何特点?
各用于何种场合?
答:
①掩膜式ROM
用定作掩膜对存储器进行编程,一旦制造完毕,内容固定不能改变。
适合批量生产,但不适用于科研工作。
②可编程式的ROM(PROM)
PROM允许用户一次性写入,再也不可更改。
因此,不适用于科研。
③可擦除式的ROM(EPROM)
EPROM允许用户多次写入信息,写入操作由专用的写入设备完成。
写入之前应先擦除原来写人的信息。
一种擦除方式为紫外光擦除,用紫外光照射15分钟左右,芯片中的信息被擦除,成为一块“干净”的EPROM,可再次写入信息。
④电擦除式的ROM(E2PROM),即用特定的电信号对其进行擦除,可在线操作,因此很方便。
它的特点是写入时电压要求较高(一般为20V~25V),写入速度较慢而不能像RAM那样作随机存取存储器使用。
5.EPROM存储器芯片还没有写入信息时,各单元的内容是什么?
使用EPROM时
应注意什么?
答:
FFH
对EPROM的擦除和写入都有专用设备,写入之前应确保芯片是“干净”的,即为全1状态。
EPROM写入器(或称编程器)一般可对多种型号的EPROM芯片进行写入。
通过读写芯片的识别码来确认该使用什么样的编程脉冲和编程电压。
写入器由软件和硬件两部分组成,常与计算机配套工作。
6.若用4K×l位的RAM芯片组成16K×8位的存储器,需要多少芯片?
A19~A0地址线中哪些参与片内寻址?
哪些作为芯片组的片选信号?
答:
16K×8/4K×l=4×8=22×8=32片
需要32片
4K=22×210=21212根地址线A11~A0
222根地址线A13A12
7.下列RAM各需要多少条地址线进行寻址?
各需要多少条数据I/O线?
(1)512K×4
(2)1K×8
(3)16K×4(4)64K×l
答:
(1)512K×4512K=29×210=21919根地址线44根数据线
(2)1K×81K=20×210=21010根地址线88根数据线
(3)16K×416K=24×210=21414根地址线44根数据线
(4)64K×l64K=26×210=21616根地址线11根数据线
8.已知某微机控制系统中的RAM容量为4K×8位,首地址为4800H,求其最后一个单元的地址。
答:
最后一个单元的地址-首地址+1=4KB=212=1000H
∴最后一个单元的地址=4800H+1000H-1=57FFH
9.设有一个具有14位地址和8位数据的存储器,问
(1)该存储器能存储多少字节的信息?
(2)如果存储器由8K×4位RAM芯片组成,需要多少片?
(3)需要多少位地址用于芯片选择?
答:
(1)存储器的容量=214×8=16K×8=16KB∴214个字节(16384个)
(2)16K×8/8K×4=2×2=21×2=4片
(3)211根地址线A13
10.若用2114芯片组成2KBRAM,地址范围为3000H~37FFH,问地址线应如何
连接?
(假设CPU只有16条地址线、8条数据线,可用线选法和全译码法。
)
答:
2114芯片1K×4
2KB=2K×8/1K×4=2×8=21×8=16片
需要16片
1K=20×210=21010根地址线A9~A0
线选法:
211根地址线A10
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
00110000000000003000H
001100111111111133FFH
00110100000000003400H
001101111111111137FFH
全译码法:
16-10=6A15~A10
G2BCBA
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
00110000000000003000H
001100111111111133FFH
00110100000000003400H
001101111111111137FFH
11.选用6116存储芯片和74LS138译码芯片,构成其起始地址为C000H的一个2KB的RAM存储子系统(假设CPU只有16条地址线、8条数据线,用全译码法。
)
答:
61162K×8
2KB=2K×8/2K×8=1×1=20×1=1片需要1片
2K=21×210=21111根地址线A10~A0
全译码法:
16-11=5A15~A11
G2AG2BCBA
A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
1100000000000000C000H
1100011111111111C7FFH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术 微机 原理 接口 技术 第四 习题集 解答