《微机原理与接口技术》第四章习题集与解答

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

习题集解答第五章汇编语言程序设计1.从4000H单元开始定义数据段如下,请画出所定义存储器的分配图。BUFSEGMENTDAlDW3456HDA2DB2DUP(7,8)BUFENDS答:存储器的分配图2.对于习题1的定义,请说明下列每条指令执行后的结果。1、MOVAX,SEGDAl2、MOVAX,SEGDA23、MOVBX,OFFSETDAl4、MOVBX,OFFSETDA25、MOVCX,TYPEDAl6、MOVCX,TYPEDA27、MOVDX,LENGTHDAl8、MOVDX,LENGTHDA29、MOVAX,SIZEDAl‘10、MOVAX,SIZEDA2答:1、(AX)=(DS)2、(AX)=(DS)+23、(BX)=4000H4、(BX)=4002H5、(CX)=26、(CX)=17、(DX)=28、(DX)=49、(AX)=210、(AX)=43.已知数据定义如下,请计算变量PL的值是多少?DATADB‘AB’DATAlDB10DUP(?)PLEQU$-DATA答:PL=DATA+12-DATA=124.已知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=435.已知内存DATA单元存放一个字数据,请统计其中含有0的个数,并送人RESULT单元的程序。答:程序如下:DATA1SEGMENTDATADW1234hCOUNTDB0DATA1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA1START:MOVAX,DATA1MOVDS,AXMOVAX,DATAMOVCX,16LOP:TESTAX,8000HJNZNEXTINCRESULTNEXT:ROLAX,1LOOPLOPINT3CODEENDSENDSTART6.已知从数据段TAB单元开始,顺序存放十六进制数0~F的ASCII码,寄存器AL中的高四位二进制数是0、低四位是1。请设计程序:用查表指令(XLAT)将寄存器AL中低四位的十六进制数转换为ASCII码。答:DATASEGMENTTABDB'0123456789ABCDEF'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEABX,TABXLATINT3CODEENDSENDSTART7.已知从数据段BUF单元开始存放一个三字节的带符号数,请设计对其求补的程序。答:DATASEGMENTBUFDB97H,87H,9AHRESDB3DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEABX,BUFLEASI,RESMOVCX,3LOP:MOVAL,[BX]XORAL,0FFHMOV[SI],ALLOOPLOPCLCLEASI,RESMOVCX,3LOP1:MOVAL,[SI]ADCAL,0MOV[SI],ALLOOPLOP1INT3CODEENDSENDSTART8.已知从数据段BUF单元开始存放字节型的带符号数X和Y,请设计计算Y=6X+8的程序。答:DATASEGMENTBUFDB97H,87H;X=97H和Y=87HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAH,0MOVAL,BUFSHLAX,1MOVBX,AXSHLAX,1ADDAX,BXADDAX,8MOVBUF+1,ALMOVBUF+2,AHINT3CODEENDSENDSTART9.已知X、Y是字节型的无符号数,请设计程序计算:X/4(0≤x10)Y=X-10(10≤X20)答:程序如下:DATASEGMENTXDB84HYDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,XCMPAL,10JAENEXTSHRAL,1SHRAL,1JMPENNEXT:SUBAL,10EN:MOVY,ALINT3CODEENDS10.已知从数据段BUF单元开始存放15个字节型数据,请设计程序将其中负数和零分别送往MINUS和ZERO开始的存储器单元。答:程序如下:DATASEGMENTBUFDB15DUP(?)MINUSDB15DUP(?);存放负数ZERODB15DUP(?);存放0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAORG100HSTART:MOVAX,DATAMOVDS,AXLEABX,BUFMOVCX,15LEASI,MINUSLEADI,ZEROLOP:MOVAL,[BX]CMPAL,0JGEPZMOV[SI],ALINCSIJMPNEXTPZ:JGNEXTMOV[DI],ALINCDIJMPNEXTNEXT:INCBXLOOPLOPINT3CODEENDSENDSTART12.编一程序将字符串STR(长度20字节)中所有&用$代替。答:程序如下:DATASEGMENTSTRDB'G674GH&6TR677&74Y&98'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEABX,STRMOVCX,20LOP:MOVAL,[BX]CMPAL,'&'JNZNEXTMOVAL,'$'MOV[BX],ALNEXT:INCBXLOOPLOPINT3CODEENDSENDSTART13.请设计程序,将存储器单元2200~2210H清0、2250H~2260H置1、22AOH~22BOH置55H。要求写出主程序和子程序。解:程序如下:DATASEGMENTBUF1EQU2200HBUF2EQU2200HBUF3EQU2200HDATAENDSSTACKSEGMENTDB20DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKBEGPROCFARSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXLEABX,BUF1MOVAL,0CALLFMOVLEABX,BUF2MOVAL,1CALLFMOVLEABX,BUF3MOVAL,55HCALLFMOVRETSTARTENDPFMOVPROCNEARMOVCX,16LOP:MOV[BX],ALINCBXLOOPLOPRETFMOVENDPCODEENDSENDBEG14.编写程序,要求:(1)键盘键入两个字符串STRING1和STRING2(2)比较两串所含字符是否完全相同,若相同则显示‘MATCH’,若不相同则显示‘NOMATCH’。解:程序如下:DATASEGMENTSTRING1DB10DB?DB10DUP(?)STRING2DB10DB?DB10DUP(?)XTDB'MATCH',13,10,'$'BXTDB'NOMATCH',13,10,'$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,STRING1MOVAH,10INT21HLEADX,STRING2MOVAH,10INT21HMOVAL,STRING1+1CMPAL,STRING2+1JNZBDLEASI,STRING1+2LEADI,STRING2+2MOVCH,0MOVCL,ALLOP:MOVAL,[SI]CMPAL,[DI]JNZBDINCSIINCDILOOPLOPLEADX,XTJMPDO1BD:LEADX,BXTDO1:MOVAH,9INT21HMOVAH,4CHINT21HCODEENDSENDSTART第六章存储器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~A0222根地址线A13A127.下列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=57FFH9.设有一个具有14位

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功