汇编语言典型例题说课讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
典型例题(与考试题型,考试范围相近)
1.应用程序具有3个基本段,可执行指令应该保存于( A )。
A) 代码段B) 数据段C) 堆栈段D) 附加段
2. 8位补码F3H要扩展成16位补码应该是( D ),这样其真值才不变。
A) F0F3H B) 00F3H C) 10F3H D) FFF3H
3. “mov [ebx+8],eax”指令的目的操作数采用( C )寻址方式。
A) 存储器间接B) 寄存器C) 寄存器相对D) 立即数
4. 执行“sar ebx,1”指令后,ebx最高D31位一定等于( D )
A) 0 B) 1 C) D0位D) D30位
5. 在代码段内的-128~127个字节前后范围的跳转,可以用( C )类型名表示。
A) WORD B) DWORD C) SHORT D) FAR
6. 在Windows控制台环境,在当前光标显示信息应该使用( B )函数(功能)。
A) ReadConsole B) WriteConsole
C) MessageBox D) GetStdHandle
7.汇编语言源程序经汇编后不能直接生成( C )
A) OBJ文件B) LST文件C) EXE文件D) CRF文件
8.在ADD指令中,两个操作数的物理位置不可以安排在( A )中。
A) 两个主存储单元
B) 一个主存储单元和一个数据寄存器
C) 两个数据寄存器
D) 一个堆栈单元和一个数据寄存器
9.假定ax=6987h,执行指令cmp ax,0eb30h后,则标志位CF和OF的状态( C )。
A)0,0 B) 0,1 C) 1,0 D) 1,1
10.假定esp=00120100h,eax=1f6c2107h,执行指令push ax后,存放数据07h的物理地址是( C )。
A) 00120104h B) 00120101h C) 001200fch D) 001200ffh
11.下列对标志寄存器中标志位产生影响的指令是( B )
A) jmp done B) shl eax, 2
C) call subp D) not eax
12. 假设CL=98H, 执行“MOVSX DX, CL”后,DX=( D )
A) F098H B) 0098H C) 1098H D) FF98H
13. “mov 80h[esi], eax”指令的目的操作数采用( C )寻址方式。
A) 存储器间接B) 寄存器C) 寄存器相对D) 变址寻址
14. 执行“sar ebx,1”指令后,ebx最高D31位一定等于( D )
A) 0 B) 1 C) D0位D) D30位
15. 下列指令执行后总是使CF=0,OF=0的是( A )。
A) AND B) NEG C) MOV D) INC
16. 下面指令的表示中,错误的操作是( C )
A) mov eax,[ebx+esi] B) jmp near ptr don1
C) dec [ebx] D) mul cx
17.汇编语言源程序经汇编后不能直接生成( C )
A) OBJ文件B) LST文件C) EXE文件D) CRF文件
18.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是( A )
A) xor bl,4fh B) test bl,4fh
jz next jz next
C) and bl,4fh D) or bl,4fh
jz next jz next
19.假定ax=6987h,执行指令cmp ax,0eb30h后,则标志位CF和OF的状态( C )。
A)0,0 B) 0,1 C) 1,0 D) 1,1
20.假定esp=00120100h,eax=12345678h,执行指令push eax后,存放数据78h的物理地址是( C )。
A) 00120104h B) 00120101h C) 001200fch D) 001200ffh
21.下列寄存器组中在段内寻址时不可以提供偏移地址的寄存器组是( C )
A) ECX,EBX B) EDI,EBP
C) EIP,EAX D) EDX,ESI
22.若要使寄存器AL中的高4位不变,低4位为0,所用指令为( B )
A) AND AL,0FH B) AND AL,0F0H
C) OR AL,0FH D) OR AL,0F0H
23. 将汇编语言源程序文件翻译成目标代码文件的过程,称为( A )
A) 汇编B) 编辑C) 连接D) 调试
24. ADD求和指令的结果最高位为1,则SF=( B )
A) 0 B) 1 C) 任意D) 不影响
25. 子程序最后,通常需要执行的返回指令是( D )
A) LOOP B) JZ C) CALL D) RET
26. 在Windows控制台环境,在当前光标显示信息应该使用( B )函数(功能)。
A) ReadConsole B) WriteConsole
C) MessageBox D) GetStdHandle
27. 下列对标志寄存器中标志位产生影响的指令是( B )
A) JMP DON B) SHL EAX,1
C) CALL DON D) NOT AX
28.“mov eax, [ebx] [esi]”指令的源操作数采用( A )寻址方式。
A) 基址变址B) 寄存器C) 寄存器相对D) 存储器间接
29.若CL= 4,AX=0FF0FH,执行语句“ROL AX,CL”后,AX=( C )
A) 0FFFFH B) 0FFF0H C) 0F0FFH D) 0FFFH
30.JMP WORD PTR[EBX]转移的目标地址是( D )
A) EBX中的内容B) ESP+EBX的和
C) EIP+[EBX]之和D) EBX指示的内存单元的内容
填空题
1. IA-32处理器有三种操作模式分别是:保护模式、实地址模式、系统管理模式。
2. 在实地址工作方式下,逻辑地址“1460H: 100H”表示的物理地址是14700H 。
3.“cmp ebx, 98”指令之后是“jz again”指令,发生控制转移的条件是EBX=98 ,此时ZF= 1 。
4. 伪指令“xyz dword 67762000h”定义的变量保存于IA-32的存储器中,则从低地址到高地址每个字节依次是00 、20 、76 和67 。
5. mov ax, 1234h;
xor ax, 00ffh;
上述两条指令执行后:ax= 12cbh , CF=OF=0 , SF=0 , ZF=0 , PF=0 .
6. 利用堆栈传递子程序参数的方法是固定的,例如:寻找堆栈段数据的寄存器是EBP
7. JMP 指令根据目标地址的转移范围和寻址方式,可以分为四种类型:段内转移、相对转移、段内转移、间接转移以及段间转移、直接转移、段内转移、间接转移。
8. IA-32处理器工作在保护方式时,可以使用平展和段式存储模型。