汇编语言基础练习题目
汇编语言试题及参考答案
汇编语言试题及参考答案一,填空题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。
《汇编语言》练习题库
《汇编语言》练习题库
汇编语言是计算机硬件和软件之间的桥梁,是一种基于机器指令的
低级程序设计语言。
掌握汇编语言对于理解计算机的工作原理和进行
底层编程具有重要意义。
下面是一份《汇编语言》练习题库,旨在帮
助读者巩固和应用所学知识。
一、基础题
1. 使用汇编语言编写一个程序,实现两个数相加的功能。
2. 编写一个汇编语言程序,将一个字符串逆序输出。
3. 设计一个程序,判断一个数是否为偶数。
4. 编写一个程序,实现一个简单的计算器,可以进行加减乘除运算。
二、中级题
1. 设计一个程序,实现排序算法中的冒泡排序。
2. 编写一个汇编语言程序,判断一个字符串是否为回文串。
3. 设计一个程序,将一个数组中的奇数和偶数分别存放在两个新的
数组中。
4. 编写一个程序,实现一个简单的文本编辑器,可以实现插入、删除、替换等功能。
三、高级题
1. 设计一个程序,实现图像的旋转和缩放功能。
2. 编写一个汇编语言程序,实现一个简单的操作系统。
3. 设计一个程序,实现一个简易的数据库系统,可以进行数据的增删查改操作。
4. 编写一个程序,实现一个简单的网络聊天室。
以上是《汇编语言》练习题库的部分题目,通过做题可以提高对汇编语言的理解和应用能力。
同时,建议读者在做题的过程中,结合教材和其他学习资料,加深对汇编语言的学习和掌握。
祝愿大家在汇编语言的学习中取得优异的成绩!。
汇编语言习题与答案
汇编语言习题与答案一、填空题:把答案填在题中横线上。
1.8位无符号整数的表示范围为0~255,写成16进制形式为00H~__________;8位有符号整数的表示范围为-128~+127,写成16进制形式为__________~__________。
2.8086/8088分段管理存储空间,但每段容量最大不超过__________。
3.逻辑地址为F000:100的存储单元,其物理地址是__________。
4.用来指示堆栈栈顶的偏移地址的是__________寄存器。
5.若要测试AL寄存器D4、D2、D0位是否都为0,则可使用__________指令语句(含操作数),以产生转移条件。
这条指令执行后将利用标志位__________实现转移。
6.若定义:bdata db2dup(1,2,2dup(3),4),则dbata变量前5个单元从低地址到高地址的数据依次是__________。
7.假设varw是一个16位变量,则指令“mov varw,ax”的目的操作数的寻址方式是__________。
二、选择题:在每小题给出的四个选项中,只有一项是符合题目要求的,请把所选项前的字母填在题后的括号内。
1.对汇编语言源程序进行翻译,形成OBJ文件的是A.汇编程序B.连接程序C.编辑程序D.调试程序[]2.下列各个8位二进制数的补码中,真值最大的是A.10001000B.11111111C.00000000D.00000001[]3.MASM语句中,表达常数不正确的形式是A.01101001BB.A346HC.’A’D.5600[]4.如果SS=600H,则说明堆栈段物理地址起始于A.60HB.600HC.6000HD.60000H[]5.dw50dup(?)预留了存储空间的字节数是A.25B.50C.100D.200[]6.下列指令中有操作数在代码段中的是A.mov ax,34hB.add ax,bxC.inc word ptr[34h]D.cmp ax,[34h][]7.假设AL=5,要使得AL=0FAH,应执行的指令是A.not alB.and al,0fhC.xor al,0f0hD.or al,0fh[]8.设置逻辑段应该采用的一对伪指令是A.segment/endsB.start/end startC.proc/endpD.macro/endm[]9.条件转移指令JNE条件是A.CF=0B.CF=1C.ZF=0D.ZF=1[]10.逻辑移位指令SHL可用于A.有符号数乘以2B.有符号数除以2C.无符号数乘以2D.无符号数除以2[]11.执行“in al,dx”指令后,进入AL寄存器的数据来自A.寄存器B.存储器C.立即数D.外设端口[]12.将十进制数75以压缩BCD码送入AX,正确的指令是A.mov ax,0075B.mov ax,0705C.mov ax,0075hD.mov ax,0705h[]13.如下指令可将AX寄存器内容改变的是A.cmp ax,bxB.test ax,bxC.and ax,bxD.xchg ax,bx[]14.设AH=10H,执行“neg ah”指令后,正确的结果是A.AH=10H、CF=1B.AH=F0H、CF=0C.AH=10H、CF=0D.AH=F0H、CF=1[]15.如下程序段:again:mov es:[di],alinc diloop again可用指令__________完成相同的功能。
汇编语言试题及答案
汇编语言试题及答案一、单项选择题(每题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的作用是________。
汇编练习题
汇编语言练习题一、基础知识类1. 列出汇编语言中的寄存器及其用途。
2. 解释汇编语言中的指令格式。
3. 什么是标志寄存器?它有哪些常用的标志位?4. 描述汇编程序的基本结构。
5. 如何在汇编语言中进行数据定义?二、数据传送类1. 将AX寄存器的值传送到BX寄存器。
2. 将内存单元[1000H]的值传送到CX寄存器。
3. 将数据段中的一个字节传送到AL寄存器。
4. 实现两个内存单元之间的数据交换。
5. 将一个字的数据传送到DX和AX寄存器。
三、算术运算类1. 计算H + 5678H,并将结果存储在AX寄存器中。
2. 计算H 5678H,并将结果存储在AX寄存器中。
3. 实现16位无符号数的乘法运算。
4. 实现16位无符号数的除法运算。
5. 使用汇编语言实现一个简单的加法计算器。
四、逻辑运算类1. 对AX寄存器的值进行按位取反操作。
2. 计算H和5678H的逻辑与运算结果。
3. 计算H和5678H的逻辑或运算结果。
4. 计算H和5678H的逻辑异或运算结果。
5. 实现一个简单的逻辑表达式求值程序。
五、控制转移类1. 实现一个无条件跳转指令。
2. 根据CX寄存器的值,实现一个循环结构。
3. 使用比较指令和跳转指令实现一个简单的排序算法。
4. 编写一个程序,判断一个数是否为素数。
5. 实现一个多分支选择结构。
六、字符串操作类1. 实现将一个字符串复制到另一个内存区域。
2. 实现字符串的逆序排列。
3. 计算一个字符串的长度。
4. 比较两个字符串是否相等。
5. 在一个字符串中查找某个字符的位置。
七、中断及系统调用类1. 编写一个简单的中断处理程序。
2. 使用INT 21H中断实现屏幕输出一个字符串。
3. 使用INT 21H中断读取键盘输入的字符串。
4. 编写一个程序,实现定时器中断。
5. 使用汇编语言实现系统调用,完成文件读写操作。
八、子程序设计类1. 编写一个子程序,用于计算两个数的最大公约数。
2. 实现一个子程序,能够将十进制数转换为十六进制数。
计算机技术汇编语言试题含答案
计算机技术汇编语言试题含答案第一部分:选择题1. 汇编语言是计算机硬件的一种低级编程语言,其特点是()。
A. 高级、易读易写B. 低级、复杂C. 低级、易读易写D. 高级、复杂答案:C2. 汇编语言是一种()。
A. 人机交互语言B. 低级语言C. 高级语言D. 自然语言答案:B3. 汇编语言最主要的作用是()。
A. 提高计算机运行速度B. 完成特定的计算任务C. 方便程序员编写高级语言程序D. 简化计算机指令的执行过程答案:C4. 汇编语言的指令是由()组成的。
A. 二进制代码B. 十进制代码C. 字母和数字D. 中文字符答案:A5. 汇编语言与机器语言之间的关系是()。
A. 完全相同B. 相似但不完全一样C. 完全不同D. 无法确定答案:B第二部分:简答题1. 什么是汇编器?它的作用是什么?汇编器是一种用于将汇编语言代码翻译成机器代码的软件工具。
其作用是将人类可读的汇编语言指令转换成计算机能够理解的二进制代码,以便计算机能够执行相应的操作。
2. 谈谈汇编语言的优点和缺点。
汇编语言的优点包括:- 直接操作底层硬件,可精确控制计算机执行指令,提高程序执行效率。
- 可以直接访问和利用硬件资源,如寄存器、内存等。
- 可以编写高效的程序,适用于对性能要求较高的场景。
- 编写汇编语言程序相对来说较为简单,可以更好地理解计算机的工作原理。
汇编语言的缺点包括:- 难以学习和掌握,对于初学者来说门槛较高。
- 编写的程序复杂度高,维护困难。
- 汇编语言代码的可移植性差,不同的计算机体系结构需要不同的汇编指令集。
- 缺乏高级语言的抽象和封装特性,代码可读性差。
第三部分:编程题请编写一段汇编语言代码,实现将数组 A 中所有元素加 1 的功能。
数组 A 的起始地址保存在寄存器 AX 中,数组长度保存在寄存器 BX 中。
假设数组 A 的元素都是字节类型。
```asmMOV CX, 0 ; 用于循环计数的寄存器MOV SI, AX ; 用于保存数组起始地址的寄存器LOOP_START:MOV AL, [SI] ; 将当前数组元素的值加载到 AL 寄存器ADD AL, 1 ; 将 AL 寄存器中的值加 1MOV [SI], AL ; 将 AL 寄存器中的值存回数组对应位置INC CX ; 循环计数器加 1INC SI ; 数组地址指针加 1CMP CX, BX ; 比较循环计数器和数组长度JL LOOP_START ; 如果循环计数器小于数组长度,则跳转到LOOP_START 继续循环```答案:以上汇编语言代码实现了将数组 A 中的所有元素加 1 的功能。
汇编语言基础试题
第一章根本知识一、单项选择题〔共40分,每题2分〕2.假设[X补]=11111,那么其十进制真值为〔C〕A.-31B.-15C.-1D.313.某定点整数64位,含1位符号位,补码表示,那么其绝对值最大负数为〔A〕A.-263B.-264C.-〔263-1〕D.-〔263-1〕4.原码乘法是〔D〕A.用原码表示操作数,然后直接相乘B.被乘数用原码表示,乘数取绝对值,然后相乘C.乘数用原码表示,被乘数取绝对值,然后相乘D.先取操作数绝对值相乘,符号位单独处理5.在微机系统中分析并控制指令执行的部件是〔C〕A.存放器B.数据存放器C.CPUD.EU6.X=76,那么[X]补=〔B〕A.76HB.4CHC.0B4HD.0CCH7.[X]补=80H, 那么X=〔D〕A.80HB.0C.0FFHD.-80H8.[X]补=98H, 那么[X]补/2=〔A〕A.0CCHB.4CHC.49HD.31H9.X=78,Y=-83那么[X+Y]补=〔C〕A.0F5HB.0A1HC.0FBHD.65H10.在计算机的CPU中执行算术逻辑运算的部件是〔A〕A.ALUB.PCC.ALD.AR11.将125转换成二进制数的结果〔A〕A.7DHB.7CHC.7EHD.7BH12.将93H看成一个组合BCD码,其结果是〔B〕A.10010101B.10010011C.10000011D.1000000113.能被计算机直接识别的语言是〔C〕A.C语言B.汇编语言C.机器语言D.面向对象语言14.第四代计算机的逻辑电路采用的是〔D〕。
A.电子管B.晶体管C.中小规模集成电路D.大规模和超大规模集成电路15.可以写入数据的存储器是〔B〕。
A.ROMB.RAMC.软盘D.大规模和超大规模集成电路16.掉电后存储信息消失的存储器是〔B〕。
A.ROMB.RAMC.软盘D.硬盘17.读写速度最慢的辅助存储器是〔C〕。
A.ROMB.RAMC.软盘D.硬盘18.二进制数〔11010011〕2转化成十六进制数是〔B〕。
汇编语言练习题
一、单项选择题(本大题共20小题,每小题1分,共20分)1.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是()A. C+D=BB. A+D=BC. B=DD. A>C>D2.标志寄存器中属于控制标志位的是()A.DF,OF,SFB.DF,IF,TFC.OF,CF,PFD.AF,OF,SF3.8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4.设AL中已有压缩型BCD码,为实现对AL的减1操作,可选用的指令序列是()A.DEC AL B.SBB AL,0AAS DASC.SUB AL,1D.SUB AL,1AAS DAS5.要输入端口1234H中的8位数据,其指令应是()A.MOV DX,1234HB.MOV DX,1234HOUT DX,AL 1N AL,DXC.1N AX,1234HD.OUT DX,1234H6.若AX=-15要得到AX=15应执行的指令是()A.NEG AXB.NOT AXC.INC AXD.DEC AX7.8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志8.MOV AL,79ADD AL,0B1H上面指令执行后,设置的标志位CF和OF的值是()A.CF=0,OF=1B.CF=1,OF=1C.CF=0,OF=0D.CF=1,OF=09.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()A.DIV BX B.CWDIDIV BXC.XOR DX,DXD.CBWDIV BX IDIV BX10.下列指令中操作数在代码段中的是()A.MOV AL,42HB.ADD AL,BLC.SUB [BX],DID.1NC [DI]11.用REPE SCASB指令对字符串进行扫描,如CX 0时,扫描结束,那么表示()A.在字符串中遇上第一个AL中指定的字符B.在字符串中有一个AL中指定的字符C.在字符串中有一个不是AL中指定的字符D.在字符串中遇上第一个不是AL中指令的字符12.下列指令执行后对源和目的操作数均无影响的是()A.MOV [BX+2],AXB.SUB AX,2467HC.SBB [SI],BXD.CMP AX,BX13.表示过程定义结束的伪指令是()A.ENDPB.ENDSC.ENDD.ENDM14.下列有语法错误的语句是()A.DB 12HB.DW 4567HC.DD ˋBCDˊD.DB ˋCDˊ15.DB1 DB 8 DUP(2 DUP(3),3 DUP(2))┇MOV AX,WORD PTR DB1 [04H]上面指令执行后,AX的内容是()A.0302HB.0203HC.0202HD.0303H16.BUF1 DB 3 DUP(0,2 DUP (1,2),3)COUNT EQU $ -BUF1符号COUNT等价的值是()A.6B.18C.16D.817.DA1 DW 2A05HDA2 DB 0FAH┇MOV AL,BYTE PTR DA1SUB DA2,AL上述指令执行后,DA2中的内容是()A.0DAHB.0FAHC.0F5HD.0D0H18.设(SS)=338AH,(SP)=450H,执行PUSH BX,和PUSHF两条指令后,堆栈顶部的物理地址是()A.33CECHB.33CF2HC.33CF4HD.33CE8H19.设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是()A.0036HB.0022HC.0030HD.0020H20.条件转移指令JNBE产生转移的条件是()A. CF=0 AND ZF=0B. CF=0 AND ZF=1C. CF=1 AND ZF=0D. CF=1 AND ZF=121.与MOV BX,0FFSET VAR指令完全等效的指令是()。
汇编语言试题及答案
汇编语言试题及答案一、选择题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. 论述汇编语言在现代计算机系统中的作用和局限性。
答案:汇编语言在现代计算机系统中主要用于系统底层开发、硬件驱动编写、嵌入式系统编程等领域。
其作用在于能够直接控制硬件,实现高效的资源利用。
然而,由于其复杂度高、可读性差、可移植性低,它在高级应用开发中的使用受到限制。
汇编考试题及答案详解
汇编考试题及答案详解一、选择题(每题2分,共20分)1. 下列哪一项是汇编语言的特点?A. 高级语言B. 面向对象C. 接近硬件D. 自动内存管理答案:C2. 汇编指令MOV AX, [BX]的含义是:A. 将AX寄存器的内容移动到BX寄存器B. 将BX寄存器的内容移动到AX寄存器C. 将内存地址BX指向的内容移动到AX寄存器D. 将AX寄存器的内容存储到内存地址BX指向的位置答案:C3. 下列哪一项不是汇编语言的伪操作码?A. ORGB. DBC. IFD. MOV答案:D4. 在汇编语言中,立即数的寻址方式是:A. 直接寻址C. 间接寻址D. 基址寻址答案:A5. 汇编程序中,用于定义数据的伪操作码是:A. EQUB. ENDC. DBD. DW答案:C6. 汇编语言中,指令JMP FAR PTR LABEL的作用是:A. 跳转到当前段内的LABELB. 跳转到其他段内的LABELC. 跳转到当前段的开始位置D. 跳转到其他段的开始位置答案:B7. 汇编语言中的段寄存器CS的作用是:A. 存储当前代码段的基地址B. 存储当前数据段的基地址C. 存储当前堆栈段的基地址D. 存储当前附加段的基地址答案:A8. 下列哪一项不是汇编指令的寻址方式?B. 寄存器寻址C. 相对寻址D. 绝对寻址答案:C9. 汇编语言中,指令PUSH AX的作用是:A. 将AX寄存器的内容压入堆栈B. 将AX寄存器的内容弹出堆栈C. 将AX寄存器的内容移动到其他寄存器D. 将AX寄存器的内容存储到内存答案:A10. 汇编语言中,指令DIV AX的作用是:A. 将AX寄存器的内容除以AL寄存器的内容B. 将AX寄存器的内容除以AH寄存器的内容C. 将AX寄存器的内容除以DX寄存器的内容D. 将AX寄存器的内容除以立即数答案:A二、简答题(每题5分,共10分)1. 解释汇编语言中的堆栈操作。
答案:堆栈操作是汇编语言中的一种数据结构操作,它遵循后进先出(LIFO)的原则。
汇编语言基础知识综合测验 - 参考答案
L: ADD
AX,CX
…
LOOP L
程序段的功能是 AX←1+2+...+100 ,
程序段执行后,AX= 5050 。
2.分析下面的程序段执行后,实现的 功能。 … MOV CL, 4 SHL DX,CL MOV BH,AH SHL AX,CL SHR BH,CL OR DL,BH 该程序段实现的功能是: 将放在(DX,AX)中的数左移 。 4位
第 1页
汇编语言程序设计
基础知识综合测验
一、填空题: 8. 在指令运行过程中,必须占用累加器的指令有(最少8条指 令) XLAT IN OUT IMUL MUL IDIV DIV CBW CWD STOS LODS 。
9. 在算术运算指令和逻辑指令中,不影响进位标志的指令 是 CBW CWD INC DEC NOT 。
第 2页
汇编语言程序设计
基础知识综合测验
二、分析下列指令的合法性 1. MOV [1000H], AL 2. POP 100H 3. DIV 4. XOR 2000H DH, CL (√ ) (× ) (×) (√ ) ( √)
5. XCHG [SI], AH
6. SUB
7. ADD 8. OUT
第 4页
汇编语言程序设计
基础知识综合测验
3.已知AX=2000H,BX=7800H,CX=6A80H,分析下面程序段功能。
PUSH AX PUSH BX PUSH CX XOR CX, CX ADD AX, BX MOV CL, AH XCHG AL, BL ROL AX, CL POP CX POP BX POP AX 程序段执行后的AX= 2000H ,BX= 7800H ,CX= 6A80H 。
汇编语言基础练习题目
一、填空1.在8086/8088的计算机中,存储单元的20位物理地址由两部分组成,即16位的段地址和16位的偏移地址,物理地址= 段地址×10H+偏移量。
2.段的起始地址必须是某小段的首地址,它能被 10H 整除。
3.已知01020H字单元的内容为6A58H,请分别写出它的两个字节单元的地址和内容:(01020H)=58H,(01021H)=6AH。
4.指令执行后,若标志寄存器的ZF=0,则表示结果不为0;若SF=0,则表示结果的符号是正号,即结果为正数。
5.控制器从存储器取出一条指令后,指令指针寄存器IP的内容是将要执行的下一条指令开始的偏移地址。
6.段地址和偏移地址为1000:127B的存储单元的物理地址是 1127BH。
解:由物理地址= 段地址×10H+偏移量的公式可得物理地址=1000H×10H+127BH=10000H+127BH=1127BH。
二、选择1.与CS寄存器组合才能形成代码段的物理地址的寄存器是( C )。
A.SP寄存器B.BP寄存器C.IP寄存器D.BX寄存器2.如果存储器分段时,一个段最多允许16K个字单元,那么表示该段内偏移地址的二进制数至少是( A )。
A.15位B.16位C.17位D.18位解:16K个字单元,即为32K个字节单元。
由于2的15次方为32K,因此至少需要15位二进制数才能表示16K个字单元。
3.已知一数据段的段地址是0100H,这个段的第6个字单元的物理地址是( B )。
A.01010HB.0100AHC.01012HD.01006H解:由于一个字单元占用两个字节,第一个字单元的偏移地址为0000H,因此第一个字单元的物理地址为01000H。
以后每一个字单元的地址在前一个的基础上加2,所以这个段的第6个字单元的物理地址是0100AH。
注意:第6个字单元的偏移地址是在第一个的基础上加10,即0AH,物理地址应该是0100AH,而不是01010H。
(汇编语言)练习题
(汇编语言)练习题【一】填空题〔每题0.5分,共10分〕1、26.25D= B= O= H2、-56D的原码为 B,反码为 B,补码为 B。
3、0C51H的反码为 B,补码为 B。
4、十进制数87的压缩BCD码为 B,非压缩BCD码为 B。
6、设〔BX〕=1000H,〔DI〕=0010H,〔DS〕=2100H,在指令MOV AX,[BX+DI]中,源操作7、设BUF为数据段0234H单元的符号名,其中存放的内容为3456H。
写出以下指令单独执行后的结果。
〔1〕MOVAX,BUF〔AX〕=〔2〕LEAAX,BUF〔AX〕=8、子程序的参数传递方法包括、、。
9、实模式下存储器的20位物理地址由加形成。
【二】选择题〔每题1分,共10分〕1、以下通用数据传送指令的几种传送中,错误的传送方式是()。
A、从累加器到存储器B、马上数到存储器C、从寄存器到存储器D、从存储器到存储器2、使进位位置1的指令是()。
A、CLCB、CMCC、STCD、NOP3、设AL,BL中基本上有符号数,当AL<=BL时转至NEXT处,在CMPAL,BL指令后,应选用正确的条件转移指令是()。
A、JBEB、JNGC、JNAD、JNLE4、指令LOOPZ的循环执行条件是()。
A、CX<>0同时ZF=0B、CX<>0或ZF=0C、CX<>0同时ZF=1D、CX<>0或ZF=15、以下合法的变量名称是〔〕。
A、9BUFB、ADDC、BUF9D、ASSUME6、一条指令中目的操作数不同意使用的寻址方式是()。
A、寄存器寻址B、马上数寻址C、变址寻址D、寄存器间接寻址7、DOS的功能调用号必须送〔〕寄存器。
A、DLB、DHC、ALD、AH8、在实模式下,存储器治理采纳分段模式,每段大小可达〔〕。
A、64MB、1MC、64KD、16字节9、用来存放下一条将要执行的指令地址的寄存器是()。
A、SPB、IPC、BPD、CS10、要使串操作从低地址向高地址进行,应把标志位设置为()。
(完整版)汇编语言试题及答案
一,单项选择题(每小题1 分,共20 分1-10CCCCAADACB 11-20.ADBBAADDCC1.指令JMP FAR PTR DONE 属于( CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址2.下列叙述正确的是(A.对两个无符号数进行比较采用CMP 指令,对两个有符号数比较用CMP S指令B.对两个无符号数进行比较采用CMPS 指令,对两个有符号数比较用CM P 指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J NL指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J NB指令3.一个有128 个字的数据区,它的起始地址为12ABH:00ABH, 请给出这个数据区最末一个字单元的物理地址是(A.12CSBHB.12B6BHC.12C59HD.12BFEH4.在下列指令的表示中,不正确的是(A.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL5.在进行二重循环程序设计时,下列描述正确的是(A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B.外循环初值应置外循环之内;内循环初值应置内循环之内C.内、外循环初值都应置外循环之外D.内、外循环初值都应置内循环之外,外循环之内6.条件转移指令JNE 的测试条件为( A.ZF=0B.CF=0C.ZF=1D.CF=17.8086CPU 在基址加变址的寻址方式中,变址寄存器可以为(A.BX 或CXB.CX 或SIC.DX 或SID.SI或DI8.已知BX=2000H,SI=1234H, 则指令MOV A X,[BX+SI+2] 的源操作在(中。
A.数据段中偏移量为3236H 的字节B.附加段中偏移量为3234H的字节C.数据段中偏移量为3234H 的字节D.附加段中偏移量为3236H 的字节9.执行如下程序:( MOV AX,0MOV AX,0MOV BX,1MOV CX,100A:ADD AX,BXINC BXLOOP AHLT执行后(BX=(A.99B.100C.101D.10210.上题的程序执行后(AX=(A.5000B.5050C.5100D.515011.对于下列程序段:(AGAIN:MOV AL,[SI]MOV ES:[DI],ALINC SIINC DILOOP AGAIN也可用指令完成同样的功能。
汇编语言test1
汇编语⾔test1汇编语⾔1⼀、简答题1.下⾯程序段执⾏后,寄存器BX的值发⽣什么变化?(不考虑溢出)SAL BX,1PUSH BXMOV CL,4SAL BX,CLPOP CXSUB BX,CX乘以 30d2.对于这样的程序段:CMP AX,BXJGE NEXTXCHG AX,BXNEXT: CMP AX,CXJGE DONEXCHG AX,CXDONE: ┆试回答:①上述程序执⾏后,原有AX,BX,CX中最⼤数存放在哪个寄存器?AX②这三个数是带符号数还是⽆符号数?G,所以是有符号数3.已知寄存器(DS)=1000H,(SS)=1110H,(BX)=100H,(BP)=100H,(SI)=0002H,(SP)=100H;内存单元中的(10100H)=12H,(10101H)=34H,(10102H)=56H,(10103H)=78H,(11200H)=0ABH,(11201H)=0CDH,(11202H)=0EFH,(11203H)=0D3H。
试说明下列各指令执⾏完后AX寄存器的内容。
指令(写个思路,其他⾃⼰搞) AX的内容① MOV AX,1200H ① 1200(直接给)② MOV AX,BX ② 0100h③ MOV AX,[1200H] ds:1200(10000+1200=11200)③所以读(11201和11200内容)0CDABH④ MOV AX,[B P] BP:找SS:bp 11100+100=11200同理读11201和11200内容⑤ MOV AX,1100H[BX] [BX]:找 ds:1100+bx ⑤⑥ MOV AX,[BX][SI] ds:bx+si ⑥⑦ MOV AX,1100H[BX][SI] ds:bx+si+1100 ⑦⑧ POP AX ss:sp⑧4. A DB 0F8HB DB 3 DUP(?)┇LEA DI,BMOV CX,3MOV AL,ALOP:SAR AL,1MOV [DI],ALINC DILOOP LOPOFCH OFEH OFFH上述程序段运⾏后,从B单元开始依次存放的数据是多少?5.执⾏下⾯的程序段后,AX和BX寄存器的内容各是多少?MOV AX,1MOV BX,23MOV SI,10XCHG AX,BXMUL SIADD BX,AXAX=230 BX=231⼆、程序填空题下⾯是⼀个.com⽂件格式的程序,完成从键盘上输⼊⼀个4位以内的16进制数,并以10进制形式显⽰出来。
汇编语言考试题库及答案
汇编语言考试题库及答案一、选择题1. 在汇编语言中,以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. ADDC. SUBD. MUL答案:A2. 假设寄存器AX的值为1234H,执行指令“AND AX, 0F0H”后,AX 的值是多少?A. 1230HB. 0F34HC. 0F30HD. 1234H答案:C二、填空题1. 在汇编语言中,________指令用于将立即数加载到寄存器中。
答案:MOV2. 寄存器EAX的高16位是_______。
答案:AX三、简答题1. 解释汇编语言中的“段”是什么概念?答案:在汇编语言中,“段”是内存管理的一个概念,用于将程序的不同部分(如代码、数据、堆栈)分隔开来。
每个段都是内存中的一个区域,它有一个段基址,程序中的地址由段基址和偏移量组合而成。
2. 描述汇编语言中循环结构的实现方式。
答案:循环结构在汇编语言中通常通过标签和跳转指令实现。
首先定义一个循环的开始标签,然后在循环体中执行需要重复的操作。
循环结束前使用条件跳转指令(如JE、JNE等)跳回循环开始的标签,直到满足跳出循环的条件。
四、编程题1. 编写一个汇编程序,实现将两个16位无符号数相加,并将结果存储在寄存器AX中。
答案:```MOV AX, 1234HMOV BX, 5678HADD AX, BX```上述程序首先将1234H加载到AX寄存器中,然后将5678H加载到BX寄存器中,最后使用ADD指令将BX中的值加到AX中,结果存储在AX寄存器中。
2. 编写一个汇编程序,实现将字符串"Hello, World!"存储在内存中。
答案:```.DATAString DB 'Hello, World!', 0```上述程序在数据段定义了一个字符串"Hello, World!",后面跟着一个空字符作为字符串的结束标记。
汇编语言试题及答案
汇编语言试题及答案一、选择题1. 下列汇编指令中,用于加载立即数至寄存器的是:A. MOVB. ADDC. SUBD. XOR答案:A. MOV2. MOV指令中,源操作数与目的操作数的位数必须相同吗?A. 是B. 否答案:B. 否3. 下列指令中,用于从内存读取数据的是:A. MOVB. JMPC. ADDD. LEA答案:D. LEA4. 下列寻址方式中,可以直接给出操作数的地址的是:A. 直接寻址B. 间接寻址C. 寄存器寻址D. 寄存器间接寻址答案:A. 直接寻址5. CPU中的程序计数器(PC)用于保存:A. 下一条指令的地址B. 当前指令的地址C. 上一条指令的地址D. 中断服务程序的地址答案:A. 下一条指令的地址二、填空题1. 8086处理器的数据总线位数是_________。
答案:162. MOV AX, BX 汇编指令是将______的值复制到______。
答案:BX,AX3. 寻址方式LEA BX, [SI+DI]的含义是将_______与_______的和作为BX的值。
答案:SI,DI4. 8086处理器的寻址空间大小是_________。
答案:1MB5. 标志寄存器中的ZF标志位表示_________。
答案:零标志位,表示结果为零三、简答题1. 简述什么是汇编语言?汇编语言是一种底层的程序设计语言,通过使用助记符来代替具体的操作码,使得编写的代码易于阅读和理解。
汇编语言直接操作计算机硬件,与机器语言密切相关,最终会被翻译成机器语言运行在计算机上。
2. 什么是寄存器?寄存器是计算机内部用于存储数据和执行操作的高速存储器。
不同的计算机体系结构会有不同的寄存器数量和用途。
寄存器的访问速度非常快,因此在编写汇编语言代码时,经常使用寄存器来进行数据的操作和传递。
3. 请举例说明MOV指令的用法及其作用。
MOV指令用于将数据从一个位置复制到另一个位置。
它可以将立即数、寄存器或内存中的数据复制到目标寄存器或内存位置。
汇编考试题及答案
汇编考试题及答案一、选择题(每题2分,共20分)1. 以下哪个指令是汇编语言中的无条件跳转指令?A. JZB. JEC. JMPD. JC答案:C2. 在汇编语言中,哪个指令用于将数据从内存读取到寄存器中?A. MOVB. ADDC. SUBD. MUL答案:A3. 8086微处理器中,哪个寄存器用于存储指令指针?A. IPB. SPC. BPD. SI答案:A4. 汇编语言中,哪个指令用于将一个字节的数据与累加器中的值进行逻辑“与”操作?A. ANDB. ORC. XORD. NOT答案:A5. 在8086微处理器中,哪个指令用于将累加器的内容压入堆栈?A. PUSH AXB. POP AXD. RET答案:A6. 汇编语言中,哪个指令用于将一个字数据从寄存器移动到内存?A. MOV [BX], ALB. MOV AL, [BX]C. MOV AL, BLD. MOV [BX], BL答案:A7. 8086微处理器中,哪个指令用于将当前的CS和IP寄存器的值压入堆栈,然后跳转到指定的地址?A. CALLB. RETC. INTD. IRET8. 汇编语言中,哪个指令用于将一个字数据从内存移动到寄存器?A. MOV AL, [BX]B. MOV [BX], ALC. MOV AL, BLD. MOV BL, [BX]答案:A9. 在汇编语言中,哪个指令用于将一个寄存器的内容与另一个寄存器的内容进行逻辑“或”操作?A. ANDB. ORC. XORD. NOT答案:B10. 8086微处理器中,哪个指令用于从堆栈中弹出一个字数据到累加器?A. PUSH AXB. POP AXC. CALLD. RET答案:B二、填空题(每题2分,共20分)1. 汇编语言中的________指令用于将数据从寄存器移动到内存。
答案:MOV2. 8086微处理器中的________指令用于无条件跳转。
答案:JMP3. 在汇编语言中,________指令用于将一个字节的数据与累加器中的值进行逻辑“异或”操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
、填空1. 在8086/8088的计算机中,存储单元的20位物理地址由两部分组成,即16 位的 段地址 和16位的 偏移地址,物理地址=段地址X 10H+偏移量。
2.段的起始地址必须是某小段的首地址,它能被 10H 整除。
3. 已知01020H 字单元的内容为6A58H 请分别写出它的两个字节单元的地址和 内容:(01020H =58H, ( 01021H =6AH4. 指令执行后,若标志寄存器的ZF=0,则表示结果不为0;若SF=0,则表示结 果的符号是正号,即结果为正数。
5. 控制器从存储器取出一条指令后,指令指针寄存器IP 的内容是 将要执行的下 一条指令开始的偏移地址。
6. 段地址和偏移地址为1000: 127B 的存储单元的物理地址是1127BH解:由物理地址=段地址X 10H+偏移量的公式可得物理地址=1000HX 10H+127BH=10000H+127BH=1127BH、选择1.与CS 寄存器组合才能形成代码段的物理地址的寄存器是解:16K 个字单元,即为32K 个字节单元。
由于2的15次方为32K,因此至 少需要15位二进制数才能表示16K 个字单元。
3.已知一数据段的段地址是0100H,这个段的第6个字单元的物理地址是(B ) o解:由于一个字单元占用两个字节,第一个字单元的偏移地址为0000H,因此第一个字单元的物理地址为 01000H 。
以后每一个字单元的地址在前一个的基C )。
A. SP 寄存器B. BP 寄存器C. IP 寄存器D. BX 寄存器2.如果存储器分段时, 的二进制数至少是( 一个段最多允许16K 个字单元,那么表示该段内偏移地址 A )o A.15 位 位B.16 位C.17 位D.18A. 01010HB. 0100AHC.01012HD.01006H础上加2,所以这个段的第6个字单元的物理地址是0100AH注意:第6个字单元的偏移地址是在第一个的基础上加10,即0AH物理地址应该是0100AH而不是01010H。
三、计算1. 已知十进制数X的8位补码为E3H求X和它的16位补码。
解:将十六进制数E3H转化为二进制数为:11100011 (负数)。
因为对负数的补码进行求补运算后得正数的补码,所以对11100011求补后得00011101,即1DH 对应的十进制数为29。
要求它的16 位补码,只需将它的8 位补码扩充到16 位即可,其中高8位用低8位的符号位填充。
因为E3H的符号位为1,所以它的16位补码为1111111111100011,即十六进制数FFE3H。
注意:求补运算就是将二进制位按位求反,然后末位再加1。
2. 设数据段的大小为160 个字节,请指出它的最末一个字单元的偏移地址。
解:160个字节,即为A0H个字节。
因为任何一个段的偏移地址都是从0000H 开始的,因此该数据段的最末一个字单元的偏移地址为:A0H-02H=9EH3. 在存储器中依次划分数据段和代码段,已知数据段的大小为251 个字节,设操作系统分配给数据段的起始地址为1A580H请计算出代码段的起始地址。
解:251个字节,即FBH个字节。
因为段的起始偏移地址为0000H,所以代码段的起始物理地址为:1A580H+FBH-01H=1A67A。
H4. 存储器中存放的数据如下图所示,请写出05421H和05422H字单元的内容。
解:在本题中,需要知道数据在存储器中存放的原则是:低位字节存入低地址单元,高位字节存入高地址单元;以及字单元的地址是用低位字节单元的地址表示的;一个字单元占用连续的两个字节单元的地址。
了解这些知识后,解此题就相当简单了。
(05421H)=6C88H,(05422H)=D86CH。
四、简答1. 在数据段中有如下定义的数据:BVAL DB 0C8H,58H设BVAL=257A,BX=178AH SI=ODFOH DI=ODEOH BP=257AH 偏移量:DSP=10H DIP=ODFOH请用存储器操作数的5种寻址方式将两字节数据传送到AX寄存器中。
解:①直接寻址方式:MOV AL [BVAL]MOV AH,[BVAL+1]或MOV AX,WORD PTR [BVAL]②寄存器间接寻址方式:MOV AX,DS:[BP]③寄存器相对寻址方式:MOV AX,[BX+DIP] 或MOV AX,DIP[BX]④基址变址寻址方式:MOVAX,[BX+SI] 或MOVAX,[BX][SI]⑤相对基址变址寻址方式:MOV AX,DSP[BX+SI] 或MOV AX,DSP[BX][SI] 或MOV AX,[DSP+BX+SI]2. 在数据段中有如下定义的数据:WVAL DW 34O,256,178H,116H,28OH,5FFOH请用存储器操作数的5种寻址方式写出将字数据5FFOH传送到AX寄存器的指令序列。
解:①直接寻址方式:MOV AX,[WVAL+OAH]②寄存器间接寻址方式:MOV BX,OFFSET WVALADD BX,OAHMOV AX,[BX]③寄存器相对寻址方式:MOV BX,OAHMOV AX,WVAL[BX] 或MOV AX,[BX+WVAL]④基址变址寻址方式:MOV BX OFFSET WVAL MOV SI , OAHMOV AX [BX+SI]或 MOV AX [BX][SI] ⑤ 相对基址变址寻址方式:MOV BX 08HMOV S , 02HMONAX, WVAL[BX+SI]或 MOVAX, WVAL[BX][SI]或 MOVAX[WVAL+BX+SI]汇编语言练习题:第二章寻址方式和指令系统文章来源:互联网 编辑:lux in 加入日期:2008-11-22 点击:4055.若 AX=2000H,CL=90H ,贝V DIV CL 执行后,AX=rr6. 若 BL=83H,CF=1,贝VADC BL,90H 执行后,BL=1.MOV AX,ES:[1000H] r源操作数的寻址方式是:A.立即寻址B.直接寻址C. 变址寻址D. 基址寻址2.MOV AX,ES:COUNT[DI] r源操作数的寻址方式是:A. 基址寻址B.立即寻址C.变址寻址D.基址变址寻址3.MOV DX,COUNT[BP][DI]的源操作数的寻址方式是:A. 变址寻址B. 基址寻址C.直接寻址D.基址变址寻址4. 若 AX=1020H,BX=1200H,CF=1,r A. 0EF1FH rC. 0FE1FH则SBB AX,BX 的执行结果为:rB. 0FEFFHD. 0FE21HA.8038HB. 8039HC. 9138HD. 8138HA. 15HB. 16HC. 17HD. 14H7. 若DX=1010H,则AND DX,DX 的执行结果为A. 0000HB. 1111HC. 1010HD. FFFFH8. 指令MOV BX,MASK[BP], 若MASK=3500H,SS=1200H,DS=1000H,BP=1000H, 那么物理地址为:A. 17500HB. 16500HC. 14500HD. 13500H9. 指令MOV AX,COUNT[BX], 若C0UNT=0400H,SS=1200H,DS=1000H,BX=5000H, 那么物理地址为:A. 17400HB. 17000HC. 15400HD. 14500H10. 指令MOV DX,DELTA[BX][SI], 若DELTA=1300H,SS=7200H,DS=5400H,BX=0500H,SI=4000H, 地址那么物理为:P rA. 6F300HB. 77800HC. 59800HD. 78700H参考答案1.B2.C3.D4.C5.A6.D7.C8.B9.C 10.CC COMMOND 、STACK汇编语言练习题:第三章宏汇编语言 文章来源:互联网编辑:lux in加入日期:2008-11-22 点击:1. 源程序结束语句为A ENDP2.SKY: MOV AL,20H 中操作数为rA 、MOVr 亠C AL 或 20H3. 下列为不合法的标志符的是r A AXYZrC @ATT4. 下列地址表达式正确的是5. NEAR 标号的类型值为rA 26. 组合类型中本段与其它段无逻辑关系,每段均有自己的基址的组合类型是C END MAIND 、ENDD 、-2A NONEB PUBLIC451B 、ENDSB 、SKYA [BX-SI]B 、[BP-DI]C [BX+2]D 、[BP+BX]D AL 和 20HB 、5SKYD 、?ABCB -17.下面哪一个命令是显示内存单元的内容?A、D命令C F命令B E命令D R命令8.能被计算机直接识别和执行的指令是:A、符号指令B、机器指令C伪指令D宏指令9.取变量偏移属性的分析运算符是:rA OFFSET rC SIZE B TYPED SEG10.分析运算符LENGTH只有用()定义的变量才有意义。
rA、表达式B字符串rC DUP r “D、疑冋号11.在段定义中, rA PAGE rC WORD )是默认的定位类型。
rB PARAD BYTErA、标号名字域B、助记符域rC操作数域D、注释域参考答案:1、c2、d3、b4、c5、b6、a7、a8、b12.汇编语言指令中唯一不可缺少的域是:9、a 10、c 11、b 12、b汇编语言练习题:第四章程序设计的基本方法 文章来源:互联网编辑:lux in加入日期:2008-11-22 点击:1. 段内直接转移指令采用的寻址方式是:crA 、直接寻址B 相对寻址C 绝对寻址厂 D 、间接寻址4. 在MOVB 旨令中,其目的串的物理地址为5. 条件转移指令的转移范围r A -128 -- +127rC 0 -- +2556. 执行段间调用指令 CALL 时,首先保护断点的A 段地址和偏移地址B 、段地址C 偏移地址判断题A DS*2*2*2*2+SIB DS*2*2*2*2+DIES*2*2*2*2+SIES*2*2*2*2+DI3652. 下列指令中不等价的是c A JA 和 JNBECC JL 和 JNG3. 下列指令中等价的是rA JC 和 JOcB JG 和 JNLE D 、JBE 和口 JNAB JNC 和 JNOD 、JA 和 JGB -32768 -- +32767D 、0 -- +655351. Yes No 无条件转移指令对标志位无影响,而条件转移指令对标志位有影响。
2. Yes No 间接转移指令都可以通过寄存器来寻址。
3. Yes No 段间间接转移指令中,低地址的字送IP,高地址的字送CS4. Yes No 所有串操作指令的源串的段地址均取自于段寄存器DS:5. Yes No 串操作指令一般用CX存放长度:6. Yes No 约定寄存器法适合于参数较多的情况:广广7. Yes No 用赋值法编写子程序时,子程序内必须修改返回地址:r r8. Yes No RET N指令中,N可为任意值:选择题答案:1.B2.C3.C4.D5.A6.A判断题答案:1. 2. 3. 4.5. 6. 7. 8.汇编语言练习题:五章输入输出和中断调用文章来源:互联网编辑:lux in 加入日期:2008-11-22 点击:410选择题(每题只有一个正确的选项,一题十分,共50分)1.中断服务程序入口地址占用()个字节r rA. 4B. 6C. 2D.12.INT 1AH指令执行的结果高位字存在()中A. AXB. BXC. CXD. DX3.DOS系统功能调用的屏幕显示字符是()号调用A. 1B. 4C. 5D. 24.2BH DOS 功能调用中,月份送给()寄存器判断题(在正确的题目前打钩,错误的不必打钩,一题十分,共 30分)cC 1. Yes No IN AL ,DX 是将一个字节由输入端口传送至 AL Cn 2. Yes No 所有中断过程均可用 IRET 指令退岀r r 3.Yes No 8号类型的中断向量在中断向量表中的地址是 2*81. 2. 3. 汇编语言练习题:第六章常用程序设计文章来源:互联网 编辑:lux in 加入日期:2008-11-22 点击:309 选择题1.十进制数运算调整指令 AAS 可以紧跟在()之后:3. ()查表发的特点是速度快、效率高,但计算复杂C. ALD. AH5.键盘中断调用( 16H ) 的0号功能是将读入字符的 rA.AHr B.AL r C.BH r D.BL答案:1.A 2.C 3.D 4.A 5.BASCII 码送入() A. DHB. DLA SBBB 、DEC C CMPD NEG2. 除法调整指令 AAD 是对()调整:A AX 中组合的十进制被除数B 、AL 中组合的十进制的商数C AX 中未组合的十进制被除数D 、AL 中未组合的十进制的商数A 、计算B 、顺序 A AFD 、OF5.在一张降序表中要插入一个关键字为 KEY 的项,则首先必须找到第一个(KEYi < KEY判断题 r i. r Yes No 指令AAA 必须紧跟在加法指令之后使用。