微机原理复习题 联系客服

发布时间 : 星期三 文章微机原理复习题更新完毕开始阅读6fc8ae7c5901020207409c6f

C:两者都是取操作数 D:两者都是决定程序的转移地址

13:在PC系列机中调试汇编语言程序的工具是DEBUG。用DEBUG调试程序时,可以在目标程序中设断点,或用单步跟踪来找出程序中的毛病。断点只能在RAM中设置,不能在ROM中设置,这是因为( ) A:ROM不能存放汇编程序 B:ROM中数据不能修改 C:ROM不能放入断点中断指令 D:ROM不能保护断点

14:DEBUG调试工具是汇编语言最有力的调试手段,当用D命令时显示的结果如下:

0000:0080 72 10 A7 00 7C 10 A7 00—4F 03 62 06 8A 03 62 06 0000:0090 17 03 62 06 86 10 A7 00—90 10 A7 00 9A 10 A7 00 INT 21H是最常用的DOS中断,试确定INT 21H的中断向量为

A:1072H:00A7H B:7C10H:A700H C:00A7H:107CH D;107CH:00A7H

15:设AL和BL是带符号数,当AL≤BL时转至NEXT处,在CMP AL,BL指令后应选择正确的条件指令是

A:JBE B:JNG C:JNA D:JNLE 16:计算机系统中,仅由硬件设计人员使用的指令是( )

A:机器指令 B: 宏指令 C:微指令 D:特权指令 17:指令系统中不同的寻址方式的主要目的是( )

A:增加内存的容量 B:缩短指令长度,扩大寻址范围 C:提高访问内存的速度 D:简化指令译码电路 18:指令操作所需的数据不会来自( )

A:寄存器 B:指令本身 C:主存中 D:控制寄存器

二:填空题

1:若累加器AX中的内容为4142H,执行指令CMP AX,4041H后,(AX)= 。执行SUB AX,4041H后,(AX)= 。

2:用CBW指令生成双倍长度的被除数存放在 。用CWD指令生成双倍长度的被除数存放在 。

3:执行XLAT指令前,要将表的首地址放在 中。表内的偏移地址放在 。 4:写出下列指令中内存操作数的地址。 (1)INC BYTE PTR[SI+3];的有效地址 ,物理地址 。 (2)MOV BX,ES:[SI+BX+3];的有效地址 ,物理地址 。

5:设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问: (1)执行指令PUSH AX后SP= 。 (2)再执行指令PUSH BX及POP AX后SP= ,AX= 。 (3)再执行指令POP BX后SP= ,BX= 。 6:假设(DS)=B000H,(BX)=080AH,(0B080AH)=05AEH,(0B080CH)=4000H执行指令“LES DI,[BX]”后(DI)= (ES)= 。

三:问答题

1:指出下列指令的原因,并更正。

(1)MOV [BX],[SI] (2)POP CS (3)MOV DS 2000H (4)MOV BL,F5H 2:要完成把[2000H]的一个字送[1000H]中,用指令MOV [1000H],[2000H]是否正确?如果不正确,应用什么方法?

3:当执行CMP AL,BL后,ZF=0,CF=0,SF=1,OF=0,试问:

5

(1)若AL,BL中的内容是两个无符号数,比较结果如何?(2)若AL,BL中的内容是两个带符号数,比较结果如何?

4:若8086执行SUB AH,AL后的结果是(AH)=85H,OF=1,试问:

(1)执行前AH和AL内的数哪个大? (2)AH中原存的是正数还是负数?理由是什么? (3)结果(AH)=85H是否正确?理由是什么? 5;试问下面的程序段完成什么功能?

MOV CL,04 SHL AX,CL SHL DX,CL SHR BL,CL MOV BL,AH OR DL,BL

6;试问下面的程序段完成什么功能?

MOV DX,8001H DEC DX

IN AL,DX IN AL,DX MOV AH,AL MOV DX,AX

四:指令应用题

1:求出下列十六进制数与62A0H之和,并根据结果设置SF、ZF、CF和OF的值 (1)1234H (2) 4321H (3) 0CFA0H (4) 0EAO4H

2:若偏移量为2000H~2003H有一个4字节的数,现要把该数左移一位,写出完成该操作的程序段(不超过5条指令).

4:编写程序将ELEMS中的100个字节的位置颠倒过来(即第一个字节和第100个字节的内容交换,第二个字节和第99个字节的内容交换??).

5;试编制一程序段完成下列函数的功能

f(x)=+1 x≥1

f(x)=0 1>x>-1 f(x)=-1 x≤-1

第四章 综合汇编程序

填空题

1:汇编语言语句格式中的名字项,下列那一个不正确( ) A:B:C:D: A:FFFFH B:Variable C:0FFFFH D:Third-stree 2:汇编语言语句中的名字项可以是标号或变量,其中( )不是标号或变量属性。 A:段属性 B:偏移属性 C;类型属性 D:地址属性 3:下列语句中错误的有( ) A:MOV BL,OA7H B:MOV CX,COUNT C:MOV [BX],5 D:IN AL,PORT-VAL 4:( )不是变量属性

A:字符型 B:字型 C:字节型 D:双字型 5:表达式19 MOD 7的结果为( )

A:2 B:5 C:—2 D:—5 6:执行伪指令语句STR DD ‘AB‘后,下列说法正确的是( )

A:存入41H,42H B:存入42H,41H C:存入41H,42H,00H,00H D:存入42H,41H,00H,00H

7:下列语句中正确的有( ) A: ERR1:DW 99 B:WXP DB 2*3+7 C:ERR2 DB 25*60 D:ERR3 DD ‘ABCD‘

6

8:用ASSUME伪指令指定某个段分配给哪个寄存器后,还需通过MOV指令来给寄存器赋值,其中( )不能这样做,而且在程序初始化是自动完成的。

A:数据段寄存器 B:堆栈段寄存器 C:代码段寄存器 D:附加段寄存器 9:汇编语言在上机过程中用不到的程序为( )

A:编辑程序 B:汇编程序 C:连接程序 D:编译程序 10:程序设计的结构的首要问题是( )

A:程序的模块化 B:程序设计时采用“自上而下,逐步求精“的实施方法 C:模块之间的组合问题 D:各个结构的出口点和入口点 11:一般用条件转移指令JZ、JNZ、JC、JNC等来实现程序的( )结构。

A:顺序 B:循环 C:分支 D:模块化 12:下列哪一种不是分支程序设计的形式( )

A:开关法 B:转移表法 C:地址表法 D:逻辑分解法 13:( )是循环程序设计的一个核心问题

A:循环的控制 B:循环结构的选择 C:循环体的设计 D:循环参数置初值 14:循环体不包括下列哪项( )

A:重复控制的程序段 B:循环参数的修改 C:循环控制参数的修改 D:循环参数置初值 15:子程序结构中不包括( )

A:子程序的说明文件 B:子程序的现场保护和现场恢复 C:子程序的调用和返回 D:入口参数的设置 16:( )不是子程序的参数传递方法

A:立即数传递 B:寄存器传递 C:堆栈传递 D:存储器传递 17:不是系统功能调用的功能( )

A:文件管理 B:设备管理 C:作业管理 D:总线管理 18:DOS系统功能调用中,将子程序编号送入( )寄存器

A:AH B:AL C:BH D:BL 二:填空题

1;流程图是 的图形描述。

2:程序结构化的首要问题是 它通过 的手段来实现。

3:程序由一些基本结构组成,这些基本结构包括 , , 。 4:循环结构有两种形式: 和 。

5:一个循环结构的程序主要由三部分组成: , , 。 6:可以多次反复调用的,能完成指定操作功能的特殊程序段称为 。

简述题

1:已知(DS)=3000H,(CS)=4000H,(SI)=2000H,在执行下面两条指令后,12H所在单元的物理地址是 ,34H所在单元的物理地址是 。

MOV BX,1234H MOV [BX+SI],BX

2:已知

N1 EQU 20H N2 EQU 10H

C1 DB 20 DUP(?) C2 DW 1234H,5678H

7

执行下列三条指令后,各寄存器的值是多少? MOV AL, N2 LT N1 MOV BL, TYPE C1 MOV CL, SIZE C2

3:下面程序段中,每条指令结束后,目的操作数中寄存器的值是多少?程序完成什么功能?

MOV AL,02H ;(AL)= SHL AL,1 ;(AL)= MOV BL,AL ;(BL)= MOV CL,2 ;(CL)= SHL AL,CL ;(AL)= ADD AL,BL ;(AL)=

程序的功能 。 4:设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问:

(1)执行指令PUSH AX后SP= 。

(2)再执行指令PUSH BX及POP AX后SP= ,AX= 。

(3)再执行指令POP BX后SP= ,BX= 。 5:指令语句XOR AX ,OPD1 XOR OPD2中,OPD1和OPD2是两个已经赋值的变量,问两个AND操作分别在什么时间进行?有什么区别?

40: 求出以下表格中各带符号的十六进制数之和或者差,并根据结果设置标志位SF、ZF、CF和OF的值。 CF ZF SF OF 0ABCDH+6660H= 6660H-9060H= 6: : :

START:MOV AX,X MOV BX,Y CMP AX,BX JG LOP

XCHG AX,BX LOP: MOV BIG,AX

: :

(1) 此程序段完成什么功能? (2) 画出此程序的流程图?

7:设DS=1000H,AX=1234H,试问当8086CPU执行指令MOV [2100H],AX后,试回答下面问题:

(1) 目的操作数的物理地址是多少?

(2) 目的操作数的高8位偏移地址是多少?

(3) AL寄存器中的内容送到那一个物理地址单元中?

8