汇编语言-期末考试-试题讲课教案
《汇编语言程序设计》考纲、试题、答案

安徽新华学院成人高等学历教育《汇编语言程序设计》课程2013年12月期末考试指导一、考试说明本课程为闭卷考试,考试时间90分钟,考试题型包括以下题型:1. 选择题(每题2分,共10分)2. 填空题(每空1分,共20分)3. 判断题(正确打√,错误打×,每题2分,共10分)4. 简答题(每题5分,共15分)5. 指出下列指令的错误(每题2分,共10分)6. 程序分析题(每空5分,共25分)7. 程序设计题(每空1分,共10分)二、课程知识要点第一章绪论1. 汇编程序是将汇编语言源程序翻译成二进制代码程序的语言处理程序,翻译的过程称为汇编。
2. 汇编语言的特点3. 数据的表示和类型(ASCII码和基本数据类型是重点)第二章 8086/8088寻址方式和指令系统1. 8086/8088寄存器组(各种寄存器的名称和功能)2. 存储器分段和地址的形成(存储单元中存放信息的原则,物理地址的计算方法,逻辑地址的表示方法,有效地址EA)3. 寻址方式的概念,能够判断寻址方式4.传输指令(1)数据传送指令.MOV 传送字或字节. (掌握课本30页图2.13)XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数)(2)地址传送指令:LEA 装入有效地址.例: LEA DX,string ;把偏移地址存到DX.LDS 传送目标指针,把指针内容装入DS.例: LDS SI,string ;把段地址:偏移地址存到DS:SI.LES 传送目标指针,把指针内容装入ES.例: LES DI,string ;把段地址:偏移地址存到ES:DI.(3)堆栈操作指令,按照“后进先出”的原则,所有数据的存入和取出都在栈顶进行。
PUSH 把字压入堆栈. SP-2POP 把字弹出堆栈. SP+2(4)标志操作指令LAHF 标志寄存器传送,把标志装入AH.SAHF 标志寄存器传送,把 AH内容装入标志寄存器.PUSHF 标志入栈.POPF 标志出栈.5.算术运算指令ADD 加法.ADC 带进位加法.INC 加 1.SUB 减法.SBB 带借位减法.DEC 减 1.NEC 求反(以 0 减之).CMP 比较.(两操作数作减法,仅修改标志位,不回送结果).MUL 无符号乘法.IMUL 有符号数乘法.以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算)DIV 无符号除法.IDIV 整数除法.以上两条,结果回送:商回送AL,余数回送AH, (字节运算);或商回送AX,余数回送DX, (字运算).CBW 字节转换为字. (把AL中字节的符号扩展到AH中去)CWD 字转换为双字. (把AX中的字的符号扩展到DX中去)6. 逻辑运算指令(按位运算)AND 与运算.OR 或运算.XOR 异或运算.NOT 取反.TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果).6. 移位指令SHL 逻辑左移.SAL 算术左移.(=SHL)SHR 逻辑右移.SAR 算术右移.ROL 循环左移.ROR 循环右移.RCL 通过进位的循环左移.RCR 通过进位的循环右移.移位一次时, 可直接用操作码. 如 SHL AX,1.移位>1次时, 则由寄存器CL给出移位次数.如MOV CL,04SHL AX,CL7. 程序转移指令1> 无条件转移指令JMP 无条件转移指令2>条件转移指令课本54页表2.33>循环控制指令(短转移)LOOP CX不为零时循环.LOOPE/LOOPZ CX不为零且标志Z=1时循环.LOOPNE/LOOPNZ CX 不为零且标志Z=0时循环.JCXZ CX为零时转移.第三章汇编语言及其程序设计初步1. 汇编语言的语句——指令语句和伪指令语句的区别?2. 常数地址表达式3. 数据定义语句 DB DW DD重复操作符DUP4. 变量和标号的三个属性5. 析值操作符 OFFSET ,属性操作符PTR6. 符号定义语句段定义语句 ASSUME语句7. 一个完整的汇编语言源程序一般包含数据段、堆栈段、代码段。
汇编语言期末考试试题

汇编语言期末考试试题一、选择题(每题2分,共20分)1. 在汇编语言中,以下哪个指令用于将立即数或常量值送入寄存器?A. MOVB. ADDC. SUBD. MUL2. 汇编语言中的指令MOV AX, BX等价于以下哪个高级语言语句?A. AX = BXB. AX + BXC. AX - BXD. AX * BX3. 以下哪个指令用于将内存中的数据传送到寄存器?A. MOV AX, [BX]B. MOV [BX], AXC. ADD AX, [BX]D. SUB AX, [BX]4. 在汇编语言中,哪个指令用于实现无符号数的比较?A. CMPB. TESTC. JZD. JE5. 下列哪个指令用于实现条件跳转?A. JMPC. RETD. INT6. 汇编语言中的循环结构通常使用哪个指令来实现?A. LOOPB. JUMPC. JZD. JE7. 在汇编语言中,哪个指令用于实现子程序的调用?A. MOVB. CALLC. RETD. INT8. 汇编语言中的段寄存器CS用于存储什么?A. 数据B. 指令C. 代码段地址D. 堆栈地址9. 汇编语言中的指令PUSH AX和POP AX分别用于什么?A. 将AX寄存器的内容压入堆栈B. 将AX寄存器的内容弹出堆栈C. 将AX寄存器的内容加到堆栈D. 将AX寄存器的内容减去堆栈10. 在汇编语言中,哪个指令用于实现中断调用?A. INTB. IRETD. STI二、简答题(每题5分,共10分)1. 解释汇编语言中的立即寻址方式和直接寻址方式的区别。
2. 描述汇编语言中如何实现一个简单的加法程序。
三、编程题(每题15分,共30分)1. 编写一个汇编程序,实现将AX寄存器中的值与BX寄存器中的值相加,并将结果存储在CX寄存器中。
2. 设计一个汇编程序,实现从键盘接收一个字符,然后将其转换为ASCII码对应的十进制数值,并显示在屏幕上。
四、综合应用题(每题40分)编写一个汇编程序,实现一个简单的文本编辑器功能。
《汇编语言程序设计》(第四版)教案及答案解析

《汇编语言程序设计》教案附:习题参考答案《汇编语言程序设计》(第4版)钱晓捷主编前言1.汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
2.汇编语言程序设计是高等院校电子计算机硬、软件及应用专业学生必修的核心课程之一。
它不仅是计算机原理、操作系统等其它核心课程的必要先修课,而且对于训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用。
3.本教材共有十一章,其内容安排如下:(1).第一、二章为汇编语言所用的基础知识。
(2).第三章详细介绍80x86系列CPU的指令系统和寻址方式。
(3).第四章介绍伪操作、汇编语言程序格式及汇编语言的上机过程。
(4).第五、六章说明循环、分支、子程序结构和程序设计的基本方法。
(5).第七章说明宏汇编、重复汇编及条件汇编的设计方法。
(6).第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。
(7).第九章说明BIOS和DOS系统功能调用的使用方法。
(8).第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时提供各种程序设计方法和程序实例。
附:教学参考书1.沈美明、温冬婵编著,IBM–PC汇编语言程序设计(第2版),清华大学出版社,2001年(教材)2.沈美明、温冬婵编著,IBM–PC汇编语言程序设计,清华大学出版社,1991年3.沈美明、温冬婵编著,IBM–PC汇编语言程序设计—例题习题集,清华大学出版社,1991年6月4.沈美明、温冬婵、张赤红编著,IBM–PC汇编语言程序设计—实验教程,清华大学出版社,1992年5.周明德,微型计算机IBM PC/XT(0520系列)系统原理及应用(修订版),清华大学出版社,19916.郑学坚、周斌,微型计算机原理及应用(第二版),清华大学出版社,19957.王士元、吴芝芳,IBM PC/XT[长城0520] 接口技术及其应用,南开大学出版社,19908.杨素行,微型计算机系统原理及应用,清华大学出版社,19959.戴梅萼、史嘉权,微型计算机技术及应用—从16位到32位(第二版),清华大学出版社,199610.张昆藏,IBM PC/XT微型计算机接口技术,清华大学出版社,199111.孟绍光,李维星,高档微机组成原理及接口技术(80386/80486/Pentium),学苑出版社,199312.吴秀清,周荷琴,微型计算机原理与接口技术,中国科学技术大学出版社目录第 1 章基础知识 (1)1.1进位计数制与不同基数的数之间的转换 (1)1.2二进制数和十六进制数的运算 (2)1.3计算机中数和字符的表示 (3)1.4几种基本的逻辑运算 (3)第 2 章 80X86计算机组织 (4)2.180X86微处理器 (4)2.2基于微处理器的计算机系统构成 (4)2.3中央处理机 (5)2.4存储器 (6)2.5外部设备 (7)第 3 章 80X86的指令系统和寻址方式 (8)3.180X86的寻址方式 (8)3.2程序占有的空间和执行时间 (10)3.380X86的指令系统 (10)第 4 章汇编语言程序格式 (27)4.1汇编程序功能 (27)4.2伪操作 (27)4.3汇编语言程序格式 (31)4.4汇编语言程序的上机过程 (34)第 5 章循环与分支程序设计 (37)5.1循环程序设计 (37)5.2分支程序设计 (38)5.3如何在实模式下发挥80386及其后继机型的优势 (38)第 6 章子程序结构 (40)6.1子程序的设计方法 (40)6.2子程序的嵌套 (41)6.3子程序举例 (41)第 7 章高级汇编语言技术 (43)7.1宏汇编 (43)7.2重复汇编 (44)7.3条件汇编 (45)第 8 章输入/输出程序设计 (46)8.1I/O设备的数据传送方式 (46)8.2程序直接控制I/O方式 (47)8.3中断传送方式 (47)第 9 章 BIOS和DOS中断 (50)9.1键盘I/O (50)9.2显示器I/O (52)9.3打印机I/O (53)9.4串行通信口I/O (54)第 10 章图形与发声系统的程序设计 (55)10.1显示方式 (55)10.2视频显示存储器 (55)10.3EGA/VGA图形程序设计 (56)10.4通用发声程序 (57)10.5乐曲程序 (58)第 11 章磁盘文件存取技术 (59)11.1磁盘的记录方式 (59)11.2文件代号式磁盘存取 (60)11.3字符设备的文件代号式I/O (61)11.4BIOS磁盘存取功能 (62)附录:《IBM—PC汇编语言程序设计》习题参考答案 (63)第一章.习题 (63)第二章.习题 (64)第三章.习题 (65)第四章.习题 (79)第五章.习题 (84)第六章.习题 (104)第七章.习题 (118)第八章.习题 (125)第九章.习题 (130)第十章.习题 (134)第十一章.习题 (145)第 1 章 基础知识【教学目的】本章内容是本课程的基础,通过本章学习,使学生明确汇编语言程序设计的学科性质、基本内容和学习意义,掌握数制的转换、数据的编码,了解本门课程的教学要求和学习方法。
汇编语言教学大纲

