汇编语言基础练习题目
《汇编语言》练习题库
《汇编语言》练习题库
汇编语言是计算机硬件和软件之间的桥梁,是一种基于机器指令的
低级程序设计语言。
掌握汇编语言对于理解计算机的工作原理和进行
底层编程具有重要意义。
下面是一份《汇编语言》练习题库,旨在帮
助读者巩固和应用所学知识。
一、基础题
1. 使用汇编语言编写一个程序,实现两个数相加的功能。
2. 编写一个汇编语言程序,将一个字符串逆序输出。
3. 设计一个程序,判断一个数是否为偶数。
4. 编写一个程序,实现一个简单的计算器,可以进行加减乘除运算。
二、中级题
1. 设计一个程序,实现排序算法中的冒泡排序。
2. 编写一个汇编语言程序,判断一个字符串是否为回文串。
3. 设计一个程序,将一个数组中的奇数和偶数分别存放在两个新的
数组中。
4. 编写一个程序,实现一个简单的文本编辑器,可以实现插入、删除、替换等功能。
三、高级题
1. 设计一个程序,实现图像的旋转和缩放功能。
2. 编写一个汇编语言程序,实现一个简单的操作系统。
3. 设计一个程序,实现一个简易的数据库系统,可以进行数据的增删查改操作。
4. 编写一个程序,实现一个简单的网络聊天室。
以上是《汇编语言》练习题库的部分题目,通过做题可以提高对汇编语言的理解和应用能力。
同时,建议读者在做题的过程中,结合教材和其他学习资料,加深对汇编语言的学习和掌握。
祝愿大家在汇编语言的学习中取得优异的成绩!。
汇编语言题库及部分答案
汇编语言题库及部分答案一、单项选择题1、在下列的选项中,能够组成计算机系统的是(A )。
A.硬件系统和软件系统B.CPU、存储器、输入/输出设备C.操作系统、各种语言D.系统软件和应用软件2、汇编语言属于( B )。
A.用户软件B.系统软件C.高级语言D.机器语言3、汇编语言源程序经汇编程序汇编后产生的文件的扩展名是(B )。
A.EXE B.OBJ C.ASM D.LST4、汇编语言的什么文件经链接(LINK)后产生可执行文件?(D) A.ASM B.EXE C.LST D.OBJ5、中央处理器CPU是由(D )组成的。
A.运算器B.控制器C.寄存器组D.前三者6、IBM PC机的DOS是属于( B )。
A.用户软件B.系统软件C.系统硬件D.一种语言7、汇编语言源程序是( A )程序。
A.不可直接执行的B.可直接执行的C.经汇编程序汇编后就可执行的D.经连接后就可直接执行的8、8086/8088 CPU的寄存器组中,8位的寄存器共有(C )个。
A.4B.6C.8D.109、8086/8088 CPU的寄存器组中,16位的寄存器共有(D )个。
A.10B.12C.13D.1410、8086/8088 CPU执行算术运算时PSW共有( C )个标志位会受影响。
A.4B.5C.6D.711、在程序执行过程中,IP寄存器始终保存的是(B )。
A.上一条指令的首地址B.本条指令的首地址。
C.下一条指令的首地址D.需计算有效地址后才能确定地址。
12、IBM PC机的存储器可分( D )个段。
A.4B.256C.512D.6553613、当使用BP作编程地址时,此时使用的是(D )段。
A.CSB.DSC.ESD.SS14、如果指令的运算结果为0,则( C )标志位为1。
A.SFB.OFC.ZFD.CF15、如果指令的运算结果中有奇数个1,则(A )标志位为0。
A.PFB.CFC.OFD.SF16、IBM PC机的内存是按(B )是编址的。
汇编语言试题及答案
汇编语言试题及答案一、单项选择题(每题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. 汇编语言是一种()。
A. 高级语言B. 机器语言C. 低级语言D. 面向对象语言答案:C2. 在汇编语言中,指令通常由()组成。
A. 操作码和操作数B. 操作数和地址C. 操作码和地址D. 操作码、操作数和地址答案:A3. 汇编语言中的寄存器通常用来()。
A. 存储数据B. 存储指令C. 存储程序D. 存储地址答案:A4. 汇编语言中的指令MOV AX, BX的作用是()。
A. 将AX寄存器的值移动到BX寄存器B. 将BX寄存器的值移动到AX寄存器C. 将AX和BX寄存器的值相加D. 将AX和BX寄存器的值相减答案:B5. 汇编语言中的循环结构通常使用()指令实现。
A. JZB. JNZC. LOOPD. CALL答案:C二、填空题1. 汇编语言中的指令ADD AX, BX表示将AX和BX寄存器的值相加,并将结果存入____寄存器。
答案:AX2. 汇编语言中的指令SUB AX, BX表示将AX寄存器的值减去BX寄存器的值,并将结果存入____寄存器。
答案:AX3. 汇编语言中的指令CMP AX, BX用于比较AX和BX寄存器的值,但不进行存储操作,结果影响____标志。
答案:标志寄存器4. 汇编语言中的指令JMP LABEL用于无条件跳转到标签____处执行。
答案:LABEL5. 汇编语言中的指令PUSH AX将AX寄存器的值压入____。
答案:堆栈三、简答题1. 简述汇编语言与机器语言的区别。
答案:汇编语言是一种低级语言,它使用助记符来表示机器语言的指令,更易于人类理解和编写。
机器语言则是由二进制代码组成的指令集,直接被计算机硬件执行,但对人类来说难以阅读和编写。
2. 描述汇编语言中如何实现条件跳转。
答案:汇编语言中实现条件跳转通常使用条件跳转指令,如JZ(跳转如果零)、JNZ(跳转如果非零)、JMP(无条件跳转)等。
这些指令根据CPU的状态寄存器中的条件码标志来决定是否跳转到指定的标签处执行。
汇编练习题
汇编语言练习题一、基础知识类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章_汇编语言基础习题答案
(完整版)第1章_汇编语言基础习题答案第1章汇编语言基础1.1 简答题(1)哪个处理器的指令系统成为Intel 80x86系列处理器的基本指令集?8086(2)ROM-BIOS 是什么?ROM-BIOS是固化在只读存储器中的基本输入输出系统,是PC 软件系统最低层的程序。
(3)什么是通用寄存器?一般指处理器最常使用的整数寄存器,可用于保存整数数据、地址等(4)堆栈的存取原则是什么?采用先进后出FILO或者后进先出LIFO的操作方式。
(5)标志寄存器主要保存哪方面的信息?用于反映指令执行结果或控制指令执行形式。
(6)最高有效位MSB是指哪一位?数据的最高位,例如对8、16、32位数据,MSB依次指D7、D15和D31位(7)汇编语言中的标识符与高级语言的变量和常量名的组成原则有本质的区别吗?没有(8)汇编语言的标识符大小写不敏感意味着什么?表示字母大小写不同、但表示同一个符号(9)在汇编语言源程序文件中,END语句后的语句会被汇编吗?不会(10)汇编时生成的列表文件主要包括哪些内容?主要包含源程序和目标代码。
1.2 判断题1)EAX也被称为累加器,因为它使用最频繁。
对,EAX中的A来自英文累加器(Accumulator)6)处理器的传送指令MOV属于汇编语言的执行性语句对7)汇编语言的语句由明显的4部分组成,不需要分隔符区别。
错,使用了分隔符才有了明显的4部分8)MASM汇编语言的注释用分号开始,不能用中文分号对,源程序中的分隔符以及各种标识符都是英文9)程序终止执行也就意味着汇编结束,所以两者含义相同。
错,两者完全是两个概念1.3 填空题(1)Intel 8086支持( ) 容量主存空间,IA-32处理器支持( ) 容量主存空间。
1MB ,4GB(2)Intel ( ) 处理器将80x86指令系统升级为32位指令系统,()处理器内部集成浮点处理单元、开始支持浮点操作指令。
80386,80486(3)IA-32处理器有8个32位通用寄存器,其中EAX,(),( )和EDX,可以分成16位和8位操作;还有另外4个是( ),( ),( ),和( )。
计算机技术汇编语言试题含答案
计算机技术汇编语言试题含答案第一部分:选择题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 的功能。
汇编语言试题及答案
汇编语言试题及答案一、选择题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.在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。
汇编试题答案
汇编试题答案试题名称:汇编语言基础测试试题编号:001考试时间:90分钟考试说明:本试题旨在测试考生对汇编语言基础的掌握程度,包括指令集、寄存器、内存操作等。
请考生仔细阅读题目,认真作答。
一、选择题(每题2分,共20分)1. 下列哪一项不是汇编语言中的指令类型?A. 数据传输指令B. 算术运算指令C. 逻辑运算指令D. 条件跳转指令2. 在汇编语言中,哪个寄存器通常用于存储程序的当前指令地址?A. AXB. BXC. IP(指令指针)D. SP3. 汇编语言中的MOV指令用于执行什么操作?A. 算术加法B. 逻辑与操作C. 数据传输D. 条件跳转4. 以下哪个指令用于将AX寄存器的内容复制到BX寄存器?A. MOV AX, BXB. MOV BX, AXC. ADD AX, BXD. SUB BX, AX5. 下列哪个指令用于将立即数10加到AX寄存器?A. ADD AX, 10B. MOV AX, 10C. INC AXD. DEC AX...(此处省略其他选择题)二、填空题(每空2分,共20分)1. 在汇编语言中,用于将内存地址1000H:0200H处的数据传送到AX 寄存器的指令是________。
2. 汇编语言中的________指令用于将数据从寄存器传送到内存。
3. 汇编语言中的________指令用于比较两个寄存器或寄存器与立即数的大小。
4. 汇编语言中的JMP指令用于实现________。
5. 在汇编语言中,________指令用于将累加器AL的内容扩展到AX寄存器。
...(此处省略其他填空题)三、简答题(每题10分,共20分)1. 解释汇编语言中的堆栈概念,并说明如何使用PUSH和POP指令。
2. 描述汇编语言中循环结构的实现方式及其用途。
四、编程题(每题15分,共40分)1. 编写一个汇编程序,实现将AX寄存器中的值与立即数5相加,并将结果存储回AX寄存器。
2. 设计一个汇编程序,实现从内存地址2000H开始的数组中查找最大值,并将其存储在BX寄存器中。
汇编语言试题及答案
汇编语言试题及答案在此提供一篇长度超过2000字的文章,包含汇编语言试题及答案。
文章排版整洁美观,语句通顺,全文表达流畅,无影响阅读体验的问题。
文章中不包含网址链接。
请注意,为了保持文章的可读性,我将不使用特定的合同或作文格式。
以下是试题及答案:汇编语言试题及答案第一部分:选择题1. 汇编语言是一种与计算机底层直接交互的语言,它是一种________。
A. 低级语言B. 高级语言C. 自然语言D. 人工语言2. 汇编指令通常由________组成。
A. 字节B. 字C. 双字D. 指针3. 汇编语言最基本的操作单元是________。
A. 指令B. 寄存器C. 内存单元D. 字节4. 哪个寄存器用于保存程序执行的当前地址?A. AXB. BXC. IPD. SP5. 在汇编语言中,ADD指令的作用是________。
A. 从内存中读取数据B. 将两个数相加C. 将某个寄存器的值加1D. 将数据写入内存6. 在8086汇编语言中,DW是什么的缩写?A. Double WordB. Data WordC. Define WordD. Data Width7. JMP指令用于________。
A. 跳转到程序指定的地址B. 变量声明C. 将寄存器的值减1D. 在屏幕上显示字符8. 在汇编语言中,数据可以以________的形式表示。
A. 二进制B. 十进制C. 十六进制D. 所有上述形式9. 在8086汇编语言中,MOV指令的作用是________。
A. 将数据复制到一个寄存器或内存位置B. 将寄存器的值加1C. 跳转到程序指定的地址D. 读取屏幕上的字符10. 汇编语言编写的程序需要经过________才能在计算机上运行。
A. 编译B. 解释C. 加密D. 校验第二部分:简答题1. 简要解释一下汇编语言和机器语言的区别。
汇编语言是一种接近机器语言的低级语言,使用助记符来代替机器指令的二进制码。
汇编语言通过编译器将其转换为机器语言,然后由计算机执行。
(完整版)汇编语言试题及答案
一,单项选择题(每小题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进制形式显⽰出来。
汇编语言基础试题
第一章基本知识一、单项选择题(共40分,每题2分)1.若十进制数为132.75,则其十六进制数为(B)A.21.3B.84.CC.4.6D.62.若[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)。
汇编语言考试题库及答案
汇编语言考试题库及答案一、选择题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位的偏移地址,物理地址= 段地址×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。
三、计算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=9EH。
3.在存储器中依次划分数据段和代码段,已知数据段的大小为251个字节,设操作系统分配给数据段的起始地址为1A580H,请计算出代码段的起始地址。
解:251个字节,即FBH个字节。
因为段的起始偏移地址为0000H,所以代码段的起始物理地址为:1A580H+FBH-01H=1A67AH。
4.存储器中存放的数据如下图所示,请写出05421H和05422H字单元的内容。
解:在本题中,需要知道数据在存储器中存放的原则是:低位字节存入低地址单元,高位字节存入高地址单元;以及字单元的地址是用低位字节单元的地址表示的;一个字单元占用连续的两个字节单元的地址。
了解这些知识后,解此题就相当简单了。
(05421H)=6C88H,(05422H)=D86CH。
四、简答1.在数据段中有如下定义的数据:BVAL DB 0C8H,58H设BVAL=257AH,BX=178AH,SI=0DF0H,DI=0DE0H,BP=257AH;偏移量:DSP=10H,DIP=0DF0H。
请用存储器操作数的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]④基址变址寻址方式: MOV AX,[BX+SI] 或 MOV AX,[BX][SI]⑤相对基址变址寻址方式:MOV AX,DSP[BX+SI] 或 MOV AX,DSP[BX][SI] 或 MOV AX,[DSP+BX+SI]2. 在数据段中有如下定义的数据:WVAL DW 340,256,178H,116H,280H,5FF0H请用存储器操作数的5种寻址方式写出将字数据5FF0H传送到AX寄存器的指令序列。
解:①直接寻址方式:MOV AX,[WVAL+0AH]②寄存器间接寻址方式:MOV BX,OFFSET WVALADD BX,0AHMOV AX,[BX]③寄存器相对寻址方式:MOV BX,OAHMOV AX,WVAL[BX] 或 MOV AX,[BX+WVAL]④基址变址寻址方式:MOV BX,OFFSET WVALMOV SI,0AHMOV AX,[BX+SI] 或 MOV AX,[BX][SI]⑤相对基址变址寻址方式:MOV BX,08HMOV SI,02HMOV AX,WVAL[BX+SI] 或 MOV AX,WVAL[BX][SI] 或 MOV AX,[WVAL+BX+SI]汇编语言练习题:第二章寻址方式和指令系统文章来源:互联网编辑:luxin 加入日期:2008-11-22 点击:4051.MOV AX,ES:[1000H] 源操作数的寻址方式是:A. 立即寻址B. 直接寻址C. 变址寻址D. 基址寻址2.MOV AX,ES:COUNT[DI] 源操作数的寻址方式是:A. 基址寻址B. 立即寻址C. 变址寻址D. 基址变址寻址3.MOV DX,COUNT[BP][DI]的源操作数的寻址方式是:A. 变址寻址B. 基址寻址C. 直接寻址D. 基址变址寻址4.若AX=1020H,BX=1200H,CF=1,则SBB AX,BX的执行结果为:A. 0EF1FHB. 0FEFFHC. 0FE1FHD. 0FE21H5.若AX=2000H,CL=90H,则DIV CL执行后,AX=A. 8038HB. 8039HC. 9138HD. 8138H6.若BL=83H,CF=1,则ADC BL,90H执行后,BL=A. 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],若COUNT=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,那么物理地址为:A. 6F300HB. 77800HC. 59800HD. 78700H参考答案1.B2.C3.D4.C5.A6.D7.C8.B9.C 10.C汇编语言练习题:第三章宏汇编语言文章来源:互联网编辑:luxin 加入日期:2008-11-22 点击:451 1.源程序结束语句为:A、ENDPB、ENDSC、END MAIND、END2.SKY: MOV AL,20H中操作数为:A、MOVB、SKYC、AL或20HD、AL和20H3.下列为不合法的标志符的是:A、AXYZB、5SKYC、@ATTD、?ABC4.下列地址表达式正确的是:A、[BX-SI]B、[BP-DI]C、[BX+2]D、[BP+BX]5.NEAR标号的类型值为:A、2B、-1C、4D、-26.组合类型中本段与其它段无逻辑关系,每段均有自己的基址的组合类型是:A、NONEB、PUBLICC、COMMOND、STACK7.下面哪一个命令是显示内存单元的内容?A、D命令B、E命令C、F命令D、R命令8.能被计算机直接识别和执行的指令是:A、符号指令B、机器指令C、伪指令D、宏指令9.取变量偏移属性的分析运算符是:A、OFFSETB、TYPEC、SIZED、SEG10.分析运算符LENGTH只有用()定义的变量才有意义。
A、表达式B、字符串C、DUPD、疑问号11.在段定义中,()是默认的定位类型。
A、PAGEB、PARAC、WORDD、BYTE12.汇编语言指令中唯一不可缺少的域是:A、标号名字域B、助记符域C、操作数域D、注释域参考答案:1、c2、d3、b4、c5、b6、a7、a8、b9、a 10、c 11、b 12、b汇编语言练习题:第四章程序设计的基本方法文章来源:互联网编辑:luxin 加入日期:2008-11-22 点击:365 1.段内直接转移指令采用的寻址方式是:A、直接寻址B、相对寻址C、绝对寻址D、间接寻址2.下列指令中不等价的是:A、JA和JNBEB、JG和JNLEC、JL和JNGD、JBE和JNA3.下列指令中等价的是:A、JC和JOB、JNC和JNOC、JP和JPED、JA和JG4.在MOVB指令中,其目的串的物理地址为:A、DS*2*2*2*2+SIB、DS*2*2*2*2+DIC、ES*2*2*2*2+SID、ES*2*2*2*2+DI5.条件转移指令的转移范围:A、-128 -- +127B、-32768 -- +32767C、0 -- +255D、0 -- +655356.执行段间调用指令CALL时,首先保护断点的:A、段地址和偏移地址B、段地址C、偏移地址判断题1. Yes No 无条件转移指令对标志位无影响,而条件转移指令对标志位有影响。
2. Yes No 间接转移指令都可以通过寄存器来寻址。
3. Yes No 段间间接转移指令中,低地址的字送IP,高地址的字送CS。
4. Yes No 所有串操作指令的源串的段地址均取自于段寄存器DS:5. Yes No 串操作指令一般用CX存放长度:6. Yes No 约定寄存器法适合于参数较多的情况:7. Yes No 用赋值法编写子程序时,子程序内必须修改返回地址:8. Yes No RET N指令中,N可为任意值:选择题答案:1.B2.C3.C4.D5.A6.A判断题答案:1. 2. 3. 4.5. 6. 7. 8.汇编语言练习题:五章输入输出和中断调用文章来源:互联网编辑:luxin 加入日期:2008-11-22 点击:410选择题(每题只有一个正确的选项,一题十分,共50分)1.中断服务程序入口地址占用()个字节A. 4B. 6C. 2D. 12.INT 1AH指令执行的结果高位字存在()中A. AXB. BXC. CXD. DX3.DOS系统功能调用的屏幕显示字符是()号调用A. 1B. 4C. 5D. 24.2BH DOS功能调用中,月份送给()寄存器A. DHB. DLC. ALD. AH5.键盘中断调用(16H)的0号功能是将读入字符的ASCII码送入()A.AHB.ALC.BHD.BL答案:1.A 2.C 3.D 4.A 5.B判断题(在正确的题目前打钩,错误的不必打钩,一题十分,共30分)1. Yes No IN AL,DX是将一个字节由输入端口传送至AL2. Yes No 所有中断过程均可用IRET指令退出3. Yes No 8号类型的中断向量在中断向量表中的地址是2*8 1. 2. 3.汇编语言练习题:第六章常用程序设计文章来源:互联网编辑:luxin 加入日期:2008-11-22 点击:309选择题1.十进制数运算调整指令AAS可以紧跟在()之后:A、SBBB、DECC、CMPD、NEG2.除法调整指令AAD是对()调整:A、AX中组合的十进制被除数B、AL中组合的十进制的商数C、AX中未组合的十进制被除数D、AL中未组合的十进制的商数3.()查表发的特点是速度快、效率高,但计算复杂:A、计算B、顺序C、对分D、用XLATA4.在多字节加减运算时,特别要注意标志()对运算的影响:A、AFB、CFC、SFD、OF5.在一张降序表中要插入一个关键字为KEY的项,则首先必须找到第一个()的项:A、KEYi = KEYB、KEYi > KEYC、KEYi < KEY判断题1. Yes No 指令AAA必须紧跟在加法指令之后使用。