2016-2017学年第1学期 期中考试试题
课程名称 《汇编原理》 任课教师签名 胡宏银
出题教师签名 审题教师签名 考试方式 ( 闭 )卷 适用专业 15软工1-2、15英软1 考试时间 ( 110 )分钟
题号 一 二 三 四 总分 得分 评卷人
一、填空题(每空1分,共15分)
1、1M字节存储器的每一个单元有 位物理地址,由 位段地址和 位偏移地址组成。
2、对于8086来说,各种寻址方式,寻址操作数的范围最多只能是 KB。 3、8086的源程序由若干段组成,整个源程序以语句 作为结束。
4、采用寄存器间接寻址方式,操作数地址的偏移量在 、 、 和 之一中。
5、把AX内容逻辑左移2位的语句是 。6、经过汇编程序处理而产生的目标模块是 文件,它需要链接后才能运行。7、堆栈是向下生长的,即随着入栈内容增加,SP寄存器的值 。 8、一个字存入存储器要占 字节,高位字节存入 地址,低位字节存入 地址。
二、选择题(每题2分,共10分)
1、一个数据区有16个字数据,起始地址为71A0H:DDF6H,该数据区的最后一
个字节单元的物理地址为( )。 A、7F815H B、14FB5H C、7E815H D、7F816H 2、设(SS)=2050H,(SP)=0140H,入栈5个数据后,(SP)=( )。 A、014AH B、0136H C、013BH D、013CH
3、伪指令是在( )执行的。 A、程序运行期间 B、汇编时由汇编程序 C、链接时由链接程序 D、以上都不对
4、变址寄存器SI、DI常用于变址寻址,有时也可用作( )。
A、段寄存器 B、标志寄存器 C、基址寄存器 D、数据寄存器 5、OR指令用于( )。 A、取一个数中的某一位 B、将一个数置0
C、置一个数中某一位为1 D、取一个数中某些位
三、简答题(共20分)
1、写出一段代码实现两个BCD码运算:16H+99H。(5分)
2、交换两个变量(DB类型)X1和X2的值,写一段代码实现这个功能。(5分)3、有如下变量定义: X1 DB 15H, 23H X2 DW 1234H, 78H X3 DB 1,2,3
画出数据在内存单元存放结构图。(10分)
四、编程题(共55分)
1、定义两个字节型(DB)变量X1和X2,一个字型(DW)变量RESULT,它们
都是无符号数,把X1和X2相乘,结果保存到RESULT中。(10分)
2、从键盘输入一个字符,并按如下要求输出。如果输入的字符为0,输出字符串“你输入的是0”;如果输入的字符为1,输出字符串:“你输入的是1”;如果输入的字符是2,输出字符串为:“你输入的字符是2”;如果输入字符是其它值,输出字符串为:“输入异常”。(20分)
3、变量BUF中有10个字节型数值数据(无符号数),把奇数存到BUF1中,其它的保存到BUF2中,然后求出BUF1和BUF2的和,分别保存到Sum1和Sum2中。要求:求一个数组中所有数据的和用子程序实现,主程序与子程序间参数传递使用寄存器,输入参数用SI(数组首地址),输出参数用AX(和)。(25分)