汇编语言教学大纲一、引言汇编语言是计算机科学中非常重要的一门课程,它是计算机硬件和软件之间的桥梁。
本教学大纲将为学生提供全面的汇编语言学习指导,使他们能够理解和应用汇编语言进行底层编程。
二、课程目标1. 理解汇编语言的基本概念和原理;2. 掌握汇编语言的基本语法和指令集;3. 能够使用汇编语言进行编程和调试;4. 能够理解并解释计算机底层运行原理。
三、课程内容1. 汇编语言简介1.1 汇编语言概述1.2 汇编语言的应用领域1.3 汇编语言的优缺点2. 汇编语言基础2.1 运算器和寄存器2.2 数据传输指令2.3 算术指令2.4 逻辑指令2.5 控制指令3. 汇编语言程序设计3.1 汇编语言程序结构3.2 程序的编写与调试4. 汇编语言高级内容4.1 子程序和过程调用4.2 中断和异常处理4.3 设备驱动程序设计5. 汇编语言实践应用5.1 汇编语言的工具和环境5.2 汇编语言实例分析和编写四、教学方法1. 授课讲解:通过讲解理论知识和示范演示案例,向学生介绍汇编语言的基本概念和操作方法。
2. 实践操作:通过指导学生使用汇编语言工具和环境,进行编写和调试汇编语言程序。
3. 讨论和互动:鼓励学生在课堂上提问、讨论和分享经验,增强对汇编语言的理解和应用。
五、考核方式1. 平时成绩:包括课堂参与、作业完成情况等。
2. 课程项目:要求学生自行设计和完成一个汇编语言程序项目,并进行演示和讲解。
3. 期末考试:考察学生对汇编语言理论知识的掌握和应用能力。
六、参考书籍1.《汇编语言程序设计》2.《汇编语言原理与实践》3.《计算机组成与汇编语言程序设计》七、教学进度安排本课程计划为期15周,按照以下进度进行教学和学习:第1周:引言和汇编语言简介第2周:汇编语言基础第3周:汇编语言基础第4周:汇编语言程序设计第5周:汇编语言程序设计第6-7周:汇编语言高级内容第8-9周:汇编语言高级内容第10-11周:汇编语言实践应用第12-13周:汇编语言实践应用第14周:复习和总结第15周:期末考试八、教学资源本课程所需的教学资源包括计算机实验室、汇编语言开发工具和参考资料。
《汇编语言程序设计》期末复习题百度文库

《汇编语言程序设计》期末复习题百度文库第一章:汇编语言基础知识概述在开始复习《汇编语言程序设计》之前,我们先来回顾一下汇编语言的基础知识。
1.1 汇编语言的定义和作用汇编语言是一种低级语言,可以直接操作计算机硬件,并且具有较高的执行效率。
它是机器语言的可读性表示,通过一系列指令来实现计算机的基本操作。
汇编语言在计算机系统中发挥着重要的作用,特别适合于编写底层程序和对性能要求较高的应用。
1.2 汇编语言的特点与高级语言相比,汇编语言具有以下特点:- 与硬件相关:汇编语言直接操作计算机硬件,可以实现对寄存器、内存及其他硬件资源的直接访问。
- 相对繁琐:由于直接操作硬件,所以汇编指令的书写比较繁琐,需要对计算机硬件有深入的了解。
- 执行效率高:汇编语言编写的程序执行效率高,能够充分发挥计算机硬件的性能。
1.3 汇编语言的基本概念在学习汇编语言时,需要了解以下基本概念:- 寄存器:汇编语言使用寄存器来存储数据和进行计算,常用的寄存器有通用寄存器和特殊寄存器等。
- 指令:汇编语言通过一系列指令来实现计算机的基本操作,如MOV、ADD、SUB等。
- 内存:汇编语言中使用内存来存储程序和数据,在编写程序时需要合理地管理内存。
- 标志位:用于记录计算过程中的状态信息,可以用于控制程序的执行流程。
第二章:汇编语言程序设计实践2.1 环境准备在进行汇编语言程序设计之前,需要正确配置环境,并安装相应的汇编语言开发工具。
一般来说,常用的汇编语言开发工具有MASM、NASM等。
2.2 汇编语言程序的编写编写汇编语言程序需要按照特定的格式和规范进行,一般包括以下几个步骤:- 定义程序入口:使用`start`指令定义程序的入口点。
- 导入库文件:将需要调用的库文件导入到程序中。
- 定义数据段:使用`data`关键字定义数据段,存放程序中用到的数据。
- 定义代码段:使用`code`关键字定义代码段,存放程序的主体逻辑。
- 定义子程序:可以将一些常用的代码逻辑封装成子程序,便于复用。
汇编语言期末考试试题及答案

