1、南昌大学 20092010 学年第一学期期末考试试卷 试卷编号: 12209 ( )卷课程编号: H61030005 课程名称: 汇编语言程序设计 考试形式: 闭卷 适用班级: 电气信息 III08 级 姓名: 学号: 班级:学院: 信息工程 专业: 考试日期: 题号 一 二 三 四 五 六 七 八 九 十 总分题分 30 20 8 12 10 20 100累分人 签名得分考生注意事项:1、本试卷共 6 页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。一、 选择题(每小题 2 分,共 30 分) 得分 评阅人1、代码段寄存器是
2、( )AIP BSP CBP DCS2、设一个存储单元的逻辑地址为 1000H:1234H,则物理地址为( )A02234H B12340H C11234H D21234H3、80888086 存储器分段,每个段不超过( ) A64K 个字 B32K 个字节 Cl 兆个字节 D64K 个字节4、要输入端口 1234H 中的 8 位数据,其指令应是( )A MOV DX,l234H B MOV DX,1234H OUT DX,AL IN AL,DXC IN AX,1234H D OUT DX,1234H5、若 AX15 要得到 AX15 应执行的指令是( )ANEG AX BNOT AX CIN
3、C AX DDEC AX6、80868088 系统执行传送指令 MOV 时( )A不影响标志位 B影响 DF 方向标志 C影响 SF 符号标志 D影响 CF 进位标志7、MOV AL 79,ADD AL 0B1H,上面指令执行后,设置的标志位 CF 和 OF 的值是( )ACF0,OF1 BCF1,OF1 CCF0,OF0 DCF1,OF08、下列指令中操作数在代码段中的是( )AMOV AL,42H BADD AL,BL CSUBBX ,Dl D,INCDI9、用 REPESCASB 指令对字符串进行扫描,如 CX0 时,扫描结束,那么表示( ) A在字符串中遇上第 AL 中指定的字符 B在
4、字符串中有一个 AL 中指定的字符 C在字符串中有一个不是 AL 中指定的字符 D在字符串中遇上第 AL 中指定的字符 10、下列指令执行后对源和目的操作数均无影响的是( ) AMOV BX2 ,AX BSUB AX,2467H CSBB SI ,BX DCMP AX,BX 11、表示过程定义结束的伪指令是( )AENDP BENDS CEND DENDM 12、假设存储器中从 7462H 单元开始的四个相邻字节单元中的内容依次是32H,46H,52H,0FEH,则存放字数据 OFE52H 的字地址是( )A7462 H B7463H C7464H D7465H13、下面 XCHG 指令语句中
5、语法正确的是( )AXCHG AX,DS BXCHG BL, BX CXCHG AL,0FH DXCHGSI , DI14、设 BXl234H,DS2000H, (2l234H)5678H,则指令 LEA SI, BX执行后的结果是( )ASI5678H BSIl234H CSI2000H DSI3234H15、使用 DOS 功能调用时,子程序编号应放在( )寄存器中。 AAH BAL CAX D任意指定二、 填空题(每空 2 分,共 20 分) 得分 评阅人1、在除法指令 IDIV BX 中,被除数隐含为_。2、8086/8088 存储器结构要求存储空间分段使用。因此,要分别定义_,_,堆栈
6、段和附加段。3、DOS 系统功能调用中 02 调用的功能是_。4、指令 MOV AX,SEG BUF 的执行,是把_ 送到 AX 中。5、每次进行串扫描指令 SCAS 时,要进行递增或递减修改的变址寄存器是_。6、宏定义开始用的伪指令是_。 7、DF 是程序状态字寄存器中的_标志位。8、调用子程序的指令是_,子程序返回指令是_。三、 简答题(每小题 4 分,共 8 分) 得分 评阅人1、下面指令有错误吗?什么错误? (1)MOV 34H,BL (2)XCHG DS,AX答:(1)(2)2、设执行前 SI1000H,DS2000H,存储单元(21000H)1245H,下面二条指令分别执行后 BX
7、 中的值各是多少? (l)MOV BX, SI (2)LEA BX, SI答:(1)(2)四、 程序分析题(每题 4 分,共 12 分) 得分 评阅人1、 MOV AX,10 SHL AX,1 SHL AX,1 MOV BX,AX MOV CL,2 SHL AX,CL ADD AX,BX 上述程序段执行后,BX_,AX_2、 MOV AL,01 H ROR AL,l OR AL,AL NEG AL 上述程序段执行后,AL_,CF_。3、 MOV BL,0MOV CX,16AGAIN: ROL AX,1ADC BL,0ROL DX,1ADC BL,0LOOP AGAIN已知 DX:AX 中存放
8、32 位数,分析该程序段将完成什么功能?答:五、 程序填空题(每空 2 分,共 10 分) 得分 评阅人1、下列程序段将 AX 中值乘以 9,请将程序填写完整(1) _MOV CL,3(2) _ ADD AX,BX2、下面程序用来查找字符串 STRING 中是否有字母“A” ,有则 AL=0;否则AL=1,请将程序填写完整(每空仅填一条指令)MOV CX,20 ;假设字符串长度为 20MOV SI,0(1) _NEXT: CMP AL,STRINGSIJE YESA(2) _LOOP NEXTNOA: MOV AL,1(3) _YESA: MOV AL,0DONE: 六、 编制程序题(共 20 分) 得分 评阅人1、写出实现下列 16 位有符号数计算的指令序列。 (8 分)Z(W*Y)/(X+6)2、已知三个带符号的字节数据 a,b,c 存放在 ADR 开始的连续单元中,若a,b,c 同时为正数则 FLAG 单元置 0,若同时为负数,则 FLAG 单元置 1,否则FLAG 单元置全 1,请编写完整源程序。 (12 分)