汇编指令填空
1、8086CPU在取指令时,会选取段寄存器(CS)的值作为段基址,再加上由(IP)提供的偏移地址形成20位的物理地址。
2、地址2000H:0480H,其物理地址是(20480H),段地址是(2000H),偏移量是(0480H)。
3、执行完程序后,回答指定的问题
MOV AX , 0
MOV BX , 2
MOV CX , 50
LP:
ADD AX , BX
ADD BX , 2
LOOP LP
问:(1)该程序的功能是(完成0到100间所有偶数求和的功能)
(2)程序执行完成后,(AX)=(2550)
4、执行完程序后,回答指定的问题
BLOCK DB 20H,1FH,08H,81H,0FF H…
RESULT DB ?
START:LEA SI , BLOCK
MOV CH , 0
MOV CL , [SI]
DEC CX
INC SI
MOV AL , [SI]
LOP1:CMP AL , [SI+1]
JLE NEXT
MOV AL , [SI+1]
NEXT: INC SI
LOOP LOP1
MOV RESULT , AL
HLT
问:(1)该程序的功能是(从数组中寻找最小的数放在RESULT中)
(2)该程序循环的次数是(1FH)
5、执行下面指令后,AX寄存器中的内容是(3228H)
TABLE DB 10,20,30,40,50
ENTRY DW 3
…
MOV BX , OFFSET TABLE
ADD BX , ENTRY
MOV AX , [BX]
7、根据下述子程序说明文件把子程序补充完整
(1)子程序名:A VER
(2)子程序功能:求一组无符号字节数据的平均值
(3)入口条件:数据首地址在SI中,数据个数在CL中
(4)出口条件:平均值在AL中
(5)受影响的寄存器:AX和F
A VER PROC NEAR
PUSH SI
PUSH CX
(XOR AX , AX)
AGAIN: ADD AL , [SI]
(INC SI)
DEC CL
JNZ AGAIN
POP CX
DIV CL
POP SI
RET
A VER ENDP
8、一条指令中一般包含有(操作码)和(操作数)两部分信息。
9、计算机中操作数可以在(指令)中、(寄存器)中、(存储器)中、(I/O端口)中。
10、BX、BP被称作(基址)寄存器,用它们寻址称为基址寄存器间接寻址;将SI、DI被称作(变址)寄存器,用它们寻址称为变址寄存器间接寻址。
11、当采用寄存器间接寻址的时,使用通用寄存器BX、SI、DI时,可以默认不写段寄存器是(DS),当使用通用寄存器BP时,可以默认不写段寄存器是(SS)。
12、指令MOV AX ,[BX][SI]中,目标操作数在(寄存器AX)中,源操作数在(内存)中,此时源操作数隐含使用的段寄存器为(DS)。
13、指令ADD [BP],AL 执行时,操作的结果在(堆栈)中,此时计数目的操作数物理地址表达式是(SS*16+BP)。
14、串寻址中,使用一种隐含的变址寄存器寻址,分别使(SI)和(DI)指向源串和目的串,实现字符串操作。
15、串处理指令规定源串指针寄存器必须使用(SI),源串默认为在(DS)段中,也可以在其他段,但必须指明;目的串指针寄存器必须使用(DI),目的串只能在(ES)段中。
16、操作数在I/O端口时,当端口地址(≥256),必须先把端口地址放在(DX)中,类似于存储器寻址中的寄存器间接寻址。