《汇编语言》试题答案(试题库04)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《汇编语言程序设计》考试试卷答案
1.a补码=29H, b补码=0BA H, 〔a+b〕补=E3 H ;则〔a-b〕补=6F H;
2.BHE和A0;8088为准16位CP U,外部数据总线只有8位;
3.分状态标志和控制标志两大类,主要区别:状态标志的值取决于一个操作完成后算术逻辑部件ALU所处的状态,控制标志的值是通过指令人为设置的,以控制程序的执行。

4.CS和IP;
5.BX= 9B8D H, BP= 0200 H 。

6.16H或22;80H,70H,60H,50H;
7.奇/偶校验错误、溢出错误、帧错误功能;
8.读写信号(RD或WR), 存储器/输入输出(M/IO)
9.状态信息,数据总线
10.中断类型码12H或18, 中断服务入口地址5030:3800H
11.CX=0或(ZF)=1
二、① 6202H ② 6232H ③ 0632H ④ 3632H
三、对(xxx)求补码数的绝对值
1. 写出代码段中语句的注释
①保存前缀段地址
②压入偏移量
③数据段赋值
④取待测数据
⑤设置标志
⑥若为正,则结束
⑦为负数.求补
⑧求补后的结果送回原单元
2. 程序的功能
①当(xxx)>0时,(xxx)不变
②当(xxx)<0时,对其求补。

四、 1. D 2. E 3. L 4. C 5. F 6. B
7. A 8. K 9. J 10.I 11. G 12. H
五、1. 总线接口部件Eu与执行部件BIU的协调工作过程如下:
(1) 每当指令队列中有两个空字节(8088是一个空字节)时,BLU就会自动把下一
指令取到指令队列中。

(2 ) Eu总是从指令队列的前部取指令,并且执行。

与此同时,BLU按步骤(1)工
作;在Eu执行指令中,如果需要访问存储器或I/O部件,而且BLU也允许,
则会转入总线周期。

(3)如果指令队列已满,而且BLU又没有总线访问的请求,则BIU进入空闲状态。

(4)注指令队列中装入指令时,是按照指令在存储器中的排列顺序进行的,但执
行转移、调用和返回指令时,下一条要执行的指令就不是存储器中紧接着的那条
指令了。

遇到这种情况,BIU先把指令队列中原内容清零,再从要执行的那条指
令开始装入。

2.数据段、代码段、堆栈段、附加段
3.编语言结束返回操作系统的方法一般有如下两种;
(1)使用RET指令返回(标准方法)
将用户主程序定义为一个FAR过程,开始时压入程序段(PSP)前缀INT 20H 的人口地址(段基址和偏移地址),在主程序最后使用RET指令弹出该地址以便
执行INT20H指令返回DOS。

(1分)
具体做法如下:
PUSH DS
MOV AX,0
PUSH AX
RET (1分)
(2) 利用DOS 2lH调用返回(非标准方法)
MOV AH,4CH
INT 21H (2分)
六、
1. 编程:(可以采用移位判断CF位方法,或测试位方等)
CODE SEGMENT
ASSUME CS:CODE
START: MOV AX, 0B37D H
MOV DL, 0
RETEST: TEST AX, 0FFFFH
JZ EXIT
JNS SKIP
INC DL
SKIP: SHL AX,1
JMP RETEST
EXIT: MOV AH, 4CH
INT 21H
CODE ENDS
END START
2.编程:建立数据表连续存放0~9的立方,X的立方查表求得。

参考程序如下:
DA TA SEGMENT
MESS DB ‘INPUT X(0~9): $’
TAB DW 0,1,8,64,125,216,343,512,729
X DB ?
XXX DW ?
DA TA ENDS
CODE SEGMENT
ASSUME CD:CODE,DS:DA TA
MAIN: MOV AX,DA TA
MOV DS,AX
MOV DX,OFFSET MESS
MOV AH,9
INT 21H
MOV AH,1
INT 21H
AND AL,0FH
MOV X,AL
ADD AL,AL
MOV BL,AL
MOV BH,0
MOV AX,TAB[BX]
MOV XXX,AX
MOV AH,4CH
CODE ENDS
END MAIN
3.解决本问题的关键是如何判断一个数是奇数还是偶数。

参考程序如下:
DA TA SEGMENT
A D
B ?
B DB ?
DA TA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DA TA
BEGIN: MOV AX,DA TA
MOV DS,AX
MOV AL,A
MOV BL,B
XOR AL,BL
TEST AL,01H
JZ LSAME
TEST BL,01H
JZ DONE
XCHG BL,A
MOV B,BL
JMP DONE LSAME: TEST BL,01H
JZ DONE
INC A
INC B DONE: MOV AH,4CH
INT 21H CODE ENDS
END BEGIN。

相关文档
最新文档