云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 汇编语言 复习题

汇编语言 复习题

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 10:17:11

汇编复习题

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.汇编语言源程序经汇编后不能直接生成( C ) A) OBJ文件 B) LST文件 C) EXE文件 D) CRF文件

7.在ADD指令中,两个操作数的物理位置不可以安排在( A )中。 A) 两个主存储单元

B) 一个主存储单元和一个数据寄存器 C) 两个数据寄存器

D) 一个堆栈单元和一个数据寄存器

8.假定ax=6987h,执行指令cmp ax,0eb30h后,则标志位CF和OF的状态( C )。 A)0,0 B) 0,1 C) 1,0 D) 1,1

9.假定esp=00120100h,eax=1f6c2107h,执行指令push eax后,存放数据07h的物理地址是( C )。

A) 00120104h B) 00120101h C) 001200fch D) 001200ffh

10.下列对标志寄存器中标志位产生影响的指令是( B ) A) jmp done B) shl eax, 2 C) call subp D) not eax

11. 假设CL=98H, 执行“MOVSX DX, CL”后,DX=( D ) A) F098H B) 0098H C) 1098H D) FF98H

12. 要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是( C )。

A) BUF DW 9 B) BUF DB 9

C) BUF DB 9 DUP (?) D) BUF DW 9 DUP (?)

13. 下列指令执行后总是使CF=0,OF=0的是( A )。 A) AND B) NEG C) MOV D) INC

14. 下面指令的表示中,错误的操作是( C ) A) mov eax,[ebx+esi] B) jmp near ptr don1 C) dec [ebx] D) mul cx

15.测试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 填空题

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处理器工作在保护方式时,可以使用 平展 和 段式 存储模型。

9. 数据段有语句“VAR DWORD 99008843H”,代码段指令“MOV CX, WORD PTR VAR”执行后,CX=8843H 。

10. 数据段有语句“ABC BYTE 1,2,3”,代码段指令“MOV CL, ABC+2”执行后,CL=3 。

11.已知ESI=04000H,EBX=10H ,指令“MOV EAX, [ESI+EBX*2+8]中访问的有效地址是 04028H 。

12.假设在平展存储模型下,EBX=1256H,双字变量TABLE的偏移地址是40100H,线性地址41356H处存放40107H,执行指令“JMP EBX” 后EIP= 1256H ,执行指令“JMP TABLE[EBX]”后EIP=40107H

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

问题: (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= 15. 子程序的参数传递主要有三种,它们是 寄存器传递 、 共享变量传递 、 堆栈传递

三、程序阅读题

1.填写下面指令的执行结果。 mov eax,3721h add eax,9 ; EAX= 372A H mov ebx,50h sub ebx,8 ; EBX= 48 H mov edi,9eh xor edi,7fh ; EDI= E1 H

2.填写下面指令执行的结果。 mov al, 82h ;

movsx bx, al ; BX =FF82h movsx ebx, al ; EBX=FFFFFF82h mov cx, 1000h ;

movsx edx, cx ; EDX=00001000h 0 3.填写下面指令执行的结果。 mov ax, 20000 mov bl,10 div bl ;以上代码是否产生溢出 是

4. 数据段有如下定义,IA-32处理器将以小端方式保存在主存: var dword 12345678h

现以字节为单位按地址从低到高的顺序,写出这个变量内容。并说明如下指令的执行结果: mov eax,var ; EAX=12345678h mov cx,word ptr var+2 ; CX=1234h mov dh,byte ptr var+3 ; DH=12h

6.填写下面指令执行的结果。 .data array 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 H

四、语句填空题

1.下列程序段将EAX中值乘以9,请将程序填写完整。 push eax shl eax,3 pop ebx add eax,ebx

2. 以下程序段用于计算符号函数。

?1(X?0)? Y??0(X?0)

??1(X?0)? 的取值范围为32位的有符号数,试填写方框中的指令。 mov eax,x cmp eax,0 jz zero js nega mov eax, 1 jmp ok zero: xor eax, eax jmp ok nega: mov eax, 0ffffffffh ok: mov y, eax

3.下列程序段求数组ARRAY的累加和。请将程序填写完整。 array word 45h,68h,????.,0abc1h,9600h; mov esi,offset array mov ecx,lengthof array xor eax,eax again: add eax,[esi] add esi,2 loop again

四、编制程序题

1. 求X?Y 的绝对值,结果存入result单元中。

2.编写程序从键盘接受两个有符号十进制数A和B,将它们按照大小顺序显示。

3. 编写一个程序片段,首先测试双字变量DVAR的最高位,如果为1,则显示字母”L”; 如果最高位不为1,则继续测试最低位,如果最低位为1,则显示字母”R”, 如果最低位也不为1,则显示字母”M”。 字符显示子程序为dispc,它具有显示AL寄存器中ASCII字符的功能。

搜索更多关于: 汇编语言 复习题 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

汇编复习题 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. 在代码

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com