汇编语言典型例题

合集下载

汇编语言试题及参考答案

汇编语言试题及参考答案

汇编语言试题及参考答案一,填空题1.ZF标志位是标志结果是否为零的,若结果,ZF为( 1 ),否则ZF为( 0 ).当ZF为1时,SF为( 0 )2.标号可以有两种类型属性.它们是( )和( )3.8位无符号整数的表示范围为0--255,写成16进制形式为( ),8位有符号整数的表示范围为-128--+127,写成16进制形式为( )4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是( ),不得有名字的是( ),可有可无名字的是( ).5.循环程序通常由( )( )( )和循环结果外理四部分构成6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/( )于+,-;XOR,OR( )于AND,LT( )于GT7. 宏指令定义必须由伪指令( )开始,伪指令( )结束,两者之间的语句称为( )8.调用程序与子程序之间的参数传递方法有四种,即堆栈法( )( )( )9.分别用一条语句实现下述指明的功能(1)栈顶内容弹出送字变量AYW( )(2)双字变量AYD存放的地址指针送ES和SI( )(3)变量AY2类型属性送AH( )(4)不允许中断即关中断( )(5)将字符串'HOW ARE YOU!'存入变量AYB( )(6)子程序返回调用程序( )(7)地址表达式AYY[4]的偏移地址送字变量ADDR( )(8)AX的内容加1,要求不影响CF( )(9)BX的内容加1,要求影响所有标志位( )(10)若操作结果为零转向短号GOON( )二,单选题1.IBM PC微机中,有符号数是用( )表示的1.原码2.补码3.反码4.BCD码2.把汇编源程序变成代码程序的过程是( )1.编译2.汇编3.编辑4.链接三,己知:VAR1,VAR2的类型属性分别为字和字节,标号LPFAR的类型属性为FAR.指出下列非法语句的错误原因1.POP CS( )2.INC [BX] ( )3.MVL 8( )4.JLE LPFAR( )5.MOV DB,1800( )6.MOV[DI],VAR17.SUB AX,VAR2( )8.CMP SS AX( )四,简答题1.试述子程序的一般结构组成2.标号有哪三个属性其含义是什么3.试述CMP AX,BX和SUB AX,BX两条语句的异同点五,阅读如下程序段,回答所提出的问题,假定X1,X2,...XN为无符号数. ORG 100HBLOK DW X1,X2, (X)COUNT EQU ($-BLOK)/2RESULT DW COUNT,...LEA BX,BLOK-2MOV CX,RESULTXOR AX,AXGOON:ADD BX,2CMP AX,[BX]JAE NEXTMOV AX,[BX]NEXT:LOOP GOONMOV RESULT+2,AX程序段执行完,回答下述问题RESULT+2字存储单元的内容=( )BX=( )程序循环次数=( )六,在下述程序段的每一空框内填入一个语句(不得修改其它语句),以实现如下功能:字节变量STR中存放着一个字符串,以0DH为结束标志,试求串长度并送字变量COUNT中.LEA SI,STR( )XOR CX,CXGOON: CMP AL,[SI]( )INC CX( )JMP GOONNEXT:MOV COUNT,CX七,编制将DS段中名为BUFB的字节存储区改写为空白字符(编码为20H)的程序段.假定BUFB存储区定义为BUFB DB N DUP('^'),其中N 为字面常量.八,己知宏指令为:SHIFT MACRO RR,COUNTMOV AX,COUNTIF RR LE 64MOV CL,3SHR AX,CLIF RR LT 16MOV CL,6SHR AX,CLENDIFENDIFENDM宏调用为:SHIFT 15,7FFFHSHIFT 80,9FFFH写出宏扩展后的等效源程序段.九,编写完整程序,功能是把N个8个二进制数据转换成16进制字符数据.假定N个数据存放在字节变量VARB中,转换后的字符数据存放在HVARB中,提示0--9的字符码为30H--39H,A--F的字符码为41H--46H汇编语言试题<>答案一,填空题(1)1,0,0(2)NEAR或近程,FAR或远程(3)0--FFH,80H--7FH(4)GROUP,NAME,DB(5)循环准备,循环体,循环的控制与修改(6)高,低,等(7)MACRO,ENOM,宏体(8)约定寄存器法,约定存储单元法,向量传递法(9)(POP AYW)(LES SI,AYD)(MOV AH,TYPE AY2)(CLI)(AYB DB"HOW ARE YOU!")(RET)(MOV ADDR,OFFSET AYY[4])(INC AX)(ADD BX,1)(JZ GOON)二,选择题1. ( 2 )2. ( 2 )三,1.CS不能作目的操作数2.[BX]=义性3.乘法指令源操作数不能是立即数4.远程标号不能作为条件转移指令的操作数5.立即数不能直接送段寄存器6.两个操作数不能同时为存储器操作数7.操作数不配,AX为字,VAR2为字节8.段寄存器不能作为运算指令的操作数四,简答题1.由保存现场,取入口参数,加工处理,进也口友数,恢复现场和返回程序2.段属性指定义该标号的段地址偏移属性:指该标号的偏移地址类型属性:指标号是在定义它的段内引用还是在其它段引用3.相同点:都执行AX-BX操作,影响所有标志位且对档志位的影响相同不同点:CMP执行后AX,BX 内容不改变,而SUB执行后,AX内为AX-BX之差,即内容变化了五,MAX(X1,X2,...XN)(COUNT-1)六,(MOV AL,ODH)(JE NEXT或JZ NEXT)(INC SI)七,MOV AX,SEG BUFBMOV DS,AXLEA SI BUFBMOV CX,NGOON:MOV BYTE PTR[SI],20HINC SILOOP GOON八,MOV AX,7FFFHMOV CL,3SHR AX,CLMOV CL,6SHR AX,CLMOV AX,9FFFH九,DATA SEGMENTVARB DB 45,36,377Q, (11011011)N EQU $-VARBHVARB DB 2 NDRP( )DATA ENDSSTACK SEGMENT PARA STACK "STACK" DB 256 DUP( )STACK ENDSCODE SEGMENTASSUME CS:COOE,DS:DATA,SS:STACK MAIN: PROC FARPUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV DX,NLEA DI,HVARBLEA SI,VARB;置初值GOCN:MOV AH,[SI]MOV AL,AHAND AH,0F0HMOV CL,4SHR AH,CLCMP AH,9JNA NEXT1ADD AH,7NEXT1:ADD AH,30HAND AL,DFH CMP AL,9JNA NEXT2ADD AL,7NEXT2:ADD AL,30H MOV [DI],AHMOV [DI],ALADD DI,2INC SIDEC DXJNZ GOONRETMAIN ENDP CODE ENDSEND MAIN。

