微机3、4习题答案_第1页
微机3、4习题答案_第2页
微机3、4习题答案_第3页
微机3、4习题答案_第4页
微机3、4习题答案_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题讲解3.1请解释名词:操作码、操作数、立即数、寄存器操作数、存储器操作数。操作码—说明指令操作的性质与所完成的功能操作数—给出参与运算的操作数本身、操作数所在寄存器或操作数在存储器中的地址,运算结果放至何处,或给出下一条执行指令的地址信息立即数—指令操作码的后面字节就是操作数本身,称为立即数寄存器操作数—操作数存放在CPU内部的寄存器中存储器操作数—操作数存放在某个逻辑段的存储单元中13.2什么叫寻址方式?8086指令系统有哪几种寻址方式?寻址方式—说明指令中如何提供操作数或提供操作数存放地址的方法8086指令系统的寻址方式:立即寻址、寄存器寻址、存储器寻址(直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址)、I/O端口寻址23.3指出下列指令中源操作数的寻址方式:(1)MOVSI,200;立即寻址(2)MOVAL,[2000H];直接寻址(3)MOVCX,DATA[SI];寄存器相对寻址(4)ADDAX,[BX+DI];基址变址寻址(5)ANDAX,BX;寄存器寻址(6)MOV[SI],AX;寄存器寻址(7)MOVAX,DATA[BP+SI];相对基址变址寻址(8)PUSHF;隐含寻址(9)MOVAX,ES:[BX];寄存器间接寻址(10)JMPFARPTRPROCS_1;立即寻址33.4设DS=1000H,ES=2000H,BX=2865H,SI=0120H,偏移量D=47A8H,试问下列各指令中源操作数所在位置,若有物理地址请计算出其物理地址值。(1)MOVAL,D;指令中(2)MOVAX,BX;寄存器(3)MOVAL,[BX+D];存储器,1700DH(4)MOVAL,[BX+SI+D];存储器,1712DH(5)MOVBX,[BX+SI+2];存储器,12C87H(6)MOV[BX+5],AX;寄存器(7)INCBYTEPTR[SI+3];存储器,10123H(8)MOVDL,ES:[BX+SI];存储器,22985H(9)MOVAX,2010H;指令中(10)MOVAX,DS:[2010H];存储器,12010H43.5现有DS=2000H,BX=0100H,SI=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列指令执行后,AX寄存器中的内容。(1)MOVAX,1200H;AX=1200H(2)MOVAX,BX;AX=0100H(3)MOVAX,[1200H];AX=4C2AH(4)MOVAX,[BX];AX=3412H(5)MOVAX,1100H[BX];AX=4C2AH(6)MOVAX,[BX+SI];AX=7856H(7)INCAX,[1100H+BX+SI];AX=65B7H53.8已知AX=2040H,DX=380H,端口(PORT)=(80H)=1FH,(PORT+1)=45H,指出下列指令执行后,结果是什么?(1)OUTDX,AL;(PORT)=(80H)=40H(2)OUTDX,AX;(PORT)=(80H)=40H,(PORT+1)=20H(3)INAL,PORT;AL=1FH(4)INAX,80H;AX=451FH63.9假设下列程序执行前SS=8000H,SP=2000H,AX=7A6CH,DX=3158H.执行下列程序段,画出每条指令执行后,寄存器AX,BX,CX,DX的内容和堆栈存储的内容的变化情况,执行完毕后,SP=?(1)PUSHAX;AX=7A6CH,SP=1FFEH,(SP)=7A6CH(2)PUSHDX;DX=3158H,SP=1FFCH,(SP)=3158H(3)POPBX;BX=3158H,SP=1FFEH,(SP)=7A6CH(4)POPCX;CX=7A6CH,SP=2000H73.10编程序段分别完成如下功能:(1)AX寄存器低4位清零

ANDAX,0FFF0H(2)BX寄存器低4位置“1”

ORAX,000FH(3)CX寄存器低4位变反

XORCX,000FH(4)测试DL寄存器位3,位6是否同时为0,若是,将0送DL;否则1送DL。

TESTDL,48H;01001000B JZNEXT MOVDL,1 JMPEXITNEXT:MOVDL,0EXIT:HLT83.13读下面程序段,请问在什么情况下,本段程序的执行结果是AH=0BEGIN: INAL,5FH TESTAL,80H JZ BRCH1 MOVAH,0 JMPSTOPBECH1: MOVAH,0FFHSTOP: HLT答:从端口5FH读入的数据大于等于80H93.14读程序:START:INAL,20H MOVBL,AL INAL,30H MOVCL,AL MOVAX,0ADLOP:ADDAL,BL ADCAH,0 DECCL JNZADLOP HLT请问(1)本程序实现什么功能?(2)结果在哪里?

(3)用乘法指令MULBL编程并使结果不变(1)功能:从端口20H输入的数值加CL遍,CL的值为从端口30H输入(2)AX(3)START:INAL,20H MOVBL,AL INAL,30H MULBL HLT 103.16读程序:NEXT:MOVAL,[SI] MOVES:[DI],AL INC SI INCDI LOOPNEXT

请用串指令完成上述功能的程序段. REPMOVSB113.14读程序:START:INAL,20H MOVBL,AL INAL,30H MOVCL,AL MOVAX,0ADLOP:ADDAL,BL ADCAH,0 DECCL JNZADLOP HLT请问(1)本程序实现什么功能?(2)结果在哪里?

