1、计算机原理期终考试试卷时间:90 分钟学号_姓名_计分_一、填空题:(每空 1.5 分,共 60 分)1. 8086 的寄存器共有(1)_个,其中通用寄存器共有 (2) _个,段寄存器(3) _个,另外还有指令指示器 IP 和(4) _寄存器。2. 所有寻址方式中,存储器操作数的寻址方式占了大多数,如(5) _、寄存器相对寻址、(6) _和相对基址变址寻址,另外还有一种常用于串操作指令中的寻址方式称为(7) _ 。3. 堆栈是以(8) _方式工作的一个存储区域。程序中定义的堆栈段就是以这种方式存取数据的存储区域,系统规定使用一个寄存器来指示栈顶的位置,这个寄存器就是(9) _,另外利用寄存器(
2、10) _进行间接寻址时,实际与是对堆栈段内的存储单元进行寻址。4. 加法运算指令 ADD 和 ADC 的区别是:ADC 指令不仅要将两个指定的操作数相加,还要加上现行的标志位(11) _的值。5. 乘法指令 MUL 是用于(12) _数的乘法运算,乘法规定,有一个乘数在相乘之前必须存放在 AL 或(13) _中,当两个 16 位的操作数相乘时,其结果会自动地存放在(14) _这两个寄存器中。6. 符号扩展指令 CWD 是将 (15) _中的数符号扩展到(16) _中,从而使这两个寄存器组成一个 32 位的带符号数。它常用于(17) _指令之前,对被除数进行扩展。7. 使 AX 中的最低位变为
3、零,可使用 AND 指令,完整的指令是(18) _。8. 移位指令的移位次数大于 1 时,必须使用寄存器(19) _进行计数;循环指令 LOOP 的循环次数必须使用寄存器(20) _进行控制;9. 串操作指令的重复前缀有三种(实际有五种,但其中有部分的作用是一样的,所以可以看成三种) ,它们分别是(21) _、(22) _、(23) _。10. 短转移和近转移都是在当前的代码内发生的转移,所有只修改寄存器(24) _的值,而远转移超出了当前代码的范围,所以必须修改两个寄存器的值,它们分别是(25) _。11. CALL 指令也是一种程序转移指令,但它与其它几个指令的不同点在于CALL 指令在发
4、生转移之前,会自动地将寄存器(26)_的现行值(或包括现行的代码段寄存器的值)存入(27) _ ,子程序中的 RET指令会自动取出 CALL 指令所保存的值并送回到相应的寄存器中,以使程序能正确返回原程序。12. 标志寄存器中的标志位共有(28) _个,其中用于控制串操作方向的标志位是(29) _,将其设置为 1 的指令是(30) _,设置为 0 的指令是(31) _。13. (32) _是在汇编程序对源程序汇编期间由汇编程序执行的汇编命令。14. 数据定义伪操作 DB、DW 等,它们用于为数据分配 (33) _,段定义伪操作 SEGMENT 和 ENDS 用于确定逻辑段,段名实际代表了一个逻
5、辑段的(34) _,而变量名或者标号者代表了存储单元在逻辑段内的 (35) _地址。15. 伪操作 OFFSET 用于得到某个变量或标号(36) _,而 SEG 伪指令用于得到某变量或标号的段基址。16. TYPE 伪操作可以取得变量的属性值,而要强制改变一个变量的属性值可以使用伪操作指令(37) _。17. (38) _是指 CPU 中止正在进行的程序而转去执行其它的工作,当其他工作完成后,再返回原来的工作继续完成。18. IN/OUT 指令是两条 8086 专用于与外设进行数据交换的指令。它能够寻址的端口地址范围为(39) _,端口地址在 255 以内,一般用一个 8 位立即数表示,在这一
6、范围之外则专门使用寄存器(40) _中存放的 16位数来表示端口地址。二、判断题:(每题 1 分,共 10 分)1. 中断与程序中的子程序调用是一模一样的,没有区别。 ( )2. 模块化的程序结构有顺序结构、分支结构和循环结构。 ( )3. 主过程属性一般设置为 FAR,其它所有子过程都必须设置为 NEAR。 ( )4. 汇编程序中的变量与标号一样都表示了一个存储单元的符号地址。 ( )5. 寄存器间接寻址使用的寄存器可以是所有寄存器中的任意一个。 ( )6. JXX 条件转移指令都是短转移指令。 ( )7. 对存储器中一组连续存放的数据,我们就可以将其作为串处理 ( )8. 左移两位(设不会
7、溢出)相当于将原操作数乘以 2。 ( )9. 物理地址实际就是由段地址乘 16 之后再与偏移地址相加的结果( )10. 计算机内的负数是使用补码数来表示的。 ( )三、综合题:1. 如 AX 中的数为 8901H,它是一个带符号数,请换算出它表示的实际十进制数值大小。 (换算过程写在下方,结果请写在答题卡上) (3 分)2. 对 AX 中的数清零,可以使用多种方法,请使用下述指令完成:( 6 分)MOV _AND _XOR _3. 下列语句在存储器中各分配多少字节?(6 分)VAR1 DW 10 DUP(5 DUP(?,3,2) _VAR2 DD “ABCDEF”,3 DUP(“44”, 3
8、DUP(?) _VAR3 DW VAR1, VAR2 _4. 下面的指令是否有错误,如有错,请指出错误原因。 (10 分)设 OP1,OP2 是已经用 DB 定义的变量,VAR1,VAR2 是已经用 DW 定义的变量(1) MOV AX, SIDI _(2) CMP OP1, OP2 _(3) MOV AL, VAR1 _(4) JMP VAR2 _(5) MUL AX, VAR1 _5. 设当前寄存器(DX)=1234H,(AX)=5678H ,分析下面的程序段,当它执行完成后,AL,BL,CL,DL 中的值分别是多少?(5 分)MOV CL, 04HSHL DX, CLMOV BL, AHSHL AX, CLSHR BL, CLOR DL, BL答 题 卡学号_班级_姓名_一、 填空题:1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 2526 27 28 29 3031 32 33 34 3536 37 38 39 40二、 判断题:1 2 3 4 56 7 8 9 10三、 综合题:12345 AL= BL= CL= DL=