IBM-PC汇编语言程序设计练习题

来源:百度知道 编辑:UC知道 时间:2024/05/14 11:06:38
请大家尽量帮忙,最后不管是否做完我将把分数给回答题数最多的朋友。

一:填空
1. AX又被称为——器。
2. PF=1表示——为偶数。
3. 操作数直接存放在指令中,紧跟在操作码之后,他作为指令的一部分存放在代码段里,这种操作数称为——。
4. 62A0H+9D60H=——H
5. 标号和变量都有三种属性:——。
6. 在另一个模块中定义而要在本模块中使用的符号必须使用——伪操作。
7. 逻辑运算是按——操作。
8. 循环程序通常由——三部分构成。
9. 129=——B
10. 机器数为88H,带符号十进制数——。
11. 将高级语言源程序翻译成机器语言程序的系统程序是——。
12. ——称为基址指针寄存器。
13. 标识运算结果正负的标志是SF。SF=——时结果为正。
14. 8086实模式下一个段的大小可达——B
15. 8086中可用于寄存器间接寻址的四个寄存器是——。
16. 在移位指令中,若移位次数大于1,就可将移位次数置于——中。
17. 宏由——这一对伪指令来定义。
18. 访问堆栈的指令(如PUSH)只能使用——作为段寄存器。
19. 指令CLD用于清除方向标志而指令——使方向标志置1。

二。简答
根据以下要求,分别写出相应的汇编语言指令或指令序列。
1.把AX寄存器和BX寄存器的内容相减,结果存入AX中。
2.将AX的内容逻辑左移5位。
3.将AX的内容,减去0520H和上次运算的借位。
4.将变量名TABLE的段地址送AX。
5.将DI的高四位置为0。
6.输出一个字节到61H号端口。
7.将SI和DI的内容互换。

三:编程。
1.编写完整程序,把键盘读入的一个小写字母转换成相应的大写字母,并输出。
2.编写完整的程序实现:定义一个数据区,它包含有33H,34H,35H和36H四个字符数据,把这个数据区复制20次,并显示出复制的结果。

先做前两个大题吧
一:填空
1. AX又被称为(累加)器。

2. PF=1表示(低八位1的个数)为偶数。

3. 操作数直接存放在指令中,紧跟在操作码之后,他作为指令的一部分存放在代码段里,这种操作数称为(立即数)。

4. 62A0H+9D60H=(10000)H

5. 标号和变量都有三种属性:(1、段属性 2、偏移属性 3、类型属性)。

6. 在另一个模块中定义而要在本模块中使用的符号必须使用(段寻址)伪操作。(这题不肯定)

7. 逻辑运算是按(位)操作。

8. 循环程序通常由(初始化、循环工作与控制、循环结束的处理部分)三部分构成。

9. 129=(100000001)B

10. 机器数为88H,带符号十进制数(-120) 解题过程:88H即10001000B 第一个1表示是负数,而机器中的数都是以补码表示,补码又是原码变反加一,倒推一下,所以对应的正数是01111000,即120,所以~~

11. 将高级语言源程序翻译成机器语言程序的系统程序是(目标程序)。

12. (BP)称为基址指针寄存器。

13. 标识运算结果正负的标志是SF。SF=(1)时结果为正。

14. 8086实模式下一个段的大小可达(64K)B

15. 8086中可用于寄存器间接寻址的四个寄存器是(SP、BP、SI、DI)。

16. 在移位指令中,若移位次数大于1,就可将移位次数置于(CL寄存器)中。

17. 宏由(MACRO、ENDM)这一对伪指令来定义。

18. 访问堆栈的指令(如PUSH)只能使用(SS--堆栈段)作为段寄存器。

19. 指令CLD用于清除方向标志而(STD)指令使方向标志置1。

二。简答
根据以下要求,分别写出相应的汇编语言指令或指令序列。
1.把AX寄存器和BX寄存器的内容