MOV AX,1234
MOV AL,[1234]
MOV AL,[BP+1234]
MOV AX,[BX][SI+1234]
立即寻址 直接寻址 寄存器相对寻址 基址变址相对寻址 立即寻址 直接寻址 寄存器相对寻址 基址变址相对寻址
4、源程序如下: CMP AX, BX JNC L1 JZ L2 JNS L3 JNO L4 JMP L5
设AX=74C3H,BX=95C3H,则程序最后将转到哪个标号处执行?试说明理由。 ∵ 74C3H - 95C3H
DF00H
且有:CF=1, ZF=0, SF=1, OF=1 ?
程序将转到L5标号处执行、
5、已有AX=E896H,BX=3976H,若执行ADD BX,AX指令,则结果BX,AX,标志位CF,OF,ZF各为何值
BX=220CH
AX=E896H CF=1
??
OF=0 ZF=0
6、选用最少的指令,实现下述要求的功能. (1))AH的高4位清0 (2)AL的高4位取反
(1)AND AH,0FH (2)XOR AL,0FH 7、高(BX)=6D16H,(AX)=1100H,写出下列三条指令执行后,AX和BX中的内容. MOV CL,06H ROL AX,CL SHR BX,CL (AX)=4004H (BX)=01B4H)
8、下面程序执行后屏幕上显示的内容是什么?HELLO WORLD!
...
BUFFER DB \...
PUSH DS POP ES
LEA SI,BUFFER LEA DI,BUFFER CLD
NEXT: LODSB CMP AL,'$' JZ DONE CMP AL,61H JC OK
CMP AL,7BH JNC OK SUB AL,20H OK: STOSB JMP NEXT DONE:
MOV DX,OFFSET BUFFER MOV AH,09H INT 21H ..
9、根据以下程序填充变量在内存中的存储情况(A的ASCII值为41H;段地址
为1000H)
值 地址
Data segment
VAR1 DB 'AB' VAR2 DW 'AB' VAR4 DW VAR2 Data ends 值 41H 42H 42H 41H 02H 00H 1000H:0000H 0001H 0002H 0003H 0004H 0005H
10、根据以下程序填充变量在内存中的存储情况(’B’的ASCII值为42H;段地
址为3011H) Data segment
VAR1 DB 'BC' VAR2 DW 'BC' VAR4 DW VAR2 Data ends
值 地址
30110H
30111H 30112H
30113H
30114H 值 30115H 42H
43H 43H 42H 02H 00H 11、DMA控制器的工作方式有哪3种? 单字节传输方式
成组(块)传输方式 请求传输方式
12、以 JMP VAR_ADD指令为例试分析8086段内间接转移和段间间接转移差别?
段内间接转移,VAR_ADD是一个16内存变量,指令完成以下 (IP)←(VAR_ADD)
段内间接转移,VAR_ADD是一个16内存变量,指令完成以下 (IP)←(VAR_ADD) (CS) ←(VAR_ADD+2)
13、内存中有下列指令
地址 机器语言 汇编语言 1234H B812AB Mov AX, 5678H
请问执行完这条指令后寄存器IP与AX的内容分别是多少? (IP)=1237H (AX)=5678H
14、分别指出下列4条指令源操作数的寻址方式
MOV BL, 12H MOV AX, [DI] 立即寻址 寄存器寻址 寄存器间接寻址 基址变址寻址
15、下列程序执行后 AX,BX,CX中的值分别是多少?
ARRAY DD 20 DUP (?) STR DB 'THIS IS TEST' ...
MOV AX, TYPE STR
MOV BX, LENGTH ARRAY MOV CX, SIZE ARRAY 1 20 80
MOV BX, DX MOV AH, [BP][DI]
16、根据下图,指出ABCDEF 6种中断各自的名称(6分)
A:非屏蔽中断 B:可屏蔽中断 C:溢出中断 D:断点中断 E:单步中断 F:除法错误中断
17、设机器字长为8位,最高位为符号位,试对43+8进行二进制补码运算,并判断结果是
否溢出。 ∵ [43]补=00101011B,[8]补=00001000B
∴ [43]补+[8]补=00101011B+00001000B=00110011B=33H 00101011B + 00001000B 00110011B ∵ CS=0,CD=0,OF=CS⊕CD=0⊕0=0 ∴ 无溢出
18、设有变量x=11101111B,y=11001001B,试计算x+y=?
请问:①若为无符号数,计算结果是否正确?②若为带符号补码数,计算结果是否溢出? x+y = 11101111B+11001001B=10111000B=1B8 H 1110 1111 B + 1100 1001B 1011 1000B ①若为无符号数 ②若为带符号补码数 ∵ CF=1 ∴ 不正确 ∵ CF=1,DF=1 OF=0 ∴ 不溢出