一、判断题

判断下述指令的正误。正确的打“√”,错误的打“×”。

1.MOV ES, 20H   (  X )

2.SHL BX, 4   (  X )

3.PUSH 1122H   (  X )

4.DIV 1000   (  X )

5.CMP AX, [SI][DI]   ( X  )

6.SHR BX,CL   (   )

7.MOV DX,100H   (   )

8.MOVSW   (   )

9.ADD AX,BYTE PTR [SI]   ( X  )

10.RCL AL,1   (   )

11.MOV 300, ES:[BX+SI+100]   ( X  )

12.POP IP   (  X )

13.SUB AX,BL   (  X )

14.MOV IP,BX   (  X )

15.ADD [SI],[BP]   (  X )

16.MOV AX,A[BX]  ;A是一个已定义的数组名   (   )有误

17.MOV AX,[BX+100]   (   )

18.MUL BX  (   )

19.REPE SCASW   (   )

20.LOOP LP1   ;LP1是一个已定义的标号   (   )

 
二、填空题
1.XOR AX,BX,若运算结果(  非零  ),那么AX、BX内容必定不同。
2.某指令存放地址是3000:0056H,则物理地址是(     30056H     )。
3.-17H的8位原码是( 10010001               )、反码是( 11101110          )、补码是( 11101111             )(用二进制形式填空)。
4.PC机中,有符号数都是用( 补  )码存储的。
5.指出下面指令源操作数的寻址方式
MOV AX,100    (  立即寻址             )
MOV AX,[SI]    (    寄存器寻址)
MOV AX,[SI+100]    (  寄存器相对寻址)
MOV AX,[BX+SI]    (     基址+复址寻址)
MOV AX,[BX+SI+100]    (   基址+复址相对寻址)
6.已知DS=1000H,SI=0200H,BX=0100H,[10100H]=11H,[10101H]=22H
[10600H]=33H,[10601H]=44H,[10300H]=55H,[10301H]=66H
[10302H]=77H,[10303H]=88H,下面每条指令执行后,AX=?
MOV AX,1000H  (  1000H             )
MOV AX,[BX+500H]  ( 4433H             )
MOV AX,[300H]  (     6655H          )
MOV AX,[BX]  (   2211H            )
MOV AX,[BX][SI]  (     6655H          )
MOV AX,[BX+SI+2]  (  8877H             )
7.有一数据段定义如下:
DATA SEGMENT
X DB  15 DUP(?)
L EQU $-X
DATA ENDS
符号名L的含义是(数组x的元素个数 ///数组x数    ),它的值是(   15     ),EQU可以写成“=”吗?(   可以       )。


三、分析题

1.PUSH BX
PUSH DX
POP BX
POP DX
这段程序的功能是什么?
 

交换BX与DX的内容

2.MOV AX,-100
SAR AX,1
这段程序执行后AX的值是多少?
 

AX=-50

3.CMP AL,0
JGE K
NEG AL
K:  ……….
这段程序的功能是什么?
 

求AL的绝对值,送到AL

4.MOV AX,100
PUSH AX
POP BX
这段程序执行后BX的值是什么?
 

BX=100

四、编程序段

1.把AX中的有符号数乘以8(假定积不溢出)。
 

MOV CL,3

SAL DX,CL

或者

MOV BX,8

IMUT BX(不建议)

2.已知第一个32位数存放在CX,AX中,其中CX中是高16位,AX是低16位,第二个32位数存放在DX,BX中,DX是高16位,BX是低16位,编写程序段求这两个32位数的和,存放在CX,AX中,其中CX中是高16位,AX是低16位。
 

ADD AX,BX

ADC CX,DX

3.统计AX中二进制位为0的个数,结果存入BX。
 

MOV BX,0

MOV CX,16

K:LOOP LP

         LP:

            SHE AX 1

JC K

INC BX

五、编程题

1.求一个字型数组X元素之和存入SUM单元(不考虑溢出)。

DATAS SEGMENT

X DW 3,8,6,4,5

N=($-X)/2

SUM DW ?

DATAS ENDS

2.X是一个字符串,编制一个完整程序,查找其中是否存在字符“A”,若存在,显示“YES”,否则显示“NO”。

6.SHR BX,CL   (   )

7.MOV DX,100H   (   )

8.MOVSW   (   )

10.RCL AL,1   (   )

16.MOV AX,A[BX]  ;A是一个已定义的数组名   (   )有误

17.MOV AX,[BX+100]   (   )

18.MUL BX  (   )

19.REPE SCASW   (   )

类似文章