汇编语言试题及答案

汇编语言试题及答案

汇编语言试题及答案一、单项选择题(每题2分,共20分)1. 汇编语言是一种()。

A. 高级语言B. 低级语言C. 机器语言D. 符号语言答案:D2. 汇编语言程序必须经过()才能被计算机执行。

A. 编译B. 汇编C. 链接D. 解释答案:B3. 在汇编语言中,指令通常由()组成。

A. 操作码和操作数B. 操作码和地址码C. 操作码和数据D. 地址码和数据答案:A4. 汇编语言中的寄存器主要用于()。

A. 存储数据B. 存储指令C. 存储地址D. 存储控制信息答案:A5. 汇编语言中的立即寻址方式是指()。

A. 操作数在寄存器中B. 操作数在内存中C. 操作数在指令中D. 操作数在输入/输出端口中答案:C6. 在汇编语言中,指令“MOV AX, 1234H”的作用是()。

A. 将内存地址1234H的内容移动到AX寄存器B. 将立即数1234H移动到AX寄存器C. 将AX寄存器的内容移动到内存地址1234HD. 将AX寄存器的内容移动到另一个寄存器答案:B7. 汇编语言中的循环结构通常使用()指令实现。

A. JZB. JNZC. LOOPD. CALL答案:C8. 在汇编语言中,子程序调用通常使用()指令。

A. JZB. JNZC. CALLD. RET答案:C9. 汇编语言中的堆栈操作通常使用()指令。

A. PUSHB. POPC. MOVD. ADD答案:A10. 在汇编语言中,中断服务程序的结束通常使用()指令。

A. INTB. IRETC. RETD. CALL答案:B二、填空题(每题2分,共20分)1. 汇编语言中的指令通常由______和______两部分组成。

答案:操作码;操作数2. 汇编语言中的寄存器可以分为______、______和______三类。

答案:通用寄存器;段寄存器;控制寄存器3. 汇编语言中的寻址方式包括______、______、______和______等。

答案:立即寻址;直接寻址;间接寻址;寄存器寻址4. 在汇编语言中,指令“MOV AX, BX”的作用是将BX寄存器的内容______到AX寄存器。

汇编语言试题及参考答案

汇编语言试题及参考答案

汇编语言试题及参考答案一、选择题(每题2分,共20分)1. 汇编语言中的指令通常由哪两部分组成?A. 操作码和操作数B. 地址和数据C. 指令和数据D. 操作码和地址答案:A2. 以下哪个不是汇编语言中的寻址方式?A. 直接寻址B. 间接寻址C. 立即寻址D. 寄存器寻址答案:B3. 在汇编语言中,以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. CMPC. ADDD. SUB答案:A4. 汇编语言中,以下哪个指令用于比较两个寄存器的内容?A. MOVB. CMPC. ADDD. SUB答案:B5. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与立即数相加?A. MOVB. CMPC. ADDD. SUB答案:C6. 汇编语言中的条件跳转指令通常使用哪些条件?A. 零、非零B. 正、负C. 溢出、非溢出D. 所有上述条件答案:D7. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容相减?A. MOVB. CMPC. ADDD. SUB答案:D8. 汇编语言中的循环结构通常使用哪种类型的跳转指令?A. 无条件跳转B. 条件跳转C. 直接跳转D. 间接跳转答案:B9. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与内存中的内容相加?A. MOVB. CMPC. ADDD. SUB答案:C10. 汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容进行逻辑与操作?A. ANDB. ORC. NOTD. XOR答案:A二、填空题(每题2分,共20分)1. 在汇编语言中,指令MOV AX, BX的作用是将寄存器________的内容复制到寄存器________中。

答案:BX,AX2. 汇编语言中的指令JMP FAR PTR 100H:200H的作用是跳转到内存地址________。

答案:100H:200H3. 汇编语言中,指令CALL的作用是________。

汇编语言程序经典案例100例

汇编语言程序经典案例100例
汇编语言程序经典案例100例 2023-08-04
当然可以帮你制作PPT!以下是关于《汇编语言程序经典案例 100例》的一份PPT大纲,以Markdown代码框的形式展示。你 可以根据这个大纲,进一步丰富内容,使其达到最少2500字 。
```markdown 汇编语言程序经典案例100例
01 汇编语言程序经典案例100例
案例六:汇编游戏
实现一个简单的汇编游戏,如猜数字或打砖块 结合图形和用户输入,展示汇编语言的实际应用
案例七:汇编与硬件交互
编写控制硬件设备的汇编程序,如LED显示控制 探讨汇编语言与底层硬件交互的原理和方法
案例八:内存管理
展示如何在汇编中进行内存分配和释放 解释堆栈、堆区和数据段的概念及其在汇编中的应用
汇编语言程序经典案例100例
案例一:Hello, World! 案例二:计算器 案例三:字符逆序 案例四:素数判断 案例五:文件操作 案例六:汇编游戏 案例七:汇编与硬件交互 案例八:内存管理 案例九:中断处理 案例十:多任务处理
案例一:Hello, World!
使用汇编语言编写经典的Hello, World!程序 解释程序的结构和汇编指令
案例二:计算器实现一个Fra bibliotek单的计算器程序,支持加减乘除运算 展示汇编中的数值处理和条件分支
案例三:字符逆序
编写程序将输入的字符串逆序输出 探讨字符串处理和循环结构在汇编中的应用
案例四:素数判断
判断输入的数字是否为素数 展示如何进行数值计算和判断,并介绍汇编中的位操作
案例五:文件操作
创建、读取、写入文件的汇编程序 分享文件操作所涉及的系统调用和汇编指令
案例九:中断处理
编写处理外部中断的汇编程序 探讨中断的概念、处理流程以及在汇编中的实现

汇编语言试题 (2)

汇编语言试题 (2)

汇编语言试题题目一:寄存器及栈操作假设有一段汇编代码如下,请根据代码的功能回答相应的问题:push ebpmov ebp, espmov eax, dword ptr [ebp + 8]add eax, dword ptr [ebp + 12]pop ebpret1.以上汇编代码中,push ebp和pop ebp的作用分别是什么?2.mov ebp, esp的作用是什么?有什么作用范围?3.dword ptr是什么意思?4.请解释ret的作用。

解答:1.push ebp的作用是将ebp的值保存到栈中,而pop ebp的作用是将栈中的值弹出,并将其赋给ebp寄存器。

这是函数调用的常用操作,用来保存和恢复函数的堆栈帧。

12.mov ebp, esp的作用是将栈顶地址存入ebp寄存器中,以便在函数内部可以通过ebp寄存器来访问函数参数和局部变量。

作用范围是当前函数内部。

3.dword ptr是一个内存访问修饰符,用来指定要访问的内存单元的大小和类型。

在本题中,dword ptr指示要访问的内存单元是一个 32 位的双字(double word)。

4.ret指令用于函数返回,它将弹出栈顶的返回地址,并跳转到该地址执行,从而实现函数的返回。

题目二:条件分支和循环请完成以下汇编代码的功能描述,并回答相应问题:mov eax, 10mov ecx, 0loop:cmp eax, 0je endadd ecx, eaxdec eaxjmp loopend:1.请描述以上汇编代码的功能。

2.eax和ecx分别用来存储什么数据?请解释mov eax, 10和mov ecx,0的作用。

3.cmp eax, 0和je end的作用是什么?24.dec eax是什么意思?5.jmp loop的作用是什么?解答:1.以上汇编代码的功能是计算从 10 累加到 1 的结果,并将结果存储在ecx寄存器中。

2.eax用来存储循环计数器(初始值为 10),ecx用来存储累加结果。

汇编语言练习题及习题答案

汇编语言练习题及习题答案

汇编语言练习题及习题答案选择1、用户为了解决自己的问题,用汇编语言所编写的程序,称为___________。

A 、目标程序B、源程序C、可执行程序D、汇编程序2、无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是___________。

A、ADD BH,01HB、OR BH,01HC、XOR BH,01HD、TEST BH,01H3、设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1,执行SBB AL,[SI]后,正确的结果是___________。

A、AL=5FH SF=1 CF=1B、AL=60H SF=1 CF=0C、AL=5FH SF=0 CF=1D、AL=60H SF=0 CF=04、设AX=1000HNEG AXNOT AX执行上述指令后,正确的结果是___________。

A、AX=1001HB、AX=0FFFHC、AX=1000HD、AX=0111H5、CBW指令的功能是___________。

A、把源操作数的符号位扩展到目的操作数中B、把AL中的符号位扩展到AH中C、把AH中的符号位扩展到AL中D、把AX中的符号位扩展到DX中6、AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是A、指令XOR AX,AX执行后,AX内容不变,但设置了标志位B、指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C、指令AND AX,OFH执行后,分离出AL低四位D、NOT AX,执行后,将AX清07、执行下列指令序列后,正确的结果是___________。

MOV AL,81HADD AL,ALADC AL,ALA、AL=05HB、AL=204HC、AL=04HD、AL=205H4、TEST DL,55HJE NEXT….NEXT:……上述程序段,执行JE指令时能产生转移的情况是。

A、DL>55HB、DL<55HC、DL=55HD、DL中第0、2、4、6位均为05、设CL=05H,要获得CL=0AH,可选用的指令是。

汇编语言试题及答案

汇编语言试题及答案

汇编语言试题及答案一、选择题1. 汇编语言是一种:A. 高级语言B. 低级语言C. 机器语言D. 标记语言答案:B2. 汇编程序的编译过程包括:A. 预处理、编译、链接B. 编译、链接、运行C. 编译、预处理、链接D. 链接、编译、预处理答案:A3. 下列哪项是汇编语言的指令:A. MOV AX, BXB. int main()C. print "Hello, World!"D. System.out.println("Hello, World!");答案:A二、填空题4. 在汇编语言中,指令______用于将数据从内存传送到寄存器。

答案:MOV5. 汇编语言中的______指令用于实现无条件跳转。

答案:JMP6. 汇编语言中的______指令用于实现条件跳转。

答案:JZ 或 JE(零标志跳转)三、简答题7. 简述汇编语言的特点。

答案:汇编语言是一种低级语言,它非常接近机器语言,通常用于编写硬件操作和系统软件。

其特点是执行效率高,但编程复杂度高,可读性和可移植性较差。

8. 汇编语言与机器语言有何区别?答案:汇编语言是一种符号化的机器语言,它使用助记符代替机器语言中的二进制代码,更易于人类理解和编写。

机器语言则是计算机硬件直接执行的指令集,通常以二进制形式存在。

四、编程题9. 编写一段汇编语言程序,实现将AX寄存器的值加1。

答案:INC AX10. 编写一段汇编语言程序,实现将内存地址[100]处的值与BX寄存器的值相加,并将结果存回内存地址[100]。

答案:MOV AX, [100]ADD AX, BXMOV [100], AX五、论述题11. 论述汇编语言在现代计算机系统中的作用和局限性。

答案:汇编语言在现代计算机系统中主要用于系统底层开发、硬件驱动编写、嵌入式系统编程等领域。

其作用在于能够直接控制硬件,实现高效的资源利用。

然而,由于其复杂度高、可读性差、可移植性低,它在高级应用开发中的使用受到限制。

汇编语言试题精选及答案

汇编语言试题精选及答案

汇编语言试题精选及答案汇编语言试题精选1. 计算机内表示机器数的常用编码有(补码 )。

2. 已知[-Y]补=7001H,则Y=(8Fff)H。

注意:[-Y]补=7001 ==》[-Y]反=7000 ==》[-Y]=0FFF ==》Y=8FFFH3. 已知[X-Y]补=7001H,[X+Y]补=0001H,则[2X]补=(7002)H。

4. 典型的计算机结构包括( CPU,存储器,I/O设备),通过(总线 )连接在一起。

5. 在1M字节的存储器中,每个存储单元都有一个唯一的(20 )位地址,称为该物理单元的物理地址。

6. 指令中所用到的操作数可存放于( 指令中),(存储器)或(寄存器 )中。

7. 对于指令CMP AX, BX;当AX, BX为带符号数时,若AX>BX,则执行后标志位SF(0 ),OF=(0)。

注意:CMP 指令做减法,AX与BX相运算(AX-BX),当前者大SF和OF 都为0。

SF是无符号数相减的溢处,OF 是有符号数相减的溢出8. 存贮器的地址区域(0~3FFH )为中断向量区。

9. DT伪指令中定义的每个操作数占有(10 )字节。

10. 循环程序可由(初始化 ),(循环体 ),( 循环控制)三部分组成。

11. 子程序的变量传送方式有(寄存器 ),(存储器变量 ),(地址表),( 堆栈)等。

12. ORG 100H X=2 REPT 1 DD X X=X+1 ENDM 执行前(DS)=02345H,汇编后生成的代码为: (DD 2 ) (X=3 )注:1确定次数重复伪指令REPT.ENDM例13.8缓冲区初始化。

X=0REPT 3X=X+1DB XENDM汇编后:+ DB 1+ DB 2+ DB 3这里还要注意的是IRP X,〈1,2,3,4,5〉。

ENDM 和IRPC X,〈1,2,3,4〉。

ENDM 的用法两者是取尖括号中的元素来取代变量X,循环的次数有括号中元素个数决定,唯一区别是,前者是一变量进行取代,后者是一字符进行取代。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

典型例题(与考试题型,考试范围相近)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. 在代码段内的-128~127个字节前后范围的跳转,可以用( C )类型名表示。

A) WORD B) DWORD C) SHORT D) FAR6. 在Windows控制台环境,在当前光标显示信息应该使用( B )函数(功能)。

A) ReadConsole B) WriteConsoleC) MessageBox D) GetStdHandle7.汇编语言源程序经汇编后不能直接生成( 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,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, CL”后,DX=( D )A) F098H B) 0098H C) 1098H D) FF98H13. “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) INC16. 下面指令的表示中,错误的操作是( C )A) mov eax,[ebx+esi] B) jmp near ptr don1C) 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 nextC) 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=00120100h,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. 将汇编语言源程序文件翻译成目标代码文件的过程,称为( 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) RET26. 在Windows控制台环境,在当前光标显示信息应该使用( B )函数(功能)。

A) ReadConsole B) WriteConsoleC) MessageBox D) GetStdHandle27. 下列对标志寄存器中标志位产生影响的指令是( B )A) JMP DON B) SHL EAX,1C) CALL DON 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) 0FFFH30.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. 利用堆栈传递子程序参数的方法是固定的,例如:寻找堆栈段数据的寄存器是EBP7. JMP 指令根据目标地址的转移范围和寻址方式,可以分为四种类型:段内转移、相对转移、段内转移、间接转移以及段间转移、直接转移、段内转移、间接转移。

8. IA-32处理器工作在保护方式时,可以使用平展和段式存储模型。

9. 数据段有语句“V AR DWORD 99008843H”,代码段指令“MOV CX, WORD PTR V AR”执行后,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=40107H13.已知数据段定义如下:.dataorg 2000hvard dword 1234hvarw word 3*20msg byte ’hello!’,’0’n1 equ $-msgcount equ 5buf 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= 2MOV EDX , SIZEOF V ARD后, EDX= 4(3)经汇编后, BUF占有的存储空间是80 字节(4)经汇编后,$= 200DH , N1= 7Array = 2004H14. 执行“SHR EBX, 4”指令后,JNC发生转移,则说明EBX的D3=15. 子程序的参数传递主要有三种,它们是寄存器传递、共享变量传递、堆栈传递三、程序阅读题1.填写下面指令的执行结果。

mov eax,3721hadd eax,9 ; EAX=372A Hmov ebx,50hsub ebx,8 ; EBX=48 Hmov edi,9ehxor edi,7fh ; EDI=E1 H2.填写下面指令执行的结果。

mov al, 82h ;movsx bx, al ; BX =FF82hmovsx ebx, al ; EBX=FFFFFF82hmov cx, 1000h ;movsx edx, cx ; EDX=00001000h3.填写下面指令执行的结果。

mov ax, 20000mov bl,10div bl;以上代码是否产生溢出是4. 数据段有如下定义,IA-32处理器将以小端方式保存在主存:var dword 12345678h现以字节为单位按地址从低到高的顺序,写出这个变量内容。

并说明如下指令的执行结果:mov eax,var ; EAX=12345678hmov cx,word ptr var+2 ; CX=1234hmov dh,byte ptr var+3 ; DH=12h5.填写下面指令的执行结果。

mov eax, 3721hadd eax, 9 ; EAX=372A Hmov ebx, 50hsub ebx, 8 ; EBX=48 Hmov esi, 9ehand esi, 80h ; ESI=80 H6.填写下面指令执行的结果。

.dataarray dword 616h,727h,838h ;假设该变量的存储器地址是40100H.codemov esi,array+4 ;ESI=727Hmov edi,offset array ;EDI=40100Hmov edx,[edi] ;EDX=616Hpush array+8 ;array+8=838Hpop ecx ;ECX=838H7.分析下面程序段:mov eax, 2000hmov ebx, 5000hmov [ebx+100h], 60hadd eax, [ebx+100h]lea esi, [ebx+100h]mov ebx, eax程序段执行后,ESI= 5100 H,EBX= 2060 H8.填写下面指令的执行结果。

相关文档
最新文档