填空题
1.在寻址方式中,可作基址寄存器的有__________、_________。  BX,BP 
2.累加器专用传送指令IN间接访问I/O端口,端口号地址范围为__________。0-65535
3.指令MOV AX,[DI-4]中源操作数的寻址方式是______________。寄存器相对寻址方式(相对寄存器寻址方式)
选择题
1.8086中8位算术运算指令执行后,结果为10010001B,则ZF和SF标志位的值为______。
A)ZF=0  SF=1    B)ZF=0  SF=0    C)ZF=1 SF=1    D)ZF=0 SF不确定
2.可以充当端口指针的寄存器是___________。
A) BX    B) DI    C) SI    D) DX
3.在指令MOV  ES:[SI],AX 中,目的操作数为_______寻址方式。
A) 寄存器    B) 直接    C) 基址变址    D) 寄存器间接   
简答题
1.写出6种常用的寻址方式。
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址
2.在无超越说明时,通用数据读写、目的数据串、源数据串、堆栈操作和取指令操作分别自动选择哪些段寄存器搭配产生物理地址?
通用数据读写自动选择数据段寄存器(DS)
目的数据串自动选择附加数据段寄存器(ES)
源数据串自动选择数据段寄存器(DS)
堆栈操作自动选择堆栈段寄存器(SS)
取指令操作自动选择代码段寄存器(CS)
3.什么叫寻址方式?常用的寻址方式有哪些?
指令中获取操作数或操作数地址的方法。
常用的寻址方式有:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址等。
4.IBM-PC有哪些寄存器可用来指示存储器的地址?
SP、BP、SI、DI、IP、BX、ES、DS、CS、SS
填空题
1.已知(BX)=2000H,(DI)=3000H,(SS)=4000H,(DS)=6000H,(SS)=5000H,66000H单元的内容为28H,则指令MOV AL,[BX+DI+1000H]的执行结果是_______________。(AL)=28H (28H送到AL寄存器)
2.指令“MOV AX,BX”源操作数的寻址方式为_______________。寄存器寻址
3.执行PUSH  AX指令后,SP自动_______________。  减2
4.若(DS)=2000H,(ES)=2100H,(CS)=1500H,(SI)=00A0H,(BX)=0100H, (BP)=0010H,数据量C
OUNT的偏移地址为0050H,则执行指令LEA  AX,[BX][SI] 之后,(AX)=___________H,源操作数是____________寻址方式。01A0H,基址变址寻址
5.指令LEA DX,BUFFER 的功能是将_______________传送给DX。  变量BUFFER的段内偏移地址
6.若(CS)=1000H,(DS)=2000H,(SS)=3000H ,(ES)=4000H,(SI)=1000H,(BP)=2000H,则指令MOV  AX,[BP]的功能是将_________单元的内容传送给AL,将_________单元的内容传送给AH(填写物理地址)。 32000H单元的内容,32001H单元的内容
7.指令MOV DX,OFFSET BUFFER 的功能是_______________。将变量BUFFER
的段内偏移地址送到DX寄存器中
选择题
1.已知(DS)=1000H,(BP)=0010H,(BX=0100H,(DI)=0100H,(010110H)=ABH,(010111H)=BAH,执行指令LEA CX,[BP][DI]后,(BX)=_________。
A) ABBAH    B) 0100H    C) BAABH    D) 0110H
2.用MOV指令将十进制数89以压缩BCD码格式送入AX,正确使用的指令是_________。
A)MOV AX,0089    B)MOV AX,0809    C)MOV AX,0089H    D)MOV AX,0809H   
3.8086执行POP AX指令时,正确的操作是___________________。
A)AX<--[SP+1][SP],SP<--SP+2      B)AX<--[SP+1][SP],SP<--SP-2
C)SP<--SP+2,AX<--[SP+1][SP]      D)SP<--SP-2,AX<--[SP+1][SP]
4.在执行MUL  BL指令执行后,CF=OF=1,(AL)=82H,则表示________。
A)(BL)>0    B)(AH)=FFH    C)被乘数小于零    D)乘积大于255
5.若(AL)=0FH,(BL)=04H,则执行CMP AL,BL后,AL,BL的内容__________。
A)0FH,04H      B)0BH,04H    C)0FH,0BH      D)04H,0FH
6.若已知(SP)=2000H,(AX)=0020H,则执行指令,PUSH  AX 后,(SP)和((SS):(SP))的值分别为_________。
A)2002H,00H    B)2000H,20H    C)1FFFH,00H    D)1FFEH,20H
7.下列指令中错误的是________。
A) JMP DWORD PTR[BX]    B) PUSH AH    C) REP MOVSW    D) CMP AX,[BX][SI]
8.下列指令中,有语法错误的是__________________。
A) MOV [SI],[DI]        B) IN AL,DX 
C) JMP WORD PTR[BX+8]    D) PUSH WORD PTR 20[BX+SI-2]   
9.若累加器AL的内容为13H,执行NEG AL指令后,AL内容为________。
A) OOH      B) 13H      C) 0ECH    D) 0EDH
10.在下面80x86指令中,合法的是  ( )
A) ADD[BX],01H    B) MOV BX,01H    C) SHL CL,AX      D) OUT 258H,AL   
11.已知(DS)=1000H,(BP)=0010H,(BX=0100H,(DI)=0100H,(010110H)=ABH,(010111H)=BAH,执行指令LEA BX,[BP][DI]后,(BX)=_________。
A) ABBAH    B) 0100H    C) BAABH  D) 0110H   
12.下面的指令不合法的是________。
A) INT 21H    B) ADC AX,[SI]    C) IN AX,03H    D) PUSH AL   
13.指令IN AL,DX对I/O端口的寻址范围是____________。
A) 0—255    B) 0—65535    C) 0—1023    D) 0—32767   
14.下列四条指令中,有几条指令需要使用DX寄存器_________?
MUL BX      DIV BL      IN AX,20H      OUT 20H,AL
A) 1条    B) 2条    C) 3条    D) 4条   
15.假设VAR为变量,MOV BX,OFFSET VAR的寻址方式是__________。
A) 直接寻址    B) 变量名寻址    C) 立即寻址    D)存储器寻址   
16.下列指令中操作数在代码段中的是__________。
A) CMP AL,BL    B) ADD AH,BL    C) INC DS:[25H]  D) MOV AL,25H   
17.已知(AX)=1000H,(BX)=2000H,执行指令MOV AX ,BX后,(AX)=_______。
A) 0000H    B) 1000H    C) 2000H    D
) 3000H
问答题
1.如BUFFER为数据段中0032单元的符号地址其中存放的内容为2345H,试问以下两条指令有什么区别?指令执行完成后AX寄存器的内容是什么?
(1)MOV AX,BUFFER      (2)LEA AX,BUFFER
第一条指令是将BUFFER字单元的内容送到AX寄存器,而第二条指令是将BUFFER的段内偏移地址送到AX寄存器。 (1)(AX)=2345H    (2)(AX)=0032H     
2.设(DS)=1000H,(AX)=1C5AH,(BX)=2400H,(SI)=1354H,(13774H)=30H,(13775H)=20H,(13754H)=40H,(13755H)=10H  指令在此环境下执行,在各空中填入相应的执行结果。
SUB AX,20H[BX][SI]
(AX)=_____,SF=______,ZF=______,CF=_____,OF=______
(AX)=0FC2AH,SF=1, ZF=0, CF=1,OF=0
3.指出以下三条指令的区别(NUM为数据段一个变量名)。
(1)MOV SI,NUM
(2)LEA SI,NUM
(3)MOV SI,OFFSET NUM
(1)指令执行后SI取得的是内存变量NUM的值。
(2)指令执行后SI取得的是内存变量NUM的偏移地址。
(3)同(2)
填空题
程序控制类指令的功能是_______________。 改变程序执行的顺序
8086的I/O指令有_______________和_______________两种寻址方式。 直接寻址,寄存器间接寻址
执行指令段:  AGAIN:MOV ES:(DI), AL
INC  DI
LOOP AGAIN
完成的操作,与其等效的指令组:_______________、_______________。
CLD,REP STOSB
设当前的(SP)=0100H,执行PUSH AX指令后,(SP)=____ ______H,若改为执行INT 21H指令后,则(SP)=_____ ______H。 00FE,00FA
伪指令VR1 DB 2 DUP(?,3 DUP(1,2),5)在存贮器中被分配了_________字节。答案:  16个
若当前(SP)=6000H,CPU执行一条IRET指令后,(SP)=___ _____H;而当CPU执行一条段内返回指令RET 6后,(SP)=____ ______H。  6006H,6008H
伪指令X  DB  4 DUP (6,2 DUP(6,8)); Y  DW  6800H; 设X的偏移地址为2000H,则Y的偏移地址为___________H,若执行指令MOV BL,BYTE PTR Y后,则(BL)=________。 2014H,00
条件转移指令转移的范围是_______________。 -128——127字节
定义段结束的伪指令是__________;定义汇编程序结束的伪指令是_________。ENDS,END
汇编结束伪指令是_______________。END
若(AL)=35H,执行ROL AL,1 后,(AL)=_ _____。 6AH
选择题
下面指令序列执行后完成的运算,正确的算术表达式应是________________。
MOV AL,BYTE PTR X
SHL AL,1
DEC AL
MOV BYTE PTR Y,AL
A) Y=2X+1    B) X=2Y+1    C) Y=2X-1    D) X=2Y-1
完成将BX清零,并使标志位CF清零,下面错误的指令是_________。
A)SUB BX,BX    B)XOR BX,BX  C)MOV BX,00H    D)AND BX,00H   
对于8086的条件转移指令,其转移范围为___________。
A)只能是段内短程          B)只能是段内近程
C)只能是段间远程          D)没
有限制
在子程序的最后一定要有一条__________指令。
A) HLT    B) RET    C) IRET    D) POP
分析下面指令序列执行后的正确结果是________________。
MOV BX,0FFFCH
MOV CL,2
SAR BX,CL
A) 3FFFH    B) 0FFFFFH    C) 0FFFCH    D) 0FFFF5H
执行下面的程序后,AL中的内容是__________。
BUF DW 1234H,5678H,0001H
MOV BX,OFFSET BUF
MOV AL,2
XLAT
A) 12H    B) 34H    C) 56H    D) 78H   
问答题
在0624H单元内有一条二字节指令JNE OBJ,如其中位移量分别为(1)27H  (2)6BH  (3)0C6H 试问:转向地址OBJ的值是多少?
取出JNE OBJ指令后,(IP)=0626H,OBJ的值是:(IP)+D->IP
0626H+27H=064DH    0626H+6BH=0691H  0626H-3AH=05ECH
哪些指令能改变CS的内容?
JMP FAR,JMP DWORD,CALL FAR,CALL DWORD,RET,IRET,INT 
中断服务程序结束时,用RET指令代替IRET指令能否返回主程序?这样做存在什么问题?
RET应该可以使中断服务程序返回主程序,但因为RETF是子程序返回指令,它只从堆栈中恢复CS和IP,而不能使状态字PSW得以恢复,所以不能使断点完全恢复,对源程序的继续执行造成不良影响。
在IBM PC中有专用的输入输出指令,请问I/O端口的地址范围是多少?地址范围的不同,应采用的指令格式不同,请写出在具体的范围和采用的指令格式。
I/O端口的地址范围是0000H--0FFFFH (64K)
当地址范围在0000H-00FFH 时可以使用直接端口地址访问和间接访问,格式如下(以8位为例):
IN  AL ,PORT      IN  AL , DX
OUT PORT ,AL      OUT  DX,AL
而当地址范围在大于00FFH 时只能使用间接访问指令,格式如下(以8位为例):
IN  AL,DX        OUT DX,AL
指令判断题
MOV DS,1000H                (    错      )
LEA BX,DATA  ;变量名        (    对      )
执行下列指令可以将其00H送到端口地址为2F8H的外设上:(    对    )
MOV  AL,00H
MOV  DX,2F8H
OUT  DX,AL
ADD AL,DAT1[BX]              (    对    )
MOV WORD PTR [BX],1000H      (    对    )
IN AL,N ;(N>255)          (      错    )
MOV [BX][DI],10              (    错    )
MOV DS,AX                    (    对    )
MOV CS,AX                    (    错    )
执行下列指令可以将00H送到端口地址为1A0H的外设上。
MOV  AL,00H
MOV  1A0H ,AL                  (  错  )
MOV [BX],[1000]              (    错    )
MOV ES,3F00H                  (    错    )
PUSH AL                      (    错    )
SHL AX,2                      (    错    )
IN  AL,DX                    (    对    )
MOV [BX],[SI]                (    错    )
JMP  BX                      (   
对    )
MOV DATA1,DATA2 ;两个均为变量名    (    错      )
XCHG CS,AX                  (    错      )
MOV BYTE PTR [BX],1000H      (    错    )
XCHG BX,IP                  (    错      )
PUSH CS                      (    对      )
PUSH SS                      (    对    )
POP CS                        (    错    )
POP ES                        (    对    )
IN BX,DX                    (    错    )
MOV AL,[BX+10H]              (    对    )
1. 在Intel80x86系统中,若一个32位(4字节)的存储字11223344H的地址为10000H,则10000H的字节单元内容为_______________,10003H的字节单元内容为_______________。
2.试说明为什么有时候必须使用PTR属性操作符?
3.什么是汇编语言,什么是汇编?
4.若(AX)=9C5AH,(BX)=9754H,执行下列指令序列后,程序转向何处执行。
ADD AX,BX        JNC L3
JNO L1          JNO L4
JNC L2          JMP L5
SUB AX,BX
5.已知在DAT至DAT+2单元中分别有八位无符号数a、b和c,试编写一个程序段计算表达式(a*b+c)/a ,商和余数分别存入RES和RES+1单元。
6.在数据区从BLOCK开始有若干个非0字型带符号数,并以0结尾,编程统计其中共有多少个数,其中正数有多少个,负数有多少个,分别存放在ALL,PLUS,MINUS三个字单元中。
7.编写一个完整的8086汇编语言程序,从附加段中首地址为ADR1(变量名)连续存放的100个字型无符号整数中出最大数,并将此数及其偏移地址分别放入变量MAX和MAXM中。
8.编写一汇编语言程序,实现将数据段中首地址为1000H(偏移地址)的100个连续存放的字节型数据搬移至该段内首地址为1050H(偏移地址)的连续的100个内存单元中。
9.从100个带符号数中寻最大值,结果放在MAX单元,只要写出实现功能的程序段即可。
10.阅读下面一段程序,写出该程序执行后AX寄存器中的内容。
MOV AX,1234H
MOV CL,4
ROL AX,CL
DEC AX 
MOV CX,4
MUL CX
(AX)=________
一、填空题
1. 标号和变量都是存贮单元的符号地址,但其内容不同,标号是_______________的符号地址,而变量是_______________的符号地址。
2. 设有一程序定义如下:
ORG 0024H
AR1 DW 4,5,$+4
MOV AX,AR1+4
汇编指令有多少个
执行以上指令后,AX中的内容正确的是_______________。
A) 0028H    B) 0032H    C) 002AH    D) 002CH   
2. 下面表示段定义结束的命令是__________。
A) END    B) ENDP    C) ENDS    D) ENDM   
3.现用数据定义伪指令定义数据:BUF DB 4 DUP(0,2 DUP(1,0));问定义后,存储单元中有数据0100H的字单元个数是____________。
A) 4    B) 3   

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。