汇编语言期末考试试题及答案------------------------------------------作者------------------------------------------日期汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题 分,共 分).指令☺ ∙☞✌∙❆∙☠☜属于参考答案为 ✌.段内转移直接寻址.段内转移间接寻址.段间转移直接寻址.段间转移间接寻址☯解析 略.下列叙述正确的是参考答案为 ✌.对两个无符号数进行比较采用 指令,对两个有符号数比较用 指令 .对两个无符号数进行比较采用 指令,对两个有符号数比较用 指令 .对无符号数条件转移采用☺✌☜☺☠指令,对有符号数条件转移用☺☝☜☺☠☹指令.对无符号数条件转移采用☺☝☜☺☠☹指令,对有符号数条件转移用☺✌☜☺☠指令☯解析 对于无符号数和有符号数的比较都采用 指令;指令是串比较指令;对两个无符号数的条件转移指令应是:☺✌☜、☺☠、☺ ☜、☺☠✌;对两个有符号数的条件转移指令应是:☺☝☜、☺☠☹、☺☹☜、☺☠☝。
.一个有 个字的数据区,它的起始地址为 ✌☟: ✌☟,请给出这个数据区最末一个字单元的物理地址是参考答案为 ✌. ☟. ☟. ☟. ☞☜☟☯解析 末字与首字相隔( - =) 个字,且每个字占用 个字节,因此末字单元的物理地址应为:首字单元的物理地址+( - ) 即∙✌☟☟+ ✌☟+( - ) = ☟。
.在下列指令的表示中,不正确的是参考答案为 ✌. ✞∙✌☹,☯✠✋.☺ ∙☟❆∙☠✋. ☜∙☯✠. ✞☹∙☹☯解析 当只有一个存储器操作数时,这个操作数的类型不明确,例如选项 中的☯✠,没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如☜∙✡❆☜∙❆∙☯✠∙或∙☜∙∙❆∙☯✠但是在题目的选项 中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。
汇编语言期末试题

03计算机汇编语言期末试题一、选择题:(2×15,共30分)1.下面有语法错误的指令是()A. MOV AX,[BX][SI]B.MOV AX,-2[BX][DI]C. MOV AX,[BX][BP]D.MOV AX,-1[BX][SI]2.对寄存器AX的内容乘以4的正确指令序列是( )。
A.SHR AX,1 /SHR AX,1B.SHL AX,1/ SHL,AX,1C.ROL AX,1 /ROL AX,1D.RCR AX,1/ RCR AX,13.设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( )A.85B92HB.86192HC.BB690HD.12169H4.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( )A.AX,BX,CX,DXB.BX,BP,SI,DIC.SP,IP,BP,DXD.CS,DS,ES,SS5.循环指令LOOPNZ终止循环的条件是( )。
A.CX=0,且ZF=0B.CX=0,或ZF=1C.CX10,且ZF=0D.CX10,或ZF=16.汇编语言语句格式中,对名字项的规定,请指出错误的解释()A. 名字的第一个字符只可以是大小写英文字母及?、@、__等B. 名字的第一个字符可以是大小写英文字母、数字、?、@、__等C. 名字的有效长度≤31个字符D. 名字从第二个字符起可以出现数字,但不允许出现$、#等字符7.在汇编语言程序的开发过程中使用宏功能的顺序是( )。
A.宏定义,宏调用B.宏定义,宏展开C.宏定义,宏调用,宏展开D.宏定义,宏展开,宏调用8.假设执行ADD指令后AX=006EH,再执行AAA指令,AX中的值是()A. 14HB. 0104HC. 74HD. 04H9.用MOV指令将十进制数89以非压缩BCD码格式存入AX,可使用的指令是()A. MOV AX,89B. MOV AX,0809C. MOV AX,89HD. MOV AX,0809H10.下列语句中能与“DA1 DB 32H,34H”语句等效的是( )A. MOV DA1,32HB. MOV DA1,32C. MOV WORD PTR DA1,3234HD. MOV WORD PTR DA1,…24‟MOV DA1+1,34H MOV DA1+1,3411.使用DOS功能调用时,子程序的编号应放在寄存器中()A. AHB. ALC. AXD. 任意指定12.下列语句中能实现留空8个字节单元的语句是()A. DA1 DT ?B.DA2 DW ?,?C. DA3 DD ?D.DA4 DQ ?13.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( )。
汇编语言期末试卷及答案

汇编语言期末试卷及答案一、单项选择题1、CPU发出的访问存储器的地址是(A)。
A.物理地址B.偏移地址C.逻辑地址D.段地址2、下列指令中操作数在代码段中的是(A)。
A.MOV AL,42HB.ADD AL,BLC.SUB [BX],DID.INC [DI]3、与MOV BX,OFFSET VAR指令完全等效的指令是(D)。
A.MOV BX,VARB.LDS BX,VARC.LES BX,VARD.LEA BX,VAR4、表示过程定义结束的伪指令是(A)。
A.ENDPB.ENDSC.ENDD.ENDM5、BUF1 DB 3 DUP(0,2 DUP(1,2),3)COUNT EQU $ - BUF1符号COUNT等价的值是(B )。
A.6B.18C.16D.86、下列寄存器中,作为16位寄存器的是(D)。
A. ALB. BLC. CHD.DX7、在程序运行过程中,确定下一条指令的物理地址的计算表达式是(C)。
A.DS*16+SIB. ES*16+DIC. CS*16+IPD. SS*16+SP8、物理地址(10FF0H )=10H,(10FF1H )=20H,(10FF2H )=30H,从地址10FF1H中取一个字的内容是(B)。
A.1020HB.3020HC.2030HD.2010H9、将AX 清零,下列指令错误的是(C)。
A.SUB AX,AXB.XOR AX,AXC.OR AX,00HD.AND AX,00H10、完成同指令XCHG AX,BX相同功能的指令或指令序列是(D)。
A. MOV AX,BXB. MOV BX,AXC. PUSH AXD. MOV CX,AXPOP BX MOV AX,BXMOV BX,CX11、JMP BX 的目标地址的偏移量为(A)。
A. BX 的内容B. BX 所指向的内存单元的内容C. IP + BX 的内容D. IP + [BX]12、可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是(D)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.CPU要访问的某一存储单元的实际地址称( ) A.段地址 B.偏移地址 C.物理地址 D.逻辑地址 2.某存储单元的物理地址是12345H,可以作为它的段地址有( ) A.2345H B.12345H C.12340H D.1234H 3.执行后使BX=0的同时也使CF=0,OF=0的指令是( ) A.XOR BX,BX B.OR BX,BX C.AND BX,BX D.CMP BX,BX 4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是( ) A.CX≠0且ZF=1 B.CX≠0且ZF=0 C.CX≠0或ZF=1 D.CX≠0或ZF=0 5.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是( ) A.DAA校正指令的功能已自动加在AH中 B.进位值在AF中,校正后根据AF内容再加在AH中 C.进位值在CF中,校正后根据CF内容再加在AH中 D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中 6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( ) A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C.指令AND AX,OFH执行后,分离出AL低四位 D.NOT AX,执行后,将AX清0 7.在执行下列指令时,需要使用段寄存器DS的指令是( ) A.STOSW B.ADD AL,CL C.NEG BX D.INC DA[BX] 8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是( ) A.ADD BH,01H B.OR BH,01H C.XOR BH,01H D.TEST BH,01H 9.完成对CL寄存器的内容乘以4的正确操作是( ) A.ROL CL,1 B.MUL 4 ROL CL,1 C.SHL CL,1 D.MOV CL,2 SHL CL,1 SHL CL,CL 10.下面各传送指令中,正确的是( ) A.MOV [DI],[SI] B.MOV[DX+DI],AL C.MOV WORD PTR [BX],0100H D.MOV AL,BX 11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法( ) A.名字的第一个字符可以是大写英文字母及小写英文字母 B.名字的第一个字符可以是字母、数字及、@、_ C.名字的有效长度≤31个字符 D.在名字中不允许出现$ 12.要实现使BETA的值为56,应采用语句为( ) A.BETA DB 56 B.BETA DB 56H C.BETA EQU 56 D.BETA EQU 56H 13.REPZ CMPSW指令,重复执行的终止条件是( ) A.CX=0或ZF=0 B.CX=0且ZF=0 C.CX=0或ZF=1 D.CX=0且ZF=1 14.下面程序段执行后,AL中的内容是( ) MOV AX,8833H ADD AL,AH DAA A.21 B.21H C.0C1H D.0DDH 15.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为( ) A.ZF=1 B.ZF=0 C.SF=1 D.SF=0 16.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是( ) A.JNC LOP1 B.JA LOP1 C.JC LOP1 D.JGE LOP1 17.在下列串操作指令中,同时使用源串和目的串地址指针的指令是( ) A.STOSW B.LODSW C.SCASW D.CMPSW 18.设AL=0AH,下列指令执行后能使AL=05H的是( ) A.NOT AL B.AND AL,0FH C.XOR AL,0FH D.OR AL,0FH 19.DA1 DW‘AB’,‘CD’,‘EF’,‘GH’( ) ┇ MOV AX,DA1+3 指令执行后AX中的内容是 A.‘EF’ B.‘CD’ C.‘BC’ D.‘FC’
20.使用DOS系统功能调用时,使用的软中断指令是( ) A.INT 21 B.INT 10H C.INT 16H D.INT 21H
二、填空题(本大题共12空,每空0.5分,共6分)请在每小题的空格中填上正确答案。错填、不填均无分。
21.十六进制数0FFF8H表示的十进制正数为________,表示的十进制负数为________。 22.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA为____20A8H____,其物理地址为___11488H_____。 23.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为_____状态___标志位,另一类称为____控制____标志位。
24.当标志位______CF__=1时表示无符号数运算产生溢出,而当标志位__OF______=1是表示带符号数运算产生溢出。
25.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是________,而后两个字节存放的是________。
26.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是________或________才有实际意义。
三、简答题(本大题共4小题,每小题2分,共8分) 27.已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。 (1)MOV AL,[BX] (2)MOV CS:[BX+DI],AH
28.0P1 DB 1,2 0P2 DW 3412H,5678H ┇ MOV AX,OP1+1;字单元(OP1+1) AX MOV BL,OP2+1;字节单元(OP2+1) BL 上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。
29.下列语句在存储器中分别为变量分配多少字节? (1)AD2 DW 10 DUP(?),10 (2)AD3 DD 100 DUP(?)
30.简述下面两条指令分别是什么语法错误? MOV [BX],[SI] MOV AX,DL
四、程序分析题(本大题共6小题,每小题6分,共36分) 31. MOV DL,AL NOT DL TEST DL,04H JE NEXT ┇ NEXT:… 若上述程序段执行时产生分支,说明AL中的数第几位一定为1?程序段执行后CF是多少? 32.DA1 DB‘ABCDEFGHI’ DA2 DB 9 DUP(0) ┇ LEA SI,DA1 LEA DI,DA2 MOV CX,9 CLD LOP: LODSB SUB AL,10H STOSB LOOP LOP . . . 试问:①写出程序执行后DA2各字节中的数据。 ②保持程序功能情况下,程序中 可否改写为
33.已知:BX=4567H NEG BX INC BX NEG BX DEC BX 程序段执行后,BX=________,CF=________。
34. MOV BL,64H MOV CL,03H XOR AX,AX AGAIN:ADD AL,BL ADC AH,0 DEC CL JNZ AGAIN 问:(1)该程序段完成的功能是: (2)AX=________。
35.已知数据段中定义 DAT1 DB 12H,34H,56H,78H MOV CX,0 MOV AX,WORD PTR DAT1 MOV CL,DAT1+3 当程序段执行完后AX=________,CX=________。
36.DA1 DB 83H,72H,61H,94H,5AH ┇ MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL 上述指令序列执行后,AL=_______,CL=_______。
五、程序填空题(本大题共2小题,每小题6分,共12分) 37.在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。 ┇ MOV AX,NUMW _____________ XOR DX,DX DIV BX MOV QUI,AX _____________
38.某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!).试在空白处填上适当的一条指令。 STRING DB‘COMPUTER’,‘$’ ┇ MOV BX,0FFSET STRING LOP:MOV DL,[BX] MOV AH,02H INT 21H ____________________ ____________________ JNE LOP
六、编程序题(本大题共2小题,第39小题6分,第40小题12分,共18分) 39.试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符‘Y’(设DA_BY存储区已有ES指向)。
40.试编制一源程序,统计DA1字单元中含0的个数,如统计的个数为奇数,则将进位位置1,否则进位位清0。 DATA SEGMENT DA1 DW XXXX DATA ENDS
2006年10月汇编语言程序设计试题答案 来源: http://www.csai.cn
2006年10月汇编语言程序设计试题答案