1、汇编语言典型例题 典型例题(与考试题型,考试范围相近)1应用程序具有3个基本段,可执行指令应该保存于( A )。A) 代码段 B) 数据段 C) 堆栈段 D) 附加段2. 8位补码F3H要扩展成16位补码应该是( D ),这样其真值才不变。A) F0F3H B) 00F3H C) 10F3H D) FFF3H3. “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. 在代码段内的-1281
2、27个字节前后范围的跳转,可以用( C )类型名表示。A) WORD B) DWORD C) SHORT D) FAR6. 在Windows控制台环境,在当前光标显示信息应该使用( B )函数(功能)。A) ReadConsole B) WriteConsole C) MessageBox D) GetStdHandle7汇编语言源程序经汇编后不能直接生成( C )A) OBJ文件 B) LST文件 C) EXE文件 D) CRF文件8在ADD指令中,两个操作数的物理位置不可以安排在( A )中。A) 两个主存储单元 B) 一个主存储单元和一个数据寄存器C) 两个数据寄存器D) 一个堆栈单元和
3、一个数据寄存器9假定ax=6987h,执行指令cmp ax,0eb30h后,则标志位CF和OF的状态( C )。A)0,0 B) 0,1 C) 1,0 D) 1,110假定esp=00120100h,eax=1f6c2107h,执行指令push ax后,存放数据07h的物理地址是( C )。A) 00120104h B) 00120101h C) 001200fch D) 001200ffh11下列对标志寄存器中标志位产生影响的指令是( B )A) jmp done B) shl eax, 2C) call subp D) not eax12. 假设CL=98H, 执行“MOVSX DX, C
4、L”后,DX=( D )A) F098H B) 0098H C) 1098H D) FF98H13. “mov 80hesi, eax”指令的目的操作数采用( C )寻址方式。A) 存储器间接 B) 寄存器 C) 寄存器相对 D) 变址寻址14. 执行“sar ebx,1”指令后,ebx最高D31位一定等于( D )A) 0 B) 1 C) D0位 D) D30位15. 下列指令执行后总是使CF0,OF0的是( A )。A) AND B) NEG C) MOV D) INC16. 下面指令的表示中,错误的操作是( C )A) mov eax,ebx+esi B) jmp near ptr do
5、n1C) dec ebx D) mul cx17汇编语言源程序经汇编后不能直接生成( C )A) OBJ文件 B) LST文件 C) EXE文件 D) CRF文件18测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是( A ) A) xor bl,4fh B) test bl,4fhjz next jz next C) and bl,4fh D) or bl,4fhjz next jz next19假定ax=6987h,执行指令cmp ax,0eb30h后,则标志位CF和OF的状态( C )。A)0,0 B) 0,1 C) 1,0 D) 1,120假定esp=00
6、120100h,eax=12345678h,执行指令push eax后,存放数据78h的物理地址是( C )。A) 00120104h B) 00120101h C) 001200fch D) 001200ffh21下列寄存器组中在段内寻址时不可以提供偏移地址的寄存器组是( C )A) ECX,EBX B) EDI,EBPC) EIP,EAX D) EDX,ESI22若要使寄存器AL中的高4位不变,低4位为0,所用指令为( B ) A) AND AL,0FH B) AND AL,0F0HC) OR AL,0FH D) OR AL,0F0H23. 将汇编语言源程序文件翻译成目标代码文件的过程,称
7、为( 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) GetStdHandle27. 下列对标志寄存器中标志位产生影响的指令是( B )A) JMP DON B) SHL EAX,1C) CALL DO
8、N D) NOT AX28“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) 0FFFH30JMP WORD PTREBX转移的目标地址是( D ) A) EBX中的内容 B) ESP+EBX的和 C) EIP+EBX之和 D) EBX指示的内存单元的内容 填空题1. IA-32处理器有三种操作模式分别是: 保护模式 、实地址模式、系统管理模式。2.
9、在实地址工作方式下,逻辑地址“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. 利用堆栈传递子程序参数的方法是固定的,例如:寻找堆栈段数
10、据的寄存器是 EBP 7. JMP 指令根据目标地址的转移范围和寻址方式,可以分为四种类型:段内转移、相对转移 、段内转移、间接转移 以及段间转移、直接转移 、段内转移、间接转移 。8. IA-32处理器工作在保护方式时,可以使用 平展 和 段式 存储模型。9. 数据段有语句“VAR DWORD 99008843H”,代码段指令“MOV CX, WORD PTR VAR”执行后,CX8843H 。10. 数据段有语句“ABC BYTE 1,2,3”,代码段指令“MOV CL, ABC+2”执行后,CL3 。11已知ESI=04000H,EBX=10H ,指令“MOV EAX, ESI+EBX*
11、2+8中访问的有效地址是 04028H 。 12假设在平展存储模型下,EBX1256H,双字变量TABLE的偏移地址是40100H,线性地址41356H处存放40107H,执行指令“JMP EBX” 后EIP 1256H ,执行指令“JMP TABLEEBX”后EIP40107H 13已知数据段定义如下: .data org 2000h vard dword 1234h varw word 3*20 msg byte hello!,0 n1 equ $-msg count equ 5 buf word count dup(5,3 dup(1,2),0) array dword varw问题:
12、(1)执行 MOV EBX , OFFSET VARD后, EBX= 2000H (2)执行 MOV ECX , TYPE BUF后, ECX= 2 MOV EDX , SIZEOF VARD后, EDX= 4 (3)经汇编后, BUF占有的存储空间是 80 字节(4)经汇编后,$= 200DH , N1= 7 Array = 2004H 14. 执行“SHR EBX, 4”指令后,JNC发生转移,则说明EBX的D3= 0 15. 子程序的参数传递主要有三种,它们是 寄存器传递 、 共享变量传递 、 堆栈传递 三、程序阅读题1填写下面指令的执行结果。 mov eax,3721h add eax
13、,9 ; EAX 372A H mov ebx,50h sub ebx,8 ; EBX 48 H mov edi,9eh xor edi,7fh ; EDI E1 H2填写下面指令执行的结果。 mov al, 82h ; movsx bx, al ; BX =FF82h movsx ebx, al ; EBX=FFFFFF82h mov cx, 1000h ; movsx edx, cx ; EDX=00001000h3填写下面指令执行的结果。 mov ax, 20000 mov bl,10 div bl ;以上代码是否产生溢出 是 4. 数据段有如下定义,IA-32处理器将以小端方式保存在主
14、存:var dword 12345678h现以字节为单位按地址从低到高的顺序,写出这个变量内容。并说明如下指令的执行结果: mov eax,var ; EAX12345678h mov cx,word ptr var+2 ; CX1234h mov dh,byte ptr var+3 ; DH12h 5填写下面指令的执行结果。 mov eax, 3721h add eax, 9 ; EAX 372A H mov ebx, 50h sub ebx, 8 ; EBX 48 H mov esi, 9eh and esi, 80h ; ESI 80 H6填写下面指令执行的结果。 .dataarray
15、dword 616h,727h,838h ;假设该变量的存储器地址是40100H .code mov esi,array+4 ;ESI 727H mov edi,offset array ;EDI 40100H mov edx,edi ;EDX 616H push array+8 ;array+8 838H pop ecx ;ECX 838H 7分析下面程序段: mov eax, 2000h mov ebx, 5000h mov ebx+100h, 60h add eax, ebx+100h lea esi, ebx+100h mov ebx, eax程序段执行后,ESI= 5100 H,EBX= 2060 H8填写下面指令的执行结果。 mov eax,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1