
试卷编号: 12209 ( )卷
课程编号: H61030005 课程名称: 汇编语言程序设计 考试形式: 闭卷
适用班级: 电气信息III08级 姓名: 学号: 班级:
学院: 信息工程 专业: 考试日期:
| 题号 | 一 | 二 | 三 | 四 | 五 | 六 | 七 | 八 | 九 | 十 | 总分 | 累分人 签名 | 
| 题分 | 30 | 20 | 8 | 12 | 10 | 20 | 100 | |||||
| 得分 | 
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
一、选择题(每小题2分,共30分)
| 得分 | 评阅人 | 
A.IP B.SP C.BP D.CS
2、设一个存储单元的逻辑地址为1000H:1234H,则物理地址为( )
A.02234H B.12340H C.11234H D.21234H
3、8088/8086 存储器分段,每个段不超过( )
A.K个字 B.32K个字节 C.l兆个字节 D.K个字节
4、要输入端口1234H中的8位数据,其指令应是( )
A. MOV DX,l234H B. MOV DX,1234H
OUT DX,AL IN AL,DX
C. IN AX,1234H D. OUT DX,1234H
5、若AX=-15要得到AX=15应执行的指令是( )
A.NEG AX B.NOT AX C.INC AX D.DEC AX
6、8086/8088系统执行传送指令MOV时( )
A.不影响标志位 B.影响 DF方向标志
C.影响 SF符号标志 D.影响 CF进位标志
7、MOV AL 79,
ADD AL 0B1H,
| 上面指令执行后,设置的标志位CF和OF的值是( ) | 
| A.CF=0,OF=1               B.CF=1,OF=1 C.CF=0,OF=0 D.CF=1,OF=0 8、下列指令中操作数在代码段中的是( ) A.MOV AL,42H B.ADD AL,BL C.SUB[BX],Dl D,INC[DI] 9、用REPESCASB指令对字符串进行扫描,如CX≠0时,扫描结束,那么表示( ) A.在字符串中遇上第 AL 中指定的字符 B.在字符串中有一个 AL 中指定的字符 C.在字符串中有一个不是 AL 中指定的字符 D.在字符串中遇上第 AL 中指定的字符 10、下列指令执行后对源和目的操作数均无影响的是( ) A.MOV [BX+2],AX B.SUB AX,2467H C.SBB [SI],BX D.CMP AX,BX 11、表示过程定义结束的伪指令是( ) A.ENDP B.ENDS C.END D.ENDM 12、假设存储器中从7462H单元开始的四个相邻字节单元中的内容依次是32H,46H,52H,0FEH,则存放字数据OFE52H的字地址是( ) A.7462 H B.7463H C.74H D.7465H 13、下面XCHG指令语句中.语法正确的是( ) A.XCHG AX,DS B.XCHG BL,[BX] C.XCHG AL,0FH D.XCHG[SI],[DI] 14、设BX=l234H,DS=2000H,(2l234H)=5678H,则指令LEA SI,[BX]执行后的结果是( ) A.SI=5678H B.SI=l234H C.SI=2000H D.SI=3234H 15、使用 DOS 功能调用时,子程序编号应放在( )寄存器中。 A.AH B.AL C.AX D.任意指定 二、填空题(每空2分,共 20分) 得分 | 评阅人 | |
2、8086/8088存储器结构要求存储空间分段使用。因此,要分别定义__________,__________,堆栈段和附加段。
3、DOS系统功能调用中02调用的功能是_______________。
4、指令MOV AX,SEG BUF 的执行,是把____________________送到 AX中。
| 5、每次进行串扫描指令 SCAS 时,要进行递增或递减修改的变址寄存器是________。 | 
| 6、宏定义开始用的伪指令是__________。 7、DF是程序状态字寄存器中的__________标志位。 8、调用子程序的指令是__________,子程序返回指令是__________。 三、简答题(每小题 4分,共8分) 得分 | 评阅人 | |
(1)MOV 34H,BL
(2)XCHG DS,AX
答:(1)
(2)
2、设执行前 SI=1000H,DS=2000H
,存储单元(21000H)=1245H,下面二条指令分别
执行后 BX中的值各是多少?
(l)MOV BX,[SI]
(2)LEA BX,[SI]
答:(1)
(2)
四、程序分析题(每题 4分,共 12分)
| 得分 | 评阅人 | 
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,0 MOV CX,16 AGAIN: ROL AX,1 ADC BL,0 ROL DX,1 ADC BL,0 LOOP AGAIN 已知DX:AX中存放32位数,分析该程序段将完成什么功能? 答: 五、程序填空题(每空2分,共 10分) 得分 | 评阅人 | |
(1) ___________
MOV CL,3
(2) ___________
ADD AX,BX
2、下面程序用来查找字符串STRING中是否有字母“A”,有则AL=0;否则AL=-1,请将程序填写完整(每空仅填一条指令)
MOV CX,20 ;假设字符串长度为20
MOV SI,0
(1) ___________
NEXT: CMP AL,STRING[SI]
JE YESA
(2) ___________
LOOP NEXT
NOA: MOV AL,-1
(3) ___________
YESA: MOV AL,0
| DONE: …… | ||
| 六、编制程序题(共20分) 得分 | 评阅人 | |
| Z←(W*Y)/(X+6) | |
| 2、已知三个带符号的字节数据a,b,c存放在ADR开始的连续单元中,若a,b,c同时为正数则FLAG单元置0,若同时为负数,则FLAG单元置1,否则FLAG单元置全1,请编写完整源程序。(12分) | 