(3)用乘法指令MULBL编程并使结果不变(1)功能:从端口20H输入的数值加CL遍,CL的值为从端口30H输入(2)AX(3)START:INAL,20H MOVBL,AL INAL,30H MULBL HLT 123.16阅读下列程序:NEXT: MOVAL,[SI]MOVES:[DI],ALINCSIINCDILOOPNEXT写出用串指令完成上述功能的程序段。

答:REPMOVSB133.18假设寄存器AX=1234H,DX=0A000H,阅读下列程序段:

MOVBX,0 MOVCX,BX SUBCX,AX SBBBX,DX MOVAX,CX MOVDX,BX上述程序执行后,AX=?,DX=?,程序功能是什么?答:AX=0EDCCH,DX=5FFFH,程序功能是计算表达式0-0A0001234H的值,结果的高16位存到DX,低16位存到AX。143.19比较AX,BX,CX中带符号数的大小,将最大的数放在AX中,请编程。

CMPAX,BX JGE NEXT MOVAX,BXNEXT:CMPAX,CX JGENEXT1 MOVAX,CXNEXT1:HLT153.21编写程序段,在数据区0000H:2000H开始100字节范围内,查找字符’A’,若找到,则将偏移地址送入DX,没有找到,则结束。

MOVAX,0000H MOVES,AX MOVDI,2000H MOVAL,‘A’ MOVCX,100 REPNESCASB JNZEXIT DECDI MOVDX,DIEXIT:HLT163.29已知数据区定义了下列语句,采用图示说明变量在内存单元的分配情况以及数据的预置情况。

DATASEGMENT A1DB20H,52H,2DUP(0,?) A2DB2DUP(2,3DUP(1,2),0,8) A3DB‘GOOD!’ A4DW1020H,3050H A5DDA3 DATAENDS

-DDS:01433:00002052000000000201-02010201020008021433:00100102010201020008-474F4F44212010501433:002030180033141720H52H0000H0001H00H00H0002H0003H00H00H0004H0005H02H01H0006H0007H02H01H0008H0009H02H01H000AH000BH02H000CH00H08H0016H0017H47H4FH0018H0019H4FH44H001AH001BH21H001CH02H01H000FH0010H02H01H0011H0012H02H01H0013H0014H02H0015H00H08H000DH000EH**0024H20H10H001DH001EH50H30H001FH0020H18H00H0021H0022H**0023HA1:A2:A3:A4:A5:183.32执行下列指令后,AX寄存器中的内容是什么?

TABLE DW10,20,30,40,50 ENTRYDW3 MOVBX,OFFSETTABLE ADDBX,ENTRY MOVAX,[BX]AX=1E00H-DDS:00001433:00000A0014001E002800-32000300193.34在数据区中,以TABLE开始连续存放0~6的立方值,设任给一数x(0≤x≤6),x在TAB1单元,查表求x的立方值,并把结果存入TAB2单元。

DATASSEGMENT TABLE DB0,1,8,27,64,125,216 TAB1DB3 TAB2DB? DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AX

LEABX,TABLEMOVAL,TAB1XLATMOVTAB2,AL

MOVAH,4CHINT21HCODESENDSENDSTART203.36编写程序,计算下面函数的值。

2x(x<0) s= 3x(0≤x≤10) 4x(x>10)

DATASSEGMENT X DB-1 SDW?DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAL,XCMPAL,0JGENEXT

MOVBL,2JMPDONENEXT:CMPAL,10JGNEXT0MOVBL,3JMPDONENEXT0:MOVBL,4DONE:IMULBLMOVS,AX MOVAH,4CHINT21HCODESENDSENDSTART213.40设变量K中存放了由100个有符号整数组成的数组,编写程序段找出其中最大的一个,放到AX中。

LEABX,K MOVCX,5 MOVAX,[BX] DECCXAGAIN:INCBX INCBX CMPAX,[BX] JGENEXT MOVAX,[BX]NEXT:LOOPAGAIN

223.43在数据段中有一个字节数组,编程统计其中正数的个数,放入A单元,负数的个数放入B单元。

DATASSEGMENTTABLEDB-1,25,60,100,-48ZHENDB?FUDB?DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXLEABX,TABLEXORDX,DXMOVCX,5AGAIN:MOVAL,[BX] CMPAL,0 JGA1 JEA2 INCDL JMPA2A1: INCDH A2: INCBX LOOPAGAIN MOVZHEN,DH MOVFU,DL MOVAH,4CH INT21HCODESENDSENDSTART233.45编写完整程序,判断一个按键是不是回车键。若是,输出“YES!”,否则输出“NO!”。

DATASSEGMENT STR1 DB'YES!$' STR2DB'NO!$'DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAH,1INT21HLEADX,STR1CMPAL,0DHJZNEXTLEADX,STR2NEXT:MOVAH,9 INT21H MOVAH,4CHINT21HCODESENDSENDSTART24第四章习题4.1分析半导体随机存储器和只读存储器的特点和分类。静态存储器和动态存储器的最大区别是什么?它们各有什么优缺点?RAM:可以随机读写,掉电后内容消失ROM:工作时只能读出,不能写入;掉电后存储内容不丢失。静态存储器和动态存储器的最大区别是基本存储元的构成不同。静态存储器的特点:存储时间短,外部电路简单,便于使用;动态存储器的特点:存储速度较静态存储器慢,但集成度高,容量大。254.5用下列芯片构成存储系统,各需要多少个RAM芯片?需要多少位地址作为片外地址译码?设系统为20位地址线,采用全译码方式.(1)512*4位RAM构成16KB的存储系统(2)1024*1位RAM构成128KB的存储系统(3)2K*4位RAM构成64KB的存储系统(4)64K*1位RAM构成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论