微机原理与接口技术第二版教学课件ppt作者郑博仁邹纯递习题答案第5章
第5章习题答案问答题1. 断点中断是指怎样一种中断?在程序调试中有什么作用? 断点中断指令有什么特点?设置断点过程对应了一种什么操作?这种操作会产生什么运行结果?答: 断点中断即中断类型3,一般该中断
5 习题答案 第章 一、 问答题 1. 断点中断是指怎样一种中断?在程序调试中有什么作用?断点中断指令有什么特点?设 置断点过程对应了一种什么操作?这种操作会产生什么运行结果? :3 答断点中断即中断类型,一般该中断处理程序进行程序调试,主要功能是显示一些 寄存器的值,并给出一些重要的信息。在程序调试中,断点中断就是从一个较长的程序中分 离出一个较短的存在问题的程序段。断点中断的特点是指令占一个字节。设置断点过程对应 int3 替换那条指令,在中断处理程序中再恢复该被替换的指令,并修改堆栈中的断点地址 为中断处的地址而不是下一条指令地址。这种操作使断点中断不会影响程序的功能。 2.BCD,BCD 用普通运算指令执行码运算时,为什么要进行十进制调整?具体讲在进行码 的加、减、乘、除运算时,程序段的什么位置必须加上十进制调整指令? :BCD0?/FONT>910 答在码中,只允许这个数字出现,但有时候的运算结果会超过 此范围,因此要进行十进制调整。进行加、件或乘法运算时,调整指令必须紧跟在算术指令 后面,在进行除法运算时,调整指令放在除法指令之前。 3.CFCF, 普通移位指令(带的和不带的两类)在执行操作时有什么差别?在编制乘法程序 BX 时,为什么常用移位指令来代替乘除法指令?试编写一个程序段,实现将中的数除以 10BX ,结果仍放在中。 :CFCF 答带和不带的普通移位指令的差异:前者用于算术运算,后者用于逻辑运算。 MOVCL0AH 程序段:, 1. MOVAXBX , 2. IDIVCL 3. MOVBXAX , 二、 程序改错及编程 1.ASCII100 下面的程序段将码的空格字符填满个字节的字符表。阅读这一程序,画出流程, CLDREPSTOSBREPSTOSB 并说明使用指令和指令的作用,再指出指令执行时和那几 个寄存器的设置有关? MOVCX,SEGTABLE;TABLE 为字节表表头 MOVES,CX MOVDI,OFFSETTABLE;DI 指向字节表 MOVAL,'' MOVCX,64H; 字节数 CALLFILLM; 调用数子程序 ... ... FILLM:JCXZEXIT;CX0 为则退出 PUSHDI; 保存寄存器 PUSHCX CLD REPSTOSB; 方向标志清零 POPCX; 重复填数 POPDI EXIT:RET :CLD0REPSTOSBCXAL 答指令作用:方向标志清;指令作用:重复次将中的

