版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章8086/8088指令系统PAGE64第五章习题与综合练习参考答案1.80806/8088通用寄存器的通用表现在何处?8个通用寄存器各自有何专门的用途?那些寄存器可作为存储器寻址的指针寄存器?答:80806/8088通用寄存器的通用表现在通用寄存器可以与寄存器、立即数、存储器完成不同的操作。AX:字乘、字除、字I/O、字节扩展BX:转换,基址寄存器CX:数据串操作、循环DX:字乘、字除、间接I/O、字扩展SI:数据串操作(源)DI:数据串操作(目的)SP:堆栈栈顶指针BP:与SS完成对栈内数据的读取BX、BP、SI、DI可以作为存储器寻址的指针寄存器。2.说明下列术语:(1)操作数:指令的处理对象。操作码:指出指令的功能或将要完成的任务。立即数:作为指令代码的一部分出现在指令中,通常作为源操作数使用。寄存器操作数:把操作数存放在寄存器中,即用寄存器存放源操作数或目的操作数。存储器操作数:把操作数放在存储器中。(2)段地址:是针对内存的分段而言的,将每一段的段首地址定义为段地址。偏移量:相对于段起始地址的距离。有效地址:相对段首地址的偏移量。物理地址:即实际地址。如存储器操作数所在的存储器地址,指令代码所在的代码段地址,堆栈操作数所在的堆栈地址。(3)立即数寻址:操作数是一个立即数,直接包含在指令中,可为8位或16位,放在指令操作码后。直接寻址:操作数的地址直接包含在指令中,放在操作码后。变址寻址:操作数在存储器,用SI、DI变址寄存器寻址。基址变址寻址:所寻址的操作数存储器有效地址为基址寄存器内容加上变址寄存器的内容为有效地址。隐含寻址:在8086/8088系统中,有部分指令的操作数没有给出任何说明,但计算机根据操作码即可确定其所要的操作对象,其操作对象是固定的。3.从程序员的角度看,8086/8088有多少可访问的16位寄存器?有多少可以访问的8位寄存器?答:从程序员的角度看,8086/8088有14个可以访问的16位寄存器:包括8个通用寄存器(AX,BX,CX,DX,SI,DI,BP,SP);4个段寄存器(CS,DS,SS,ES);指令指针寄存器和标志寄存器。有8个可以访问的8位寄存器:AH,AL,BH,BL,CH,CL,DH,DL4.何谓寻址方式?8088系统有哪几种寻址方式?答:寻址方式就是在寻找指令中操作数所在地址的方法。8088系统中有立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、相对基址加变址寻址、端口寻址、隐含寻址等寻址方式。5.请说明标志CF和标志OF的差异?答:CF进位标志:当执行一个加法或减法运算时最高位产生进位或借位时,则CF为1,否则为0。在进行多字节数的加减运算时,要使用到该标志位;在比较无符号数的大小时,也用到该标志位;循环指令也会影响它。OF溢出标志:用于反映有符号数加减运算是否引起溢出。6.为什么目标操作数不能采用立即寻址方式?答:立即数可能是一个运算数也可能是一个地址位,主要用于给寄存器或存储器赋初值,即其值不可改变。7.那些存储器寻址方式可能导致有效地址超出64KB的范围?8086/8088如何处理这种情况?答:寄存器相对寻址、基址加变址寻址、相对基址加变址寻址,可能导致有效地址超出64KB的范围,当所得的有效地址超出FFFFH时,则取64KB的模。8.什么情况下段值和偏移量确定的存储单元地址超过1MB?8086/8088如何处理这种情况?答:寄存器相对寻址、基址加变址寻址、相对基址加变址寻址,其段基址左移四位加偏移量可能导致存储单元的地址超出1MB。当所得的偏移量超出FFFFH时,则偏移量取64K的模。9.指出下列指令的寻址方式:(1)MOVCX,100;源操作数:立即数寻址;目的操作数:寄存器寻址(2)MOVAX,25[SI];源操作数:寄存器相对寻址;目的操作数:寄存器寻址(3)MOV[DI+BX],AX;源操作数:寄存器寻址;目的操作数:基址加变址寻址(4)ADDAX,ADDR;源操作数:直接寻址;目的操作数:寄存器寻址(5)MULBL;隐含寻址;源操作数:寄存器寻址;目的操作数:寄存器寻址(6)INCWORDPTR[BX+25];单操作数,寄存器相对寻址(7)SUBAX,[BP+6];源操作数:寄存器相对寻址;目的操作数:寄存器寻址(8)JMPBX;单操作数,寄存器寻址(9)INAL,20H;端口寻址,源为端口地址,目的为寄存器须知(10)STI;隐含寻址,源和目的均为FR寄存器10.指出下列指令中存储器操作数的物理地址的计算表达式:(1)MOVAL,[SI];存储器操作数的物理地址=(DS)×16+(SI)(2)MOVAX,[BP+6];存储器操作数的物理地址=(SS)×16+(BP)+6(3)MOV5[BX+SI],AX;存储器操作数的物理地址=(DS)×16+5+(BX)+(SI)(4)INCBYTEPTR[BX+SI];存储器操作数的物理地址=(DS)×16+(BX)+(SI)(5)ADDAL,ES:[BX];存储器操作数的物理地址=(ES)×16+BX(6)SUBAX,ALFA[SI];存储器操作数的物理地址=(DS)×16+ALFA+(SI)(7)JNCNEXT;存储器操作数的物理地址=(CS)×16+IP(8)MULALFA;存储器操作数的物理地址=(DS)×16+ALFA11.判断下列语句是否有错并说明理由。(1)MOV[SI],’A’;错误,类型不确定(2)MOVAL,BX;错误,前后类型不一致(3)MOVBL,SI+2;错误,前后类型不一致(4)INC[BX];错误,类型不确定(5)MOV256,AL;错误,立即数不可为目的操作数(6)MOVAX,BYTEPTRALFA;错误,前后类型不一致(7)MOVALFA,BAT;错误,不允许两个存储器之间直接进行数据传输(8)MUL-25;错误,乘法的源操作数不能为立即数(9)PUSH20A0H;错误,在8086/8088状态下,堆栈操作不允许为立即数(10)POPCS;错误,CS不能作为堆栈操作的目的操作数12.请执行下段程序,给出AX、BX各寄存器的内容。MOVAX,0A0BHADDAL,25HDECAXXCHGAL,AHSUBAX,0FFHPUSHAXANDAX,00FFHPOPBXMOVCL,3INCBLSALAL,CLMULBL答:AX、BX各寄存器的内容是BX=1801H,AX=0000H.13.已知AX=003AH。请根据AX值用指令实现:BL=03H,BH=0AH,CX=03H+0AH,DX=2×3AH,SI=0A3H,DI=0A03H.程序段如下:MOVBX,AX;BX=003AHMOVDX,AX;DX=003AHSHLDX,1;DX=2×3AHMOVCL,4RORAL,CL;AL=A3HMOVSI,AX;SI=00A3HRORBX,CL;BX=A003H,BL=03HSHRBH,CL;BH=0AHMOVCH,00HMOVCL,BL;CX=0003HADDCL,BH;CX=03H+0AH14.使AL高4位置1,判断低4位是否大于9,如果大于9,则低4位变反。否则将低4位置成9。试编程实现之。参考源程序:CODESEGMENTASSUMECS:CODESTART:MOVAX,DATAMOVDS,AXORAL,0F0H;AL高4位置1CMPAL,0F9H;判断低4位是否大于9JAAB;大于转到AB处MOVAL,0F9H;小于低位置9JMPOVERAB:XORAL,0FH;不大于低位变反,利用XOR指令的功能OVER:MOVAH,4CHINT21HCODEENDSENDSTART15.在A、B地址起各有4个单元的无符号数,试编程实现两个无符号数的和并存于C地址起的单元中。参考源程序:DATASEGMENTADB12H,34H,56H,78HBDB21H,43H,65H,87HCDB5DUP(0)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,0CLC;清CFMOVCX,4A1:MOVAX,A[SI];取A中的数ADCAX,B[SI];加上B中的数及CFMOVC[SI],AX;结果存于C起始单元中INCSILOOPA1ADCC[SI],0MOVAH,4CHINT21HCODEENDSENDSTART16.在A字单元有一个有符号被除数,在B字单元有一个有符号除数。求其商存于C字单元中,余数存D字单元中。试编程实现之。参考源程序:DATASEGMENTADW5600HBDW1234HCDW?DDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,ACWD;把AX符号位扩展到DX中IDIVBMOVC,AX;把商存在C单元中MOVD,DX;余数存在D单元中MOVAH,4CHINT21HCODEENDSENDSTART17.在A址起有一个50字节长的字符串,请查找串中含有最后一个“?”字符字节相对A址的距离(设串中含有多个“?”)。简答:本题要求查找最后一个×号,为编程方便可以从字符串的最后进行查找,第一个被找到的也就是位于最后一个×,用SUBDI,SI即可求出距A的距离。DATASEGMENTADB‘ABC……’NEQU$-ADATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,ALEADI,A+49MOVCX,NNEXT:CMPBYTEPTR[DI],’?’;判断是否为‘?’JZOVER;是结束DECDI;不是,DI减一LOOPNEXTOVER:SUBDI,SIMOVAH,4CHINT21HCODEENDSENDSTART18.说明中断指令INTn、INTO和IRET的功能。在什么情况下使用它们?简答:INTn:将产生一个软件中断,把控制转向一个类型号为n的软中断。本指令可以用来建立一系列处理程序。INTO(溢出中断指令):检测OF标志位,当OF=1时,将立即产生一个中断类型4的中断。当OF=0时,本指令不起作用。用于中断处理程序完成溢出的处理操作。IRET(中断返回指令):用于中断处理程序中,以返回被中断程序的断点处继续执行。19.说明HLT、WAIT、NOP指令功能。在什么情况下可退出该指令的执行。简答:HLT(处理器暂停指令)功能:使处理器处于暂时停机状态。只有RESET、NMI、INTR信号可以使其退出暂停状态。WAIT(处理器等待指令)功能:使处理器用来检测TEST端脚,当TEST有效,则执行下条指令,否则处理机处于等待状态,直到TEST有效。NOP(空操作指令)功能:使CPU不执行任何操作就执行后续指令。20.在转移指令中有进位转移和溢出转移。试说明进位和溢出在概念上的区别。通常在什么情况下产生进位,有在什么情况下产生溢出。答:汇编语言中操作数是有一定范围的,无符号字节存储的范围为0~255,带符号字节存储范围为-128~+127。无符号字存储的范围为0~65535,带符号字节存储范围为-32768~+32767。进位表示相加时最高位有没有向上形成进位,或相减时向上形成借位,如果有则进位标志为1,但结果没错。溢出是指结束超出数据所表示的范围,说明出错了。21.在本章介绍的8086/8088指令中,哪些指令把寄存器SP作为指针使用?在8086/8088指令中,哪些指令把寄存器BP作为指针使用?答:凡是和堆栈操作有关的指令都把寄存器SP作为指针使用。如PUSH,POP,CALL,RET,INTO,INTn等指令把寄存器SP作为指针使用。BP寄存器是作为一种对堆栈操作的一种特殊方式,用BP作为指针可对堆栈内的内容进行操作,而不改变堆栈的栈顶指针位置。22.8086/8088如何寻址1MB的存储器物理地址空间?在划分段时必须满足的两个条件是什么?最多可把1MB空间划分为几个段?最少可把1MB地址空间划分为几个段?答:8086/8088是一个16位的CPU,一次能处理的数据或地址范围为64KB,8086/8088为了实现寻址1MB空间引入了段的概念,用段寄存器左移4位加偏移量的方法来解决寻址1MB地址空间。每段最多可包含64KB长度的连续存储单元,每个段的起始地址又叫基址,它是一个能被16整除的数,即最后4位为0,基址使用软件设置的。最多可把1MB空间划分为64K个段,最少可把1MB地址空间划分为16个段。23.何谓数值表达式?何谓地址表达式?两者的区别是什么?简答:汇编程序允许将各种常数与计算符组合而成为一个可求值的表达式,称作数值表达式。作为操作数使用,其值在汇编过程中有汇编程序计算确定。地址表达式是由变量、标号、常量、寄存器和运算符组成的。可以作为存储器操作数出现在指令中,它们主要是实现对数据区数据的存取,还可以使用一些操作符以明确变量、标号或地址表达式的含义。特别是操作数的类型不一致问题,需要借助操作符加以解决。24.何谓变量?变量有哪些属性?什么时候使用这些属性?何谓标号?标号有哪些属性?什么时候使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (新教材)2026年青岛版八年级上册数学 1.1 定义与命题 课件
- 中风鼻饲护理质量评价标准
- 肠梗阻患者的排便观察与护理
- 2025年办公室家具采购协议
- 《污染地块可持续风险管控与低碳再利用技术指南》(征求意见稿)
- 2025年你的运动目标需要这些数据支撑
- 2025年测试自动化中的异常日志分析
- 2026 年中职开放教育(开放教育理论)试题及答案
- 省直考试真题及答案
- 声音信号压缩方法
- GB 46768-2025有限空间作业安全技术规范
- GJB827B--2020军事设施建设费用定额
- 主动脉瓣置换、升主动脉置换术护理查房
- NT855康明斯发动机大修统计记录文本数据
- 短暂性脑缺血发作诊疗指南诊疗规范
- 五子棋社团活动方案及五子棋社团活动教案
- 义务教育(新课标)初中物理实验目录
- 个人独资企业公司章程(商贸公司)
- GA/T 1073-2013生物样品血液、尿液中乙醇、甲醇、正丙醇、乙醛、丙酮、异丙醇和正丁醇的顶空-气相色谱检验方法
- A建筑公司发展战略研究,mba战略管理论文
- 中国汽车工业协会-软件定义汽车:产业生态创新白皮书v1.0-103正式版
评论
0/150
提交评论