汇编语言课堂测验题
- 格式:doc
- 大小:68.50 KB
- 文档页数:6
汇编试题及答案一、选择题(每题2分,共20分)1. 汇编语言中,用于表示立即数的前缀是:A. #B. $C. %D. @答案:A2. 在汇编语言中,以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. ADDC. SUBD. MUL答案:A3. 汇编指令中,用于将寄存器的内容存储到内存中的指令是:A. MOVB. POPC. PUSHD. CMP答案:A4. 以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容进行比较?A. CMPB. MOVC. SUBD. TEST答案:A5. 在汇编语言中,用于实现无条件跳转的指令是:A. JMPB. JZC. JNZD. JS答案:A6. 汇编语言中,用于实现条件跳转的指令是:A. JMPB. JZC. JNZD. JS答案:B7. 以下哪个指令用于将数据从栈中弹出到寄存器中?A. MOVB. POPC. PUSHD. CMP答案:B8. 汇编指令中,用于将数据从寄存器压入栈中的指令是:A. MOVB. POPC. PUSHD. CMP答案:C9. 在汇编语言中,用于实现乘法运算的指令是:A. MULB. DIVC. MODD. ADD答案:A10. 以下哪个指令用于实现除法运算?A. MULB. DIVC. MODD. ADD答案:B二、填空题(每题2分,共20分)1. 汇编语言中,用于表示寄存器的前缀是______。
答案:%2. 在汇编语言中,用于表示内存地址的前缀是______。
答案:@3. 汇编指令中,用于将数据从寄存器移动到内存中的指令是______。
答案:MOV4. 以下哪个指令用于实现逻辑与运算?答案:AND5. 汇编语言中,用于实现逻辑或运算的指令是______。
答案:OR6. 以下哪个指令用于实现逻辑非运算?答案:NOT7. 在汇编语言中,用于实现逻辑异或运算的指令是______。
答案:XOR8. 汇编指令中,用于实现逻辑右移的指令是______。
汇编语言试题及答案一、单项选择题(每题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++语言C.机器语言D.高级语言2.在堆栈段中,存放栈顶地址的寄存器是。
A.IP B.SP C.BX D.BP3.指令指针寄存器IP用来存放代码段中的偏移地址。
在程序运行的过程中,它始终指向。
A.下一条指令的首地址B.下一条指令的地址C.当前指令的首地址D.当前指令的地址4.编译程序的功能是。
A.检查源程序中的语法错误和逻辑错误B.将源程序编译成目标程序C.改正源程序中的语法错误D.将高级语言源程序翻译成汇编语言源程序5.用户为了解决自己的问题,用汇编语言所编写的程序,称为。
A.目标程序B.源程序C.可执行程序D.汇编程序6.计算机中用来存储程序、数据等信息的记忆装置是。
A.控制器B.运算器C.CPUD.存储器7.在宏汇编中,源程序必须通过____编译_______生成目标代码,然后用连接程序将其转化为可执行文件,该文件可在系统中运行。
习题二1当SS=3000H,SP=0100H时,执行PUSH AX指令后,堆栈顶部的物理地址是()A.30100HB.30098HC.30102HD.300FEH2设10000010B分别以原码、补码及反码表示时,则对应的十进制数依次是()A.-82、-126、-2B.-2、-125、126C.-2、-126、-125D.-82、-125、1253标志寄存器中属于控制标志位的是()A.DF,OF,SFB.DF,IF,TFC.OF,CF,PFD.AF,OF,SF4设(AX)=4544H,在执行指令”SUB AH,AL”之后,()A.CF=0,OF=0B.CF=0,OF=1C.CF=1,OF=0D.CF=1,OF=15若寄存器AX、BX、CX、DX的内容分别为18,19,20,21时,依次执行PUSH AX,PUSH BX,POP CX,POP DX后,寄存器CX的内容为______19____________。
计算机技术汇编语言试题含答案第一部分:选择题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.1 分别将下列二进制数作为无符号数和带符号数转换为十进制和十六进制数11010011 01110111 10000011 00101111 101010101.2 十六进制运算1A52H+4438H 3967H-2D81H 37H×12H 1250H×4H1.3 将十进制数变为8位补码并做运算(结果用二进制、十六进制、十进制表示)29+53 73-24 -66+82 -102-151.4 用压缩BCD码计算(结果用二进制、BCD码、十进制表示)29+53 73-24 66+18 132+751.5 符号位扩展(字节扩展为字,字扩展为双字)20A3H 94H 3456H 7FH EC00H1.6 若机器字长为16位,其无符号数表示范围是多少?带符号数表示范围是多少?分别用十进制和十六进制表示。
1.7 写出下列十六进制数所能代表的数值或编码:(1)38H (2)FFH (3)5AH (4)0DH1.8 将下列十进制数分别转换为二进制、十六进制、二进制补码、压缩BCD码和ASCII码:(1)108 (2)46 (3)-15 (4)2541.9 写出下列算式的8位二进制运算结果,标志位CF、SF、ZF、OF分别是什么值?(1)56+63 (2)83-45 (3)-74+29 (4)-12-371.10 查表,指出ASCII码0DH、0AH、07H、1BH、20H、60H、50H、70H对应的控制字符。
测验一单选题:1.已知X=76,则[X]补= 。
A. 76HB. 4CHC.0B4HD.0CCH2.已知[X]补=80H,则X= 。
A. 80HB. 0C. 0FFHD. -80H3.已知[X]补=98H,则[X]补/2= 。
A. 0CCHB.4CHC. 49HD. 31H4.已知X=78,Y=-83,则[X+Y]补= 。
A. 0F5HB. 0A1HC. 0FBHD. 65H5.将124转换成十六进制数的结果是A. 7CHB. 7DHC. 7EHD. 7BH6.将93H看成一个压缩BCD码,其结果是A. 10010101B. 10010011C.10000011D.100000017.45转换成二进制数是A.10101101B.00111101C. 00101101D. 100111018.6CH转换成十进制数是A. 118B. 108C. 48D. 689.将93H扩展为字的结果是A. FF93HB. 0093HC. 1193HD. 1093H10.56的压缩BCD码是A. 38HB. 56HC. 0506HD. 3536H11.ASCII中的47H表示的字符是A. “7”B. “G”C. “g”D. “E”12.十进制数-128的8位二进制数的补码为A. 11111110B. 01111111C. 10000000D. 1000000113.下列为补码表示,其中真值最大的是A. 10001000B.11111111C.00000000D.0000000114.十六进制数88H,可表示成下面几种形式,请找出错误的表示A. 无符号十进制数136B. 带符号十进制数-120C. 压缩BCD码十进制数88D. 8位二进制数-8的补码15.计算机对字符、符号采用统一的二进制编码。
汇编语言试题及答案一、选择题(每题2分,共20分)1. 在汇编语言中,以下哪个指令用于将数据从内存读取到寄存器中?A. MOVB. CMPC. JMPD. CALL答案:A2. 汇编语言中的指令MOV AX, 1234H的作用是什么?A. 将立即数1234H存入AX寄存器B. 将内存地址1234H的内容存入AX寄存器C. 将AX寄存器的内容存入内存地址1234HD. 将AX寄存器的内容与1234H进行比较答案:A3. 在汇编语言中,CS、DS、SS、ES分别代表什么?A. 代码段、数据段、堆栈段、附加段B. 代码段、数据段、堆栈段、扩展段C. 代码段、数据段、附加段、扩展段D. 代码段、堆栈段、数据段、附加段答案:A4. 以下哪个指令用于将一个寄存器的内容移动到另一个寄存器?A. MOVB. CMPC. JMPD. CALL5. 汇编语言中,以下哪个指令用于实现无条件跳转?A. JMPB. JEC. JNED. JB答案:A6. 汇编语言中的循环结构通常使用哪些指令来实现?A. JMPB. JZC. LOOPD. CALL答案:C7. 在汇编语言中,以下哪个指令用于实现条件跳转?A. MOVB. CMPC. JZD. CALL答案:C8. 汇编语言中,以下哪个指令用于实现子程序调用?A. MOVB. CMPC. CALLD. JMP答案:C9. 汇编语言中,以下哪个指令用于实现子程序返回?B. CMPC. RETD. JMP答案:C10. 在汇编语言中,以下哪个指令用于实现数据比较?A. MOVB. CMPC. JZD. CALL答案:B二、填空题(每题2分,共20分)1. 在汇编语言中,指令`MOV AX, [BX]`的作用是将______的内容移动到______寄存器中。
答案:内存地址BX指向,AX2. 汇编语言中,指令`ADD AX, 5`的作用是将AX寄存器的内容与______相加。
答案:53. 汇编语言中,指令`SUB AX, BX`的作用是将AX寄存器的内容与______寄存器的内容相减。
汇编语言试题及答案一、选择题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)的原则。
汇编语言模拟试题及答案一、选择题(每题2分,共20分)1. 汇编语言是一种:A. 高级语言B. 低级语言C. 机器语言D. 脚本语言2. 在汇编语言中,指令MOV AX, [BX]表示:A. 将AX寄存器的内容移动到BX寄存器B. 将BX寄存器的内容移动到AX寄存器C. 将BX指向的内存地址中的数据移动到AX寄存器D. 将AX寄存器的内容存储到BX指向的内存地址3. 以下哪个指令用于将立即数送入寄存器?A. MOV AX, 5B. MOV AX, BXC. MOV AX, [BX]D. MOV [BX], AX4. 汇编语言中,哪个指令用于无条件跳转?A. JMPB. JEC. JNED. JG5. 下列哪个指令用于比较两个寄存器的内容?A. CMP AX, BXC. ADD AX, BXD. SUB AX, BX6. 汇编语言中,哪个指令用于实现循环操作?A. LOOPB. JUMPC. CALLD. RET7. 在汇编语言中,哪个指令用于实现子程序的调用?A. MOVB. ADDC. CALLD. JMP8. 汇编语言中,哪个指令用于实现子程序的返回?A. MOVB. ADDC. RETD. JMP9. 汇编语言中,哪个指令用于实现条件跳转?A. MOVB. CMPC. JED. JMP10. 下列哪个指令用于将AX寄存器的内容与立即数进行比较?A. CMP AX, BXB. MOV AX, 5D. SUB AX, 5答案:1. B2. C3. A4. A5. A6. A7. C8. C9. C10. D二、填空题(每空2分,共20分)11. 汇编语言的指令MOV AX, BX表示将________寄存器的内容移动到________寄存器。
12. 汇编语言中的指令JMP用于实现________。
13. 汇编语言中的指令LOOP用于实现________。
14. 汇编语言中的指令CALL用于实现________。
汇编语言课堂测验题1一、填空题:1.Intel 8086 CPU的字长为_______位,地址总线为_______位,寻址范围为_______。
2.设SS=2000H,SP=2,AX=BX=1234H,顺序执行PUSH AX, PUSH BX后,SP=_______,AX=_______,BX=_______。
3. 8088的I/O寻址范围为___________。
4.逻辑地址为1234h:1234h,其物理地址是___________。
5.字符'0'的ASCII码为___________;6.已知单字节定点整数X的补码是00011100B,Y的补码是00110001B,求X-Y的十进制真值是______。
7.运算器包括算术逻辑部件(ALU),用来对数据进行算术、逻辑运算,运算结果的一些特征由___________寄存器储存。
8.一个有16个字的数据区,它的起始地址为70A0H:DDF6H,那么该数据区的最后一个字单元的物理地址为______________。
9.8086CPU的物理地址是指实际的20位主存单元地址,每个存储单元对应唯一的物理地址,其范围是_________________ 。
10.假定(AX)=96H,(BX)=65H,依次执行ADD AX,BX和DAA 指令后,(AL)=___ ___。
二、判断下述指令或表述的正误。
正确的打“√”,错误的打“×”:(1) MOV AH,BL (2) MOV [SI],[BX](3) MOV AX,[SI][DI] (4) MOV AX,[BX][BP](5) MOV [BX],ES:AX (6) MOV BYTE PTR[BX],1000(7) MOV AX,OFFSET [SI] (8) MOV CS,AX(9) MOV DS,BP (10)RCL DX, 2(11)LDS BX,[BX] (12) DIV 1000H三、编写利用循环移位指令实现下列功能的指令序列:1)移位后AX中内容高8位与低8位交换;2)移位后AX中内容不变;3)移位后AX清0;4)移位后AX低8位清0,高8位存放原来低8位的值;四、编写满足下列要求的程序段:1)使AX中低4位清零。
2)使BX中高4位置“1”。
3) 使CX中低4位变反。
微机原理复习基本概念1.掌握计算机中的数和编码系统二、十、十六进制的相互转换,无符号数、带符号数、真值、机器数的区别,原码、反码、补码、真值之间的相互转换方法,位、字节和字长的概念,十进制数用8421BCD码表示,ASCII码与国标码的区别,而进制数的加、减、乘、除算术运算,二进制数的与、或、非、异或逻辑运算,进位和溢出的概念。
2.掌握系统组成微处理器、微型计算机、微型计算机系统的概念,微机系统组成框图及各部分的主要功能,指令和程序的概念,软件的分类,软、硬件的关系。
掌握计算机主要技术性能指标(字长、内存容量、主频、运算速度、存取周期)的含义。
通过简化的微型计算机的初步理解计算机的工作过程,建立起整机的概念。
了解微机的工作环境。
8086中20位地址的形成,8086存储器的分段方法。
3.理解8086微处理器的内部结构、引脚功能和定时关系8086的寄存器结构和功能结构、最小组态,主要引脚的功能,指令周期、总线周期、时钟周期的概念,能看懂存储器读和存储器写典型时序图。
4.掌握8086主要寻址方式立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、基址变址寻址、串寻址、端口寻址和隐含寻址。
掌握8086中的标志寄存器各位的含义。
掌握8086主要常用指令的功能数据传送类、算术运算类、逻辑运算类、转移类、移位类、串操作类、处理器操作类指令中的常用指令。
5.汇编语言以Intel8086 CPU 为背景,了解汇编语言的特点、汇编语言的基本语法。
掌握常用汇编伪指令的含义和用法:符号定义伪指令、数据定义伪指令、段和模块定义伪指令和过程定义伪指令。
了解其他伪指令的含义和用法。
掌握汇编语言程序的格式和运算方法。
.掌握汇编语言程序中返回DOS的方法。
了解其他常用的系统功能调用。
6.基本程序设计方法理解顺序程序、分支程序、循环程序、含子程序的程序的基本方法,能读写、运行、调试简单的汇编语言程序,如数据传送、比较、求和等简单程序。
7.存储器理解存储器分类,性能指标,典型芯片,8086存储器结构,重点掌握存储器与微处理器的连接。
微机原理练习题1.8086CPU由哪两个部分组成?它们的主要功能是什么?2.8086有多少条地址线?允许访问多少个存储器地址?8086存储器为什么要分段?怎样分段?3.什么叫总线周期?8086系统中的总线周期由几个时钟周期组成?如果一个CPU的主时钟频率为25MHZ,问一个时钟周期是多少?一个基本总线周期是多少?4.在总线周期的T1、T2、T3、T4状态CPU分别执行什么动作?什么情况需要插入T w?5.在T1状态下,数据/地址线上是什么信息?用哪个信号将此信息锁存起来?数据信息是在什么时候给出的?用时序图表示出来。
6.状态标志和控制标志有何不同?8086的状态标志和控制标志分别有哪些?7.8086是怎样解决地址线和数据线的复用问题的?ALE信号何时处于有效电平?8.8086系统在最小模式时应该怎样配置?9.RESET信号到来时,系统从何处开始启动?10.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的寻址?11.直接寻址方式中,一般只指出操作数的偏移地址,但段地址如何确定?12.用增、减量指令设计程序时,其后不能用标志位作为判断的依据,为什么?13.条件转移指令均为相对转移指令,请解释“相对转移”的含义。
若需要向较远的地方进行条件转移,该怎么办?14.设存储器内数据段中存放了两个字2FE5H、3EA8H,数据存放的偏移地址为4F25H和3E5AH,已知(DS)=3500H。
画图说明这两个字的存放情况,若要读取这两个字,需要对存储器进行几次读操作?15.非屏蔽中断有什么特点?可屏蔽中断有什么特点?16.非屏蔽中断处理子程序的入口地址如何寻找?17.一个非屏蔽中断或者可屏蔽中断响应后,堆栈顶部四个单元中是什么内容?18.软件中断有那些特点?19.中断向量表的作用是什么?它放在内存的什么区域?中断类型9的中断向量指针是什么?20.若中断向量表中0040H单元内容为240BH,0042H单元内容为0D169H,问:1)对应的中断类型是什么?2)该中断服务程序的入口地址是什么?21.写出下列存储器地址的段地址、偏移地址和物理地址:1)2314H:0035H2)1FD0H:00A0H3)0000H:0100H4)3FB0H:0035H22.判断下列指令书写是否正确:1)MOV AL,BX2)XCHG CS,AX3)IN BX,DX4)MOV AL,CL5)INC [BX]6)MOV 5,AL7)MOV [BX],[SI]8)MOV DX,F5H9)MOV DX,2000H10)POP CS11)PUSH CS23.设(SP)=2000H,(AX)=3000H ,(BX)=5000H,问:1)执行指令PUSH AX 后SP=?2)再执行指令PUSH BX 和POP AX 后SP=?AX=?BX=?24.假如(AL)=20H,(BL)=10H,当执行CMP AL,BL后,问:1)若是两个无符号数比较,结果如何?2)若是两个有符号数比较,结果如何?25.将62A0H与下列各数相加,试给出和数及标志AF、SF、ZF、CF、OF、PF的状态:1)1234H2)4321H3)0CFA0H26.试分析在下列程序段执行完后,A单元的内容是什么?DA TA SEGMENTA DW 1B DW 2C DW 3DA TA ENDSCODE SEGMENT……MOV BX,OFFSET AMOV AX,[BX]MOV B,AXMOV AX,2[BX]ADD AX,BMOV A,AX……CODE ENDS27.编写一段程序,实现下列要求:1)使AX的低4位清零,其余位不变。
2)使AX的低4位不变,高4位取反。
28.编写一段程序,将两位组合的BCD数转换成ASCII码,并存放于指定单元中。
29.已知程序段如下:MOV AX,1234HMOV CL,3ROL AX,CLDEC AXMOV CX ,4MUL CX……1)每条指令结束后,AX的内容是什么?2)程序结束时,AX、CX的内容是什么?30.在编写乘除法程序时,为什么常用移位指令来代替乘除法指令?编写一段程序,实现将BX中的数除以10,结果仍然放在BX中。
31.假设(DX)=0E3H,变量CHAR中存放的内容是55H,确定下列各个指令单独执行后的结果:1)XOR DE,CHAR2)AND DX,CHAR3)OR DX,CHAR4)XOR DX,0FFFFH5)AND DX,06)TEST DX,01H32.用循环控制指令编写程序段,从60个元素中寻找一个最大数,结果放在AL 中。
33.写出下列数据段中每个符号所对应的值:MAX EQU 0FFFHV ALO EQU MAX MOD 10HV ALT EQU V ALO*2BUFS EQU ((V ALT GT 10H)AND 10H)+ 10HBUFF DB BUFS DUP(?)34.假设AX和BX中的内容为带符号数,CX和DX中的内容为无符号数,请用比较指令和条件转移指令实现以下判断:1)若DX的内容大于CX的内容,则转移到A12)若BX的内容大于DX的内容,则转移到A23)若DX的内容小于CX的内容,则转移到A34)若BX的内容小于DX的内容,则转移到A45)若CX的内容等于零,则转移到A535.编写程序段,实现16位非组合BCD码相加的程序段。
36.编写程序段,实现16位非组合BCD码相减的程序段。
37.编写程序段,将ASCII码的空格字符填满存储器的100个字节。
38.编写程序段,实现对两个存储区中的50个字进行比较,如果找到一对不同的字,则使AL=0,如果所有的字均相同,则使AL=1。
39.编写程序段,实现从TABLE为起始地址的100个字节中检索“A”字符。
如果找到,则转移到A1,如果未找到,则转移到A2。
40.写出完成下列要求的定义语句:1)为某缓冲区BUF留出200个字节的内存空间2)在某数据区存入下列数据:2040H,0300H,10H,0200H,1048H3)在某数据区存入下列字符:‘BYTE’,‘WORD’,‘DWORD’41.对于下面的数据定义,各条指令单独执行后,有关寄存器的内容是什么?FL DB ?TA DB 10DUP(?)TB DB ‘ABCD’1)MOV AX,TYPE FL2)MOV AX,TYPE TA3)MOV CX LENGTH TA4)MOV DX,SIZE TA5)MOV CX,LENGTH TB微机原理课堂练习2一、填空题:(共20分)1.(2分)8086的存储器寻址范围为___________,I/O寻址范围为___________。