汇编语言期末复习题
(4)2000H:1010H
(2) 9.下列指令正确的是( (1)CMP [SI], [DI] (3) (3) ROL AX, 2
) (2) MUL AX, 100H (4) OR AH, CL )
(4) 10.假设(AX)=32A1H, 执行指令 AND AH, AL 之后,(AX)=( (5) (1)0020H (2)20A1H (3)0B3A1H (4)2000H
5
3. 设有以下数据段: DATA SEGMENT VA1 DW 234H,456H,0FE00H VA2 DB 34H,56H,78H,0FEH DB $-VA1 RES DB 10H DUP(3,4,5) DATA ENDS 写出下面程序段执行后RES的前五 个字节单元的内容分别是多少? MOV SI, 0 MOV CX,4 LOP: MOV AL,BYTE PTR VA1[SI] MOV RES[SI], AL INC SI LOOP LOP
…….
9
七、 DATA SEGMENT BUF DB ‘ACDECGWGH’ LENG EQU $-BUF RES DB ? DATA ENDS STACK1 SEGMENT STACK DW 20H DUP(0) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK1,DS:DATA START:MOV AX,DATA MOV DS,AX
4. 设 (AX)=0CF77H,(CX)=504H CLC SAR AX,CL XCHG CH,CL SHL AX, CL 上述指令执行之后, (AX)=( ),CF=( ).
6
六、编程序段 1. 下面程序段的功能是将数据 09 转 换 为 对 应 的 ASCII 码 。 试将空白处填上适当的指令。 VA DB 0,1,2,3,4,5,6,7,8,9 ASC DB 10 DUP(0)
7
MOV SI, OFFSET VA MOV DI,OFFSET ASC (1) LOP: MOV AL,[SI] (2) MOV [DI], AL INC SI INC DI LOOP LOP
一、1(2) 2(2)3(4)4(3)5(2)6(4)7(3)8(2) 9(4)10(2)
二、1(1)(2)(3) 2(1)(3)(4) 3(2) 4(3)(4) 三、1 -128~127 2. CF=(1), SF=(0), OF= (0), ZF=(0),3. 都是执行逻辑与运算,TEST指令不送结果到目的操作数。
五、读程序,写结果. 1 .设(AX)=0FF60H STC MOV DX, 96 XOR DH,0FFH SBB AX,DX 上述程序执行后, (AX)=( ), CF=( ). 2. MOV AL,59H MOV BL, 64H ADD AL, BL DAA 上述指令执行之后, (AL)=( ),(BL)=( ).
1
6. 能使(CX)= 0 的指令是(
(1) OR CX, 0 (3) AND CX, CX
)
(2) SUB CX, 0 (4) XOR CX , CX
7. 执行DOS功能调用时,需要先将功能号送到寄存器( )。 (1)CX (2)AL (3)AH (4)CH )
8. 设主存某单元物理地址为 22010H,用逻辑地址表示( (1) 22010H:0H (2)2200H:10H (3)2200H:100H
3.TEST指令与AND指令的相同点是(
4.设(DS)=0122H,四个字节存储单元分别是(01256H)= 40H, (01257H)=20H,(01258H) = 13H,(01259H)=32H,。 (BX)=36H, 执行指令 LDS SI, [BX] 后, (DS)=( ), (SI)=( ).
(2)(AX)为余数,(DX)为商 (4)(DX)为余数,(AX)为商 )
4. 设(SP)= 0100H , 执行 PUSHF 之后, SP的值是( (1) 0101H (2)00FFH (3) 00FEH (4) 0102H
5. 在条件转移指令中,结果不为0时则转移的指令是( ) (1) JZ (2)JNZ (3) JS (4) JNS
5.设数据段有数据定义语句:VA DB 1, 3, ‘ABC’, 执行指令 MOV AX, LENGTH VA 问: (AX) =( ).
4
四、简答题
1.分别指出下列各指令有什么错误。
(1)MOV AL,1000 (2) SHL AX, 2 (3)LEA DI,SI 2. 数据段中有下列语句,试用示意 图说明各变量在存储器中的分配 情况。 DATA SEGMENT VA1 DB ‘ABC’ VA2 EQU 0AH VA3 DW ‘AB’, 0ABH, ‘C’ DATA ENDS
(2) LAODS STRING1 (4) NEG AX
4.执行(
(1) LAHF (3) POPF
)指令时,需要使用段寄存器SS
(2) MOV [BX] ,AL (4) MOV [BP],CL
3
三、填空题
1.在补码表示法中,8位二进制数表示的范围是(
)。
2.在IBM PC微机上,进行下面补码表示的8位二进制数运算: 01101011+11010110 问:标志位CF=( ), SF=( ), OF= ( ), ZF=( ),区别是( ). )
练 习 题
一、 单项选择题 1. 指令STC 的功能是( ) (4) DF=1
(1)CF=0 (2)CF=1 (3)DF=0
2. 在指令MOV AX, [BP]中,隐含使用的段寄存器是( ) (1)CS (2)SS (3) DS (4)ES )。
3. 对于无符号数字除法指令 DIV OPRD,其运算结果为( (1)(AL)为余数,(AH)为商 (3)(AH)为余数,(AL)为商
2.编程计算VA-VB的绝对值。 其中VA和VB为变量表示 的8 位无符号数;要求结果存放在 RES字节单元。只写出主要语 句。 七、编写一完整源程序统计数 据区BUF中包含字符‘C’的个 数。结果存入RES单元中。(用 串操作指令) DATA SEGMENT BUF DB ‘ACDECGWGH’ RES DB ? DATA ENDS 写出完整的程序。
4.(DS)=(3213H), (SI)=(2040H) 5.(AX) =(1).
四、1.源操作数的长度与目的操作数的长度不匹配; 2.移位次数大于1时,应使用CL寄存器表示。
3.LEA指令的源操作数必须是存储器操作数。
五、1.(AX)=0, CF=0 (执行指令XOR将清进位CF) 2.(AL)=23H, (BL)=64H 3.34H,02H,56H,04H,04H
8
4. (AX)=9EE0H, CF=1 六、(1)MOV CL,10 (2) OR AL,30H 或ADD AL,30H (2) ……
MOV AL, VA CMP AL,VB JB NEXT SUB AL,VB JMP END0 NEXT:SUB VB, AL END0: MOV AL, VB MOV RES, AL
10
XOR BL, BL MOV AL, ‘C’ LEA DS, BUF MOV CX, LENG LOP: SCASB JNZ NEXT INC BL NEXT:LOOP LOP MOV RES, BL MOV AH, 4CH INT 21H CODE ENDS END START
11
2
二、多项选择题 1 . 十进制数65可转换为( (1) 41H (2) 01000001B ) (3) 101Q (4)81Q
2. 寄存器间接寻址方式中可使用的寄存器有(
(1)BX (2)CX (3)DI (4)BP )
)
3.下列指令不影响标志寄存器的有( (1) CMPS STRING1,STRING2 (3) NOT AX