2010微机原理与汇编语言复习题及参考答案(1)1 下载本文

28. 十进制数 -26的原码、 反码、 补码 (采用 8位二进制, 最高位为符号位 分别为 __________、 __________、 __________;已知一个数的补码为 B2H ,其真值为 __________。

29.汇编语句中,语句标号具备的三种属性分别是 __________、 __________、 __________;变量具备的 三种属性分别是 __________、 __________、 __________。

30. 8086CPU 的数据总线为 _________位,地址总线为 _________位,最大的存储空间是 _________。 31. 8086CPU 的标志寄存器共有 9个有效标志位, 其中有 6个状态标志位, 分别是 _________、 __________、 _________、 __________、 _________、 __________。

32.已知 X=-1011011B,则 X 的反码为 _________, X 的补码为 _________。 33. 8086CPU在取指令时,会选取段寄存器 __________的值作为段基值,再加上由 __________提供的偏 移地址形成 20位的物理地址。

(

四、改错题:

1. 下述程序执行后,应将 LIST 数组中的最大值存入 MAX 单元,数组元素为无符号字数据,数据个数 在 CNT 单元中。现已知程序有错,请改正,使之完成预定功能。

1 DSEG SEGMENT

2 LIST DW 1,200,30,400,0,7,4000 3 CNT DB 7 4 MAX DW? 5 DSEG ENDS

6 CSEG SEGMENT

7 ASSUME DS:DSEGDS:CODE 8 FMAX: MOV DX,DSEG 9 MOV DS,AX 10 LEA SI,LIST 11 MOV CX,CNT 12 CLD 13 LODSW 14 DEC CX 15 CMP AL,[SI] 16 JLE SMALL 17 LODS W 18 SMALL: INC SI 19 INC SI 20 DEC CX 21 LOOP AGAIN 22 MOV MAX,SI 23 MOV AL,4CH 24 INT 21H

25 CSEG END 26 END START

2. 下面的程序是将内存单元一字节数据乘以 10放回单元的程序,找出错误并改正。

DATA SEGMENT DA DW 34 DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS :DATA START: MOV AX,DATA MOV DS,AX MOV SI,OFFSET DA MOV AL,[SI] MUL 10 MOV [SI],AX MOV AH,4CH INT 21H CODE ENDS END START

五、简答题:

1. 80386/80486有几种工作模式?各有什么特点?

2. 假定一个名为 MAINPRO 的程序要调用子程序 SUBPRO ,试问: (1 MAINPRO 中的什么指令申明汇编程序 SUBPRO 是在外部定义的? (2 SUBPRO 怎么知道 MAINPRO 要调用它?

3. 现有 (DS=2000H,(BX=O100H,(SI=0002H,(20100H=12H,(2010H=34H,(20102H =56H, (20103H =78H, (21200H=2AH, (21201H=4CH, (21202H=B7H, (21203H =65H,试说明下列指令执行后, AX 寄存器中的内容。

(1 MOV AX,[1200H] (2 MOV AX,[BX] (3 MOV AX,1100H[BX] (4 MOV AX,[BX+SI] (5 MOV AX,[1100H+BX+SI]

4. 汇编语言源程序的语句类型有哪几种?各自的作用和使用规则是什么? 5. 一个汇编源程序应该由哪些逻辑段组成?各段如何定义?各段的作用和使用注意事项是什么?

6. 什么是微型计算机的系统总线?定性说明微处理器三大总线的作用。 六、程序分析题:

1. 试分析下列程序段,如果 AX 和 BX 的内容分别给出如下 5种情况,问程序分别转向何处?

(1 AX = 1478H, BX = 80DCH (2 AX = 0B568H, BX = 54B5H