一、问答题
1、 写出8086操作数的寻址方式。8086的存储器寻址方式有哪些?
答:操作数的寻址方式有:①立即(数)寻址。②寄存器寻址。③存储器寻址。存储器寻址方式有:①立即寻址。②寄存器寻址。③直接寻址。④寄存器间接。⑤寄存器相对。⑥基址变址。⑦相对基址变址。 2、 何谓中断向量,何谓中断号?
答:中断向量即中断服务程序的入口地址。中断类型号是系统分配给每个中断源的代号。
3、 试写出由逻辑地址计算物理地址的计算公式。写出8086在存储器寻址下,存储单元的逻辑地
址的表示形式。
答:PA=段基址*16+偏移量 LA=段基址:偏移量
4、 在内存物理地址为00002H起的字单元内存放7856H,请用图表示出它们在存储器里存放的情
况。
寄存器 寄存器 00002H 00003H 00004H 56H 78H 00002H 00003H 00004H 12H 34H 5题图
5、 在物理内存地址为00002H起的字单元内存放3412H,请用图表示出它们在存储器里存放的情
况。
6、 8088的寻址空间有多大?要寻址全部内存空间必须采用什么技术措施?
答:1MB,分段寻址
7、 寄存器间接寻址方式可使用哪些寄存器?
答:在8086中:BX/BP/SI/DI
8、 在分断技术中,寄存器BX和BP默认对应的段寄存器是哪些?
答:BX对应的是DS,BP对应的是SS。
9、 寄存器相对寻址方式中的位移量可以用什么形式表达?
答:位移量=EA—基址—(变址*比例因子)
10、 微机的内存的最小编址单位是什么?字型数据在内存的中的存放原则是什么?
答:最小编址单位是B,存放原则是先低字节,后高字节。
11、 基址变址寻址方式的可用寄存器有哪些?
答:[BX][SI]/[BX][DI]
12、 写出相对基址变址寻址方式的偏移地址EA的计算公式。
答:EA=位移量+基址+变址
13、 在内存物理地址为30476H起的连续地址空间内存放了一个值为90634511H的双字型数据,请用图表示出它们在存储器里存放的情况。
4题图 寄存器 寄存器 30476H 30477H 30478H 30479H 30480H 11H 45H 63H 90H 65780H 65781H 65782H 65783H 65784H 78H 56H 34H 12H 13题图 14题图
14、 在内存物理地址为65780H起的连续地址空间内存放了一个值为12345678H的双字型数据,请用图表示出它们在存储器里存放的情况。 15、 条件转移指令的转移范围是多少?
答:—128~127
16、 LOOP指令使用的循环计数器是什么?
答:CX.
17、 设有变量ABCD,要取它的偏移地址送到寄存器AX中,可用哪两种方法?用指令表达出来。
答:①LEA AX,ABCD ②MOV AX,ABCD
18、 子程序调用时传递参数的三种基本方法是什么?
答:①通过寄存器传送。②通过堆栈传送。③通过变量传送。
19、 串操作指令在使用前应做哪些准备工作?
答:①把存放在数据段中的源串首地址(如反向传送则应是末地址)放入源变址寄存器中。②把将要存放数据串的附加段中的目的串首地址(或反向传送时的末地址)放入目的变址寄存器中。③把数据串长度放入计数寄存器。④建立方向标志。 二、简答题
写出下列各指令的源操作数的寻址方式。 (1)MOV AX,0AH 立即寻址 (21)SUB CX,0CFH 立即寻址 (2)MOV BX,12H 立即寻址 (22)MOV DX,49H 立即寻址 (3)MOV [BX],CL 寄存器寻址 (23)ADDC [BP],DL 寄存器寻址 (4)MOV [BX],CX 寄存器寻址 (24)ACHG [BX],AH 寄存器寻址 (5)MOV AX,[200H] 直接寻址 (25)AND AX,ES:[buf] 直接寻址 (6)MOV AX,[100H] 直接寻址 (26)MOV CX,SS:[buf] 直接寻址 (7)MOV BX,[BX] 寄存器间接寻址 (27)XOR AX,[DI] 寄存器间接寻址 (8)MOV AX,[BX] 寄存器间接寻址 (28)MOV CX,[BX] 寄存器间接寻址 (9)MOV AX,[BP] 寄存器间接寻址 (29)OR DX,[BP] 寄存器间接寻址 (10)MOV DX,[BP] 寄存器间接寻址 (30)MOV CX,[BP] 寄存器间接寻址 (11)MOV AX,[SI][BX] 基址变址寻址 (31)AND DL,[BP+DI] 基址变址寻址 (12)MOV CX,[BX][SI] 基址变址寻址 (32)MOV BX,[SI+BP] 基址变址寻址 (13)MOV DI,[BX+20] 相对基址寻址 (33)XOR SI,56[BX] 相对基址寻址
(14)MOV DI,20[BX] 相对基址寻址 (34)MOV DI,[BX+30] 相对基址寻址 (15)MOV DH,VAL[BX] 相对基址寻址 (35)ADD DL,buf[BX] 相对基址寻址 (16)MOV DH,ARRY[BX] 相对基址寻址 (36)MOV AL,[buf+BP] 相对基址寻址 (17)MOV DS,VAL 直接寻址 (37)MOV DS,[BX+DI] 基址变址寻址 (18)MOV DS,ARRY 直接寻址 (38)MOV DS,[BX+SI] 基址变址寻址
(19)MOV BX,VAL[BX][SI] 相对基址变址寻址 (39)MOV AH,[buf+BP+DI] 相对基址变址寻址 (20)MOV BX,ARRY[BX][DI] 相对基址变址寻址 (40)ADD AL,[buf+BX+SI] 相对基址变址寻址 三、判断题
对者在题号前的括号中打“√”,错的打“×” (×)1.SBB AL,DX (√)2.MOV CX,DX (√)3.CMP BX,[DI] (×)4.CMP [BP],[BX] (√)5.POP DI (√)6.POP SI (×)7.PUSH AL 堆栈操作以字为单位 (×)8.PUSH DL 堆栈操作以字为单位 (√)9.MOV BYTE PTR [BP],124 (√)10.MOV BYTE PTR [BX],100 (√)11.ADD [DI],BYTE PTR 24 (√)12.SUB [BP],BYTE PTR 10 (×)13.DEC [DX] DX不能间接寻址 (√)14.INC 2[BX] (√)15.ROR BL,1 (×)16.MOV CX,[DX] DX不能间接寻址 (√)17.MOV DAT[BP][DI],AL (√)18.MOV DAT[BX][SI],AX (√)19.SUB AL,BYTE PTR AC(AC为字变量) (√)20.ADD CX,WORD PTR WL(WL为字节变量) 四、程序填空题
1、 要求用移位指令实现(BX)<—(BX)*9
MOV AX,BX
MOV CL,3 SHL AX,CL ADD BX,AX
2、 要求用移位指令实现(BX)<—(BX)*5
MOV AX,BX
MOV CL,2 SHL AX,CL
ADD BX,AX
3、 假设程序中数据定义如下:
ASD DB 3
要求把变量ASD的值在显示器上显示出来。 MOV DL,ASD
(√)1.XCHG BX,AX (×)2.XOR BL,CX (√)3.CMP AX,[SI] (√)4.POP DI (√)5.POP AX (×)6.PUSH CL 堆栈操作以字为单位 (×)7.PUSH AL 堆栈操作以字为单位 (√)8.OR BYTE PTR [BP],98 (√)9.AND [BX],255 (√)10.SUB [SI],BYTE PTR 35 (√)11.MOV [BP],10 (×)12.DEC [CX] CX不能间接寻址 (√)13.INC 8[BX] (√)14.SHL AL,1 (×)15.MOV BX,[DX] DX不能间接寻址 (√)16.MOV buf[BP][SI],CL (√)17.MOV buf[BX][DI],CX (√)18.ADDC AL,BYTE PTR AC(AC为字变量) (√)19.CMP CX,WORD PTR WL(WL为字节变量) (√)20.ADD BX,[DI] ADD DL,30H
MOV AH,2
INT 21H
4、 假设程序中数据定义如下:
X DB 3
要求把变量X的值在显示器上显示出来。
MOV DL,X
ADD DL,30H
MOV AH,3
INT 21H
5、 假设程序中字符串MESS定义如下:
MESS DB ’ABCDEF’
要求把字符串MESS送到显示器上显示出来。 LEA DX,MESS
MOV AH,9
INT 21H
6、 假设程序中字符串BUF定义如下:
BUF DB ‘ABCDEF’
MOV AH,9 INT 21H
7、 假设程序中数据定义如下:
BUF DB 32 DUP (?)
要求在BUF中查找第一个’B’. CLD
MOV CX,32
MOV AL,’B’ LEA DI,BUF
REPEN SCASB
8、 假设程序中数据定义如下:
BUF DB 38 DUP(?)
要求在BUF中查找第一个’M’ CLD
MOV CX,38
MOV AL,‘M’
LEA DI,BUF
REPEN SCASB
9、 比较两个字符串B1和B2,其长度为20个字节,找出它们相匹配的位置。
LEA SI,B1 LEA DI,B2
CLD
MOV CX,0014H
REPNE CMPSB
10、比较两个字符串STR1和STR2,其长度为45个字节,找出它们不相匹配的位置。
LEA SI,STR1
相关推荐: