汇编语言程序设计考试大纲

汇编语言程序设计考试大纲
汇编语言程序设计考试大纲

汇编语言程序设计考试大纲

-、课程性质及其设置目的和要求

(-)课程的性质、地位与任务

汇编语言程序设计课程在高等教育自学考试计算机及应用专业(专科)考试计划中是一门专业基础课程,是为培养计算机应用专科人才的需要而设置的。

本课程的任务是为《微型计算机及其接口技术》、《操作系统概论》等后继课程提供必要的汇编语高及程序设计的基础知识。对训练应考者掌握程序设计技术,熟悉上机操作和程序调试技术都有重要作用。为从事计算机的开发应用提供了强有力的编程工具。

(二)本课程的基本要求

通过本课程的学习要求应考者:

1.系统地获得计算机(以8086CPU的微型机作为典型机)指令系统的常用指令及寻址方式的概念、功能、书写格式及其在编程中的应用。

2.系统地获得汇编语言语句、源程序的书写格式和规定,伪指令语句的概念、功能、书写格式,宏指令定义、调用及其在编程中的应用。

3.系统地获得汇编语言程序的基本结构形式及其程序设计的基本方法和技巧。

4.熟练掌握汇编语言程序的上机调试和运行。

(三)本课程与有关课程的联系

1.有关数制、二进制算术运算和逻辑运算等知识,应在先修课程《模拟电路与数字电路》、

《计算机组成原理》中学过。

2.有关输人/输出、中断、接口电路及其编程,本课程不作介绍,全部列入“微型计算机及其接口技术"课程中。二、课程内容与考核目标

第l章基础知识

(-)课程内容

1.计算机系统基本组成

2.8086汇编语言编程的硬件模型

3.汇编语言程序设计的特点和作用

(二)学习目的和要求

本章总的要求是:熟练掌握有关计算机系统的基本概念、基本组成。熟练掌握8086汇编语言编程的基本硬件模型。理解学习汇编语言程序设计的目的,了解汇编语言程序设计的特点和作用。

本章的知识点中,重点是8086汇编语言编程的硬件模型。

(三)考核知识点和考核要求

1.计算机系统基本组成。应达到“识记”的层次。

1.1有关计算机的基本概念和基本组成。

2. 8086汇编语言编程的硬件模型,应达到“综合应用”的层次。

2.l 8086微处理器内部数据寄存器组和段寄存器组的各寄存器名称、符号、位数和功能,指令寄存器IP的位数和功能。

2.2 8086的程序状态字寄存器PSW的状态标志位和控制标志位的名称、符号和功能,状态标志的状态符号的表示。

2.3 8086存储器的组织形式和特点,存储器地址的分段,存储单元物理地址的形成方法。

3.汇编语言程序设计的特点和作用,应达到“识记”的层次。

3.1学习汇编语言程序设计的目的和意义。

3.2汇编语言程序设计的特点和作用。

第2章 8086的寻址方武和指令系统

(-)课程内容

1. 寻址方式的定义

2. 与数据有关的寻址方式

3. 与转移地址有关的寻址方式

4. 指令和指令系统的定义

5. 数据传送指令

6. 算术运算指令

7. 逻辑运算指令

8. 串处理指令

9. 输入输出指令

l0. 控制转移指令

11. 处理器控制指令

(二)学习目的和要求

一个微处理器指令的寻址方式的多寡是说明寻找操作数的灵活程度,指令系统是表现微处理器解决实际问题能力的强弱,它们是汇编语言程序设计的基础。熟练掌握寻址方式和指令系统中的各种常用指令是学好本课程的关键。

本章总的要求是:深刻理解寻址方式、指令系统和指令的概念。熟练掌握8086的各种寻址方式的含义和书写格式。着重在理解存储器操作数形成有效地址的各种方法和规定,段地址的约定和段超越的规定及书写格式。深刻理解和熟练掌握8086指令系统中各种常用指令的操作内容和参加操作的源操作数和结果(目的)操作数的来龙去脉及对程序状态字寄存器的状态位的影响。会使用各种常用指令分析和编写程序。

本章的知识点中,重点是数据传送指令,算术和逻辑运算指令。难点是控制转移指令和串处理指令。

(三)考核知识点和考核要求

1. 寻址方式的定义。要求达到“识记”的层次:

1.1寻址方式的含义和实质。

1.2指令中寻址的操作数可分为三种:寄存器操作数,立即数,存储器操作数。

2. 与数据有关的寻址方式,应达到“综合应用"的层次。

2.1 8086 中与数据有关的六种寻址方式的名称和含义。

2.2 各种寻址方式的操作数书写格式,各种寻址方式的存储器操作数的有效地址形成的方法和书写格式。

2.3 分析指令中各种寻址方式操作数据的出处和去处,根据要求在指令中写出各种寻址方式的操作数据

3 与转移地址有关的寻址方式,应达到“简单应用”的层次。

3.1 8086的指令系统中与转移地址有关的四种寻址方式的名称和含义,各种寻址方式转移地址的书写格式和转移范围的书写格式。

3.2 各种寻址方式中转移地址的组成和形成方法,段内间接和段间间接寻址方式中,存放转移地址的存储单元的有效地址的形成方法和转移地址各成分的存放次序。

4 指令和指令系统的定义,应达到“识记”的层次。

4.1 什么是指令系统,熟悉指令系统中有哪些最常用的指令类型。

4.2 指令的定义和指令的组成,操作码和操作数在指令中的作用。

5. 数据传送指令,应达到“综合应用”的层次。

5.1 数据传送指令的助记符,源和目的操作数的寻址方式、书写格式和书写顺序的规定。指令执行的操作,注意两个操作数寻址方式之间不允许的搭配关系。

5.2 堆栈操作指令的助记符,操作数的寻址方式的规定、字长和书写格式,入栈、出栈操作的过程:数据人栈、出栈和堆栈指针变化情况ε5.3 互换指令的助记符,两个操作数的寻址方式和书写格式的规定,指令执行的操作。

5.4 三种地址传送指令的助记符,源和目的操作数的寻址方式和书写格式的规定,指令执行的操作。

6. 算术运算指令、应达到“综合应用”的层次。

6.1 加法带进位加法、减法和带借位减法、比较指令的助记符,被加数或被减数(也是和或差)加数或减数的寻址方式和书写格式的规定,指令执行的操作:两个操作数寻址方式之间的不允许的搭配关系。比较指令和减法指令操作上的异同点:此类指令操作结果影响标志位的情况。

6. 2 增1减1和求补指令的助记符、操作数的寻址方式和书写格式的规

定,指令执行的操作;此类指令操作结果影响标志位的情况。

6.3 无符号数和有符号数乘除运算指令的助记符,被乘数乘数、被除数、除数的寻址方式和书写格式的规定,乘积、商、余数所在寄存器的规定,指令执行的操作。

6.4 压缩BCD码、非压缩BCD码的定义和表示法;带符号的压缩的BCD 码的补码表示法;十进制调整的由来和调整方法。

6.5 压缩的和非压缩的BCD码加减调整指令的助记符,记住操作数的隐含规定及调整的结果情况,记住使用此类指令的前提,操作结果影响标志位的情况。

7. 逻辑运算指令,应达到“综合应用”的层次。

7.1 逻辑运算指令的助记符,两个操作数的寻址方式和书写格式的规定,两个操作数寻址方式之间的不允许的搭配关系,指令执行的操作:操作结果影响标志位的情况。

7.2 测试指令和“与”指令在操作上的异同点。

7.3 NOT指令单操作数的寻址方式和书写格式的规定。

7.4 移位指令的助记符,参与移位的操作数的寻址方式和书写格式的规定,表明移位次数的操作数的书写规定,指令执行的操作:移位指令操作结果影响标志位的情况。

8. 串处理指令,应达到“简单应用”的层次。

8.1 串处理指令的操作特性;连续执行时,重复前缀REP、REPE/REPZ、REPNE/REPNZ与指令配合使用的规定。

8.2 五种串处理指令的助记符,源和目的操作数的寻址方式的规定,操作数部分书写规定,指令执行的操作,指令停止执行的条件和判别的方法。

9 .输人输出指令,应达到“领会”的层次。

9.l 输人输出指令的助记符,操作数寻址方式和书写格式的规定,指令执行的操作。

10. 控制转移指令,应达到“综合应用”的层次。

10.1 无条件转移指令的助记符,有关操作数(即转移地址)寻址方式的考核要求与本章知识点3.相同,掌握指令执行的操作。

l0.2 条件转移指令和循环指令的助记符;弄清条件所属标志和标志的状态表示:操作数寻址方式和书写格式的规定;指令执行的流程。

10.3 子程序调用和返回指令的助记符,指令执行的操作;子程序调用指令的操作数的寻址方式。除子程序无短程调用以外,考核要求与本章知识点3.相同。

11. 处理器控制指令,应达到”简单应用”的层次。

11.1 处理器控制指令的助记符和指令执行的操作。

第3章 8086汇编语言程序格式

(-)课程内容

1. 汇编语言语句的种类和格式

2. 指令语句

3. 符号定义语句

4. 数据定义语句

5. 段定义语句

6. 过程定义语句

7. 宏指令语句

8. 汇编语言源程序格式

9. 汇编语言程序上机过程

(二)学习目的和要求

为了能编好8086汇编语言程序,除了要熟练掌握8086的各种寻址方式和各类指令外,还必须熟练掌握8086汇编语言语句格式,8086汇编语言源程序的格式等。

本章总的要求是:了解和掌握汇编语言语句种类及格式要求、汇编语言源程序的格式要

求。熟悉汇编语言程序上机过程。理解和掌握各类伪指令的助记符、操作数的规定、书写格式和用处。了解宏指令的概念、书写规定和用处。本章的知识点中,重点是符号定义语句和数据定义语句。难点是汇编语言语句种类和格式,汇编语言源程序格式。

(三)考核知识点和考核要求

1.汇编语言语句的种类和格式,座达到“领会”的层次。

1.1 汇编语言语句的三种类型(指令语句、伪指令语句和宏指令语句),知道它们在程序

中的不同用处。

1.2 组成汇编语言语句的四个部分,每部分内容的规定和它们相互间的

定界符的规定。

2.指令语句,应达到“综合应用”的层次。

2.1 指令语句的组成及书写格式规定。

2.2 指令语句标号的功用和书写格式的规定,指令语句中各种类型操作数的规定。

3.符号定义语句,应达到“简单应用”的层次。

3.1 两种符号定义语句的助记符和语句格式的规定;符号名(表达式名)及表达式的内容和书写格式的规定。

3.2 符号定义语句在编程中的应用。

4.数据定义语句,应达到“综合应用”的层次。

4.1 三种类型数据定义语句的助记符和语句格式的规定;变量名定义和使用的规定。

4.2 各种类型操作数的定义和规定,在指令语句和数据定义语句中的使用。

(1)常数的进位计数制及书写的格式规定

(2)ASCII字符串书写格式规定。

(3)符号名、标号变量名的使用规定和书写格式规定。

(4)留空单元的书写格式规定。

(5)用DUP定义的一串数、一串字符或一串留空单元的书写格式规定。

(6)各种常用运算符和操作符的符号、功能、书写格式规定和使用规定。

5.段定义语句,应达到“简单应用”的层次。

5.11 伪指令SEGMENT和ENDS、ASSUME和ORG的功能和书写格式的规定。

6.过程定义语句,应达到“简单应用”的层次。

6.1 过程定义语句PROC和ENDP的功能和书写格式的规定。

6.2 过程定义语句在子程序设计中的应用。

7.宏指令语句,应达到“领会”的层次。

7.1 宏指令的用处,了解宏指令与过程(子程序)的异同点。

7.2 宏定义、宏调用的书写格式,了解宏汇编后的宏展开。

7.3 宏指令中的变元,实元的书写规定和取代规定。

8.汇编语言源程序格式,应达到“简单应用”的层次。

8. 1 8086汇编语言源程序的分段结构的意义、各段书写格式和书写位置的规定。

8.2 会分析汇编语言源程序,会按照汇编语言源程序格式编写程序。

9.汇编语言程序上机过程,应达到“识记”的层次。

9.1汇编语言程序上机调试、运行的两种方法和步骤。

第4章顺序程序设计

(-)课程内容

1. 汇编语言程序设计的基本步骤

2. 算法和程序流程图

3. 顺序程序的基本结构

4. 顺序程序设计

(二)学习目的和要求

汇编语言程序设计的基本步骤是各种程序结构形式的程序设计方法都要遵循的过程,也适合高级语言程序设计,因此具有普遍意义。

顺序程序是程序结构形式中最简单,最常用的程序结构形式。它是组成其它复杂程序的基础。

本章总的要求是:深刻理解程序的基本概念,充分认识程序设计的基本步骤的重要性和必要性、理解和掌握程序设计的基本步骤和基本方法。理解和掌握顺序程序的结构形式和程序设计方法。

本章知识点中,重点是顺序程序的基本结构,顺序程序设计。难点是算法和程序流程图。

(三)考核知识点和考核要求

l. 汇编语言程序设计的基本步骤,应达到“领会”的层次。

1.1 汇编语言程序设计必须具有的基本设计步骤的必要性和重要性。

1.2 程序设计基本步骤中的每一步骤的要点及达到的目标。

2.算法和程序流程图,应达到“简单应用”的层次。

2.1 算法和程序流程图的概念和它们在程序设计过程中的重要地位。2.2 根据实际问题列出算法的基本设计思想。

2.3 根据算法画出程序流程图的基本设计思想,流程图的基本符号的含义和画法规定。

3.顺序程序的基本结构,应达到“简单应用”的层次。

3.l什么是顺序程序,顺序程序的结构形式。

4.顺序程序的设计,应达到“综合应用”的层次。

4.1实例程序分析问题、确定算法、画出程序流程图、分配工作单元和选择合适指令编写程序的设计思想和方法。

4.2会分析顺序程序,会用顺序程序设计方法编写程序。

第5章分支程序设计

(-)课程内容

l. 分支程序的概念和结构

2. 双分支程序设计

3. 多分支程序设计

(二)学习目的和要求

分支程序是一种基本的和重要的程序结构形式。分支程序设计是程序设计中常用的一种设计方法,它是一种能按事物的不同情况进行不同处理的程序设计方法。

本章总的要求是:熟知各种形式的分支程序的结构特点。理解和掌握双分支程序中产生条件和判断条件的程序段的设计方法和技巧。理解和掌握三种多分支程序设计原理、设计方法和技巧。

本章的知识点中,重点是双分支程序设计,难点是三种多分支程序设计。

(三)考核知识点和考核要求

l. 分支程序的概念和结构,应达到“领会”的层次。

1.l 什么是分支程序。知道双分支和多分支程序结构形式及其在程序设计中的不同用处。

1.2 双分支程序和多分支程序的程序流程图的特点和结构形式。

2. 双分支程序设计,应达到“综合应用”的层次。

2.1双分支程序设计的设计方法和技巧,重点在产生分支的程序段:2.2灵活使用产生条件的先行指令和条件转移指令来产生条件、判别条件而形成双分支程序的设计方法和技巧。

2.3 会分析双分支程序,会应用双分支程序设计方法编写程序。

3.多分支程序设计,应达到“简单应用”的层次。

3.1 转移表法和地址表法多分支程序的设计原理,转移表和选址表的结构和作用,两种方法中实现多分支的设计方法和技巧。

3.2 逻辑分解法多分支程序的设计原理,关键字的组成和作用,逻辑分解法实现多分支的方法和技巧。

第6章循环程序设计

(-)课程内容

1. 循环程序的概念和结构

2. 单重循环程序设计

3. 多重循环程序设计

4. 控制循环的方法

(二)学习目的和要求

循环程序也是—种基本的、常用的和重要的程序结构形式之一。它是一种处理连续重复多次执行同一类操作的程序设计方法。

本章总的要求是:熟悉循环程序的基本结构形式及各组成部分的内容和

功能。熟练掌握单重循环和多重循环程序设计的方法和技巧。熟练掌握控制循环的四种设计方法和技巧。

本章知识点中,重点是单重循环程序设计和控制循环的方法.难点是多重循环程序设计。

(三)考核知识点和考核要求

1. 循环程序的概念和结构,应达到“领会”的层次。

1.1循环程序的含义和采用循环结构程序的必要性。

1.2循环程序的结构组成和各部分的作用。

1.3循环程序的两种基本结构形式的程序流程,比较两种结构形式对控制循环的要求。

2.单重循环程序设计,应达到“综合应用”的层次。

2.1单重循环程序的结构形式。

2.2单重循环程序设计的方法和技巧。重点在如何选择循环控制条件,如何选择工作参数和工作单元并设置初值,如何判别循环结束等的设计方法和技巧。

2.3会分析单重循环程序,会应用单重循环程序设计方法编程序。

3.多重循环程序设计,应达到“简单应用”的层次。

3.1多重循环程序的结构形式,内层循环与外层循环遵守的层次结构规则,参数修改对各层的相互影响。

3.2多重循环程序的设计方法利技巧。重点在如何选择各层次的工作参数和工作单元,如何考虑参数在层次间的相互影响。内外层的控制循环结束条件如何合理地选择和设置初值,如何来判别内外层循环的结束,以满足内外层次结构的包含关系。

3.3会分析多重循环程序,会应用多重循环程序设计方法编程序。

4.控制循环的方法,应达到“综合应用”的层次。

4.l多种控制循环方法的控制原理,循环控制参数的选择和初值设置的方法,修改循环控制参数和判断循环结束条件的设计方法和技巧。

第7章子程序设计

(-)课程内容

1.子程序概念和基本结构

2.子程序调用和返回

3.子程序设计

4.子程序的参数传递

5.子程序嵌套

6.DOS系统功能调用简介

(二)学习目的和要求

子程序是一种较普遍和常用的基本程序结构形式之一。它是将功能通用的、使用频繁的一些程序段设计为子程序,可供程序中多处调用,达到简化程序的目的。子程序又是模块化程序设计的基础。

本章总的要求是:深刻理解子程序的概念、基本结构形式和在程序设计中的作用。熟悉子程序文件说明的重要性及书写子程序文件说明的规定。弄清主程序和子程序的调用关系,熟记子程序调用和返回过程所完成的操作。

能熟练掌握子程序设计方法和技巧。初步掌握子程序参数传递的方法和子程序嵌套方法。了解DOS系统调用的基本内容及调用方法。

本章知识点中,重点是子程序设计和子程序参数传递,难点是子程序嵌套。

(三)考核知识点和考核要求

1.子程序概念和基本结构,应达到“领会”的层次。

1.1主程序和子程序的调用关系,子程序的含义和作用,子程序和过程语句的关系。

1.2子程序文件说明的必要性及书写内容规定。

2.子程序调明和返回,应达到“简单应用”的层次。

2.1子程序调用和返回的全过程的操作步骤。

2.2子程序调用和返回时,入栈和出栈的具体操作内容和顺序,堆栈指针的变化情况。

3.子程序设计,应达到“综合应用”的层次。

3.1子程序设计的方法和技巧。重点在主程序中子程序调用指令的使用,定义过程语

句,现场内容的选择和保护现场及恢复现场的程序设计。

3.2会分析主程序和子程序之间的调用和返回的程序流程,会应用子程序设计方法编

程序。

4.子程序的参数传递,应达到“领会”的层次。

4.1主程序与子程序间多种方法传递参数的操作原理。

4.2主程序与子程序间多种方法传递参数的具体实现。

4.3会分析主程序与子程序间的参数传递的程序实例。

5.子程序嵌套,应达到“识记”的层次。

子程序嵌套的含义,程序流程。

6.DOS系统功能调用简介,应达到“简单应用"的层次。

6.l DOS系统功能调用的含义及常用的DOS系统功能调用

6.2 DOS系统功能调用的方法,在编程序时会使雨DOS系统功能调用。

汇编语言程序设计练习题

汇编语言程序设计练习题 一、字符与串处理类 1.逆序输出字符串“BASED ADDRESSING”。 2.试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。 3.编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 4.从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示计数结果。 5.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。)放在STRING中,试编制一个程序测试字符串中是否存在数字。如有,则把CL的第5位置1,否则将该位置置0。 6.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。),将其中的小写英文字母变换为大写英文字母,其他字符保持不变。然后将变换后的字符串显示出来。 7.试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。 8.试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”, 若不相同则显示“NO MATCH”。 9.试编写一段程序,要求输入两个字符串,如两个字符串相等则显示“MATCH”, 否则显示“NO MATCH”。 10.试编写一段程序,要求在长度为100H字节的数组中,找出大于61H的无符号数的个数并存入字节单元UP中,找出小于2FH的无符号数的个数并存入字节单元DOWN中。 11.在内存区域0B800:0000-0B800:0FFFF(都是16进制数)内查找首地址为SOURCE的串(SOURCE的首字节为串长度),如果找到,则把AL的第0位置0,否则将该位置置1。 12.已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。试编制一个程序,把既在A中又在B中出现的整数存放于数组C中。 13.在附加段中,有一个首地址为LIST和未经排序的字数组。在数组的第一个字中,存放着该数组的长度,数组的首地址已存放在DI寄存器中,AX寄存器中存放着一个数。要求编制一个程序:在数组中查找该数,如果找到此数,则把它从数组中删除。 二、数字输入输出类 1. 试编制一个程序,把BX寄存器内的二进制数以十六进制数的形式在屏幕上显示出来。 2. 试编制一个程序,把BX寄存器内的二进制数以八进制数的形式在屏幕上显示出来。 3. 试编制一个程序,把BX寄存器内的二进制数以十进制数的形式在屏幕上显示出来。 4.从键盘上输入2个一位数,求出它们的和(假设和不超过1位)。 5.试编写一段程序,从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数。 6.试编写一段程序,从键盘接收一个0-65535间的十进制无符号数,并在终端上显示与它等值的二进制数。 7.试编写一段程序,从键盘接收一个-32768-32767间的十进制有符号数,并在终端上显示与它等值的二进制数。 8.编写一个程序,从键盘输入一个0~65535之间的10进制无符号数,然后以16进制

实验四-循环结构汇编语言程序的设计实验报告

循环结构汇编语言程序设计实验报告

实验四循环结构汇编语言程序设计 一、实验目的 1、学习循环结构的汇编语言程序的设计和调试。 2、学习通过直接对8086计算机的寄存器和存的直接访问,编写更高效简洁的汇编程序。 3、加深掌握计算机整体的工作过程。 3、加深对排序算法的理解。 二、实验任务 编写程序求出数组A中(20个元素)的最大值和最小值(数组没有排序)。 要求至少采用二种不同的排序算法来实现。( 快速排序,归并排序、堆排序、Shell排序、插入排序、冒泡排序、交换排序、选择排序、基数排序……) 三、实验容 为了更好地实现老师所布置的实验任务,我们根据情况选取以下两种方式实

验。 1、利用冒泡排序的方式求解数组A中元素的最大值最小值。设计流程图如 下所示: 2、利用选择排序的方式求得数组A中元素的序列。设计流程图如下所示:

四、实验环境 PC机: winXP/win7(32位)/win7(64位)+winxp 虚拟机 汇编工具:Masm.exe+Link.exe。 五、实验步骤 1)建立和生成的文件 (1)编写的源程序,源程序名为abc、扩展名为.asm (2)源程序经汇编程序Masm.exe汇编(翻译)后生成二进制目标程序,文件名为abc.obj (3)目标程序需要经Link.exe连接生成可执行程序,文件名为abc.exe 2)汇编环境 最基本的汇编环境只需要两个文件:Masm.exe和Link.exe。将这两个文件拷入到已经建好的文件夹(例如 huibian)中,并将文件夹huibian放在硬盘根

目录C :\>下 3)上机步骤 进入DOS窗口中执行。 4)调试程序 进入DEBUG后,调试程序 5)调试成功后重新汇编、连接并生成可执行代码 6)执行程序,并对运行结果截图。 利用冒泡排序求得数组A中元素的最大值最小值的实验结果如下图所示:(说明:输入数据为:13,0,59,900,587,1,657,234,34,48) 利用选择排序对数组A中元素排序得到的序列得实验结果如下图所示:(说明:输入数据为13,0,59,900,587,1,657,234,34,48)

汇编语言程序设计教学大纲

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 1.教学内容 (1) 为什么要用汇编语言编写程序 (2) 进位计数制与不同基数的数之间的转换 (3) 二进制数和十六进制数运算 (4) 计算机中数和字符的表示 (5) 几种基本的逻辑运算 2.基本要求 了解机器指令、代码指令、机器语言、汇编指令、汇编语言、汇编语言源程 序、汇编程序、汇编等概念;掌握进位计数制与不同基数的数之间的转换及

运算;计算机中数和字符的表示;“与”、“或”、“非”、“异或”等几种基本的逻辑运算; 第二章80X86计算机组织 1.教学内容 计算机系统概述、存储器、中央处理机和外部设备。 2.基本要求 理解计算机的硬件和软件系统及其关系。掌握计算机的基本结构及总线;存储器的内容、地址及存储器的分段;中央处理机的组成、80X86系列CPU工作寄存器构成和功能,特别是段寄存器和标志寄存器;外设接口、端口和8086/8088的端口地址范围和访问方法。 第三章80X86的指令系统 1.教学内容(重点内容) IBM PC机的寻址方式、IBM PC机的指令系统。 2.基本要求 熟练掌握IBM PC机寻址方式及物理地址的计算;数据传送、算术、逻辑、串处理、控制转移和处理机控制指令六组中的所有指令的格式、操作、及影响的标志位。了解机器语言的指令组成; 第四章汇编语言程序格式 1.教学内容 汇编程序功能、伪操作、汇编语言程序格式、汇编语言程序的上机过程。 2.基本要求 掌握DEBUG程序和命令及能用DEBUG 程序调试和运行简单小程序;汇编语言上机步骤、汇编程序的功能;数据定义及存储器分配、表达式赋值“EQU”和“=”、段定义、程序开始和结束、对准、基数控制等六类伪操作;汇编语言程序格式中的名字、操作、操作数和注释等项。 第五章循环与分支程序设计 1.教学内容 程序设计的一般步骤和基本结构、循环程序设计和分支程序设计 2.基本要求 掌握汇编语言程序的编制步骤和结构化程序设计的三种基本结构;循环的设计方法和多层循环的设计;分支程序的设计方法,并能编制相应的程序。第六章子程序结构 1.教学内容 子程序的设计方法、嵌套与递归子程序、子程序举例和DOS系统功能调用

汇编语言程序设计实验教程

汇编语言程序设计实验教程

目录 第一章上机过程 (4) 1.1编辑源程序 (4) 1.2 汇编源程序 (5) 1.3连接目标程序 (6) 1.4运行程序 (7) 第二章DEBUG命令祥解 (8) 2.1 DEBUG程序使用 (8) 2.2 DEBUG的常用命令 (8) 第三章汇编语言程序设计实验 (13) 3.1实验一顺序与分支程序设计 (13) 3.2 实验二循环与子程序程序设计 (15) 3.3 实验三算术运算与代码转换程序设计 (16) 3.4 实验四字符串的匹配与替换程序设计 (18) 3.5 实验五输入输出程序设计 (19) 第四章部分实验参考答案 (21)

第一章上机过程 1.1编辑源程序 汇编语言源程序:用汇编语句编写的解决应用问题的程序。 汇编程序:将汇编语言源程序翻译成机器语言程序的系统。 汇编:将汇编语言程序翻译成机器语言程序的过程。 在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单,只需用建立ASCII码文本文件的软件即可。 (1)编辑软件 编辑软件:EDIT、QE、WORD、NOTEPAD等。 当输入、建立和修改源程序时,可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM。 (2)汇编程序 有汇编ASM.EXE、宏汇编MASM.EXE及TASM等,一般使用宏汇编MASM.EXE,因它比ASM.EXE功能强。TASM适用于8086/8088~Pentium系列指令系统所编写的汇编语言程序,是比较先进的汇编工具。 (3)连接程序 用连接程序LINK.EXE或TLINK.EXE,将MASM.EXE产生的目标代码程序(.OBJ)文件连接成可执行程序.EXE,TLINK比LINK更先进。 (4)辅助工具程序(.EXE) 进行汇编语言程序调试和文件格式转换的程序有: https://www.360docs.net/doc/965297049.html, 动态调试程序 EXE2BIN.EXE文件格式转换程序

汇编语言程序设计练习题及答案

一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。) 1.为在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是(D) A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546H C.DW ‘AB’,‘CD’,‘EF’D.DW ‘BA’,‘DC’,‘FE’ 2.DA2 DB‘AB’,‘CD’ ┇ MOV AX,WORD PTR DA2+1 上述语句执行后AX中的值是(D) A.‘AD’B.‘BC’ C.‘DA’D.‘CB’ 3.下列数据定义语句中可实现留空20H个字节存储单元的是(D) A.DB 20 DUP(?) B.DW 20H DUP(?) C.DB 10H DUP(4 DUP(?)) D.DD 08H DUP(?) 4.如某存储器分段时,表示偏移地址是17位二进制代码,那么一个段最多的存储单元数是(D) A.32K字节B.32K字 C.64K字节D.64K字 5.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是(B)A.BX B.BP C.SI D.DI 6.下列指令中有语法错误的是(C) A.PUSH AX B.PUSH [20H+SI+BX] C.POP CS D.PUSH CS 7.执行PUSH BP指令时,目的操作数的物理地址表达式是(D) A.16*SS+BP B.16*DS+BP C.16*CS+IP D.16*SS+SP 8.把BL中的数据输出到端口8CH中正确指令是(C) A.OUT 8CH,BL B.IN 8CH,BL C.MOV AL,BL D.MOV AL,BL OUT 8CH,AL IN 8CH,AL 9.结果为零的条件转移指令,其测试条件是(A) A.ZF=1 B.ZF=0 C.SF=l D.SF=0 10.下面程序段完成测试DA-BYTE字节单元中数是否为负数,若是则将全l送DH中,否则全0送DH中,那么程序段中方框里应填的语句是 MOV CH,0 MOV CH,0FFH ZERO:MOV DH,CH(C) A.JNZ ZERO B.JS ZERO

汇编语言学习知识程序设计实验

目录 目录 (1) 实验一利用DEBUG熟悉常用指令的使用 (2) 一、实验目的 (2) 二、示例 (2) 三、实验题 (2) 实验二汇编程序和连接程序的使用 (6) 一、实验目的。 (6) 二、示例。 (6) 三、实验题。 (8) 实验三顺序结构程序设计 (11) 一、实验目的 (11) 二、示例 (11) 三、实验题 (12) 四、实验报告 (15) 实验四循环结构程序设计 (16) 一、实验目的 (16) 二、示例 (16) 三、实验题 (18) 实验五分支结构程序设计 (21) 一、实验目的 (21) 二、示例 (21) 三、实验题 (22) 实验六子程序设计 (29) 一、实验目的 (29) 二、实验题 (29)

实验一利用DEBUG熟悉常用指令的使用 一、实验目的 熟悉指令系统,掌握常用指令的用法;通过实验加深对各种寻址方式的理解;能熟练使用DEBUG中的命令对指令进行反汇编,观察并了解机器代码。 二、示例 请分别用一条汇编语言指令完成如下功能:(过程略)。 1.用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。 ADD AL,[BX][SI] 2.用位移量为0520H的直接寻址方式把存储器中的一个字与3412H相加,并把结果送回该存储单元。 ADD WORF PTR [0520H],3412H 三、实验题 1.调试、验证下列指令的结果,已知(DS)=2000H,(BX)=0100H,(SI)=0002H,(BP)=0200H,(SS)=2300H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=B7H,(21203)=65H,(23204)=88H,说明各指令执行完后AX寄存器的内容。要求输入指令,相应存储单元的内容要事先设置,单步 P执行,观察执行结果。 (设置存储器的值)

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著)

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著) 《计算机操作系统原理》 《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。 《数据结构和算法》——这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时) 《软件工程》——这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。我的建议是看《实用软件工程》(黄色,清华) 《Windows 程序设计》——《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本 建议:你还可以在CSDN上阅读到许多书评。这些书评能够帮助你决定读什么样的书 关于编程的网站 计算机编程 郭新明-FTP服务器体验式学习课程(张孝祥监制) https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=3997 https://www.360docs.net/doc/965297049.html,快速开发新闻系统在线播放 https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=4708 数字电路基础[宁波电大] https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=774 计算机组成与汇编语言程序设计(赵丽梅)宁波电大 https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=1242 操作系统(陈访荣)宁波电大(在线播放) https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=4708 计算机网络(马敏飞)宁波电大 https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=1243 https://www.360docs.net/doc/965297049.html, 2.0快速入门(12)-https://www.360docs.net/doc/965297049.html, 2.0网站快速导航 https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=2501 Internet和Intranet应用(薛昭旺)宁波电大 https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=1245 2004年电脑硬件安装调试维修视频教学讲授 https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=4825 https://www.360docs.net/doc/965297049.html, 高级排错技巧 https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=768 SQL Server 2000管理专家系列课程 https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=4832 开心三人行系列(2):使用Atlas 构建AJAX应用 https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=2564 Visual Basic 2005开发技巧系列课程(4): 在Visual Basic 2005中使用.NET Framework 2.0新增功能 https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=2526 SQL Server 2005 系列课程-使用ADO https://www.360docs.net/doc/965297049.html,开发SQL Server 2005 OLAP应用 https://www.360docs.net/doc/965297049.html,/so/so138.aspx?id=2535

汇编语言程序设计课后习题解答宋人杰2版

第1章汇编语言基础知识 1.简述汇编语言源程序、汇编程序、和目标程序的关系。 答:用汇编语言编写的程序称为汇编源程序;汇编源程序在汇编程序的翻译下转换成计算机语言变成目标程序。 2. 简述汇编语言的优缺点。 答:(1) 汇编语言的优点: ①可有效地访问、控制计算机各种硬件设备,如磁盘、存储器、CPU、I/O端口等。. ②目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 ③可与高级语言配合使用,应用十分广泛。 (2) 汇编语言的缺点: ①通用性和可移植性较差 ②相对于高级语言来说较繁锁、易出错、不够直观。 3.CPU的寻址能力为8KB,那么它的地址总线的宽度为多少? 答:13 4. 1KB的存储器有多少个存储单元? 答:1024个字节。 5. 指令中的逻辑地址由哪两部分组成? 答:指令中的逻辑地址由段基址和偏移量组成。 6. 以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理地址。 (1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4) 1A3F:A1FF 答: (1) 13080H (2) 1A3F3H (3) 1A3F3H (4) 245EFH 7. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 06 11 A3 13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据 的值。 答:字节型数据:11H 字型数据:0A311H 双字型数据:0113A311H 8. 内存中某单元的物理地址是19318H,段基地址为1916H,则段内偏移地址为 多少?若段内偏移地址为2228H,则段基地址为多少? 答:若段基地址为1916H,则段内偏移地址为01B8H;若段内偏移地址为2228H,则段基地址为170FH 9. 在实模式环境中,一个段最长不能超过多少字节? 答:64KB 10. 实模式可寻址的内存范围是多少? 答:1MB

新版汇编语言程序设计习题答案(钱晓捷主编)电子教案

新版汇编语言程序设计习题答案(钱晓捷主 编)

新版汇编语言程序设计习题答案(钱晓捷主编) 第一章汇编语言基础知识 1.1、简述计算机系统的硬件组成及各部分作用 1.2、明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 1.3、什么是汇编语言源程序、汇编程序、目标程序? 1.4、汇编语言与高级语言相比有什么优缺点? 1.5、将下列十六进制数转换为二进制和十进制表示 (1)FFH (2)0H (3)5EH (4)EFH (5)2EH (6)10H (7)1FH (8)ABH 1.6、将下列十进制数转换为BCD码表示 (1)12 (2)24 (3)68 (4)127 (5)128 (6)255 (7)1234 (8)2458 1.7、将下列BCD码转换为十进制数 (1)10010001 (2)10001001 (3)00110110 (4)10010000 (5)00001000 (6)10010111 (7)10000001 (8)00000010 1.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示 (1)0 (2)-127 (3)127 (4)-57 (5)126 (6)-126 (7)-128 (8)68 1.9、完成下列二进制数的运算 (1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000÷1001 (5)1011 ∧~1011 (8)1011 ⊕ 1001 1001(6)1011 ∨1001(7) 1.10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符? 1.11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符? 1.12、简述Intel 80x86系列微处理器在指令集方面的发展。 1.13、什么是DOS和ROM-BIOS? 1.14、简述PC机最低1MB主存空间的使用情况。 1.15、罗列8086CPU的8个8位和16位通用寄存器,并说明各自的作用。 1.16、什么是标志,它有什么用途?状态标志和控制标志有什么区别?画出标志寄存器FLAGS,说明各个标志的位置和含义。

2位数计算器程序-汇编语言课程设计

信息学院课程设计题目:2位数计算器程序设计 __ 姓名: __ _____ 学号: ____ ___ 班级: 课程:汇编语言 ________ 任课教师:侯艳艳 ____ 2011年12月

课程设计任务书及成绩评定

目录 摘要 (2) 1.设计目的………………………………………………………………………………………………?2 2.概要设计………………………………………………………………………………………………?3 2.1系统总体分析…………………………………………………………………………?3 2.2程序流程图 (3) 3.详细设计......................................................................................................? (4) 3.1主程序及子程序说明 (4) 3.2程序代码编写 (4) 4.程序调试 (6) 4.1运行界面分析 (6) 4.2算法的分析 (6) 4.3调试过程及分析 (6) 5.心得体会 (7) 5.1设计体会...................................................................................................? (7) 5.2系统改进...................................................................................................? (7) 参考文献 (8)

汇编语言程序设计期末考试题

汇编语言程序设计期末考试题 学院(系):学号: 姓名: 计分: 一、项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号 内。每小题1分,共10分) 1.CPU发出的访问存储器的地址是( ) A.物理地址 B.偏移地址C.逻辑地址D.段地址 2.将高级语言的程序翻译成机器码程序的实用程序是( ) A.编译程序 B.汇编程序 C.解释程序 D.目标程序 3.DEC BYTE PTR[BX]指令中的操作数的数据类型是( ) A.字 B.双字C.字节D.四字 4.在下列语句中,BUFFER称为( ) BUFFER DB 01H,0AH A.符号 B.变量 C.助记符D.标号 5.串操作指令中,源串操作数的段地址一定在( )寄存器中。 A. CS B. SS C. DS D. ES 6.使计算机执行某种操作的命令是( ) A.伪指令B.指令 C.标号D.助记符 7.将数据5618H存放在存储单元中的伪指令是( ) A. DATA1 DW 1856H B. DATA1 DB 18H,56H C. DATA1EQU 5618H D. DATA1 DB 18H,00H,56H,00H 8.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( ) A.1400H B. 77F8H C. 0000H D. 0FFFFH 9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍 采用的是( )码。 A. BCD码 B.二进制码 C.ASCII码D.十六进制码 10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语 言称为( ) A.汇编语言 B.高级语言 C.机器语言 D.低级语言 二、填空题(每空1分,共20分) 1.在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是______。 2.通常所说的计算机系统包括________和________两大部分。 3.8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是________、_____ ___、________、________。 4.现有AX=2000H,BX=1200H, DS=3000H, DI=0002H, (31200H)=50H,(31201H)=02H, (31202H)=40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标 志位ZF、CF的值。 A.ADDAX,1200H;问AX=________H,ZF=________

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

汇编语言程序设计(钱晓捷)课后答案

汇编语言程序设计(第二版) 钱晓捷习题答案 第二章(01) 2.1 (1)AX=1200h (2)AX=0100h (3)AX=4C2Ah (4)AX=3412h (5)AX=4C2Ah (6)AX=7856h (7)AX=65B7h 2.2(1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5) 两操作数类型不匹配 (6) 目的操作数应为[ BP ] (7) 源操作数应为[BX+DI] (8) 立即数不能作目的操作数 2.3 lea bx,table ;获取table的首地址,BX=200H mov al,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H 2.4 堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。 2.5 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h 2.6 AL=89h CF ZF SF OF PF AL=12h 1 0 0 1 1 AL=0afh 0 0 1 0 1 AL=0afh 1 0 1 0 1 AL=00h 0 1 0 0 1 AL=0ffh 0 0 1 0 1 AL=00h 0 1 0 0 1 2.7 W=X+Y+24-Z

2.8 (1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX (4)ADD WORD PTR [0520H],3412H (5)ADD AL,0A0H 2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=A imul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,ax mov bx,dx ;bx,ax <-- dx,ax =A*B mov ax,Z ;ax = C cwd ;dx,ax =C (扩展符号后为双字) add cx,ax adc bx,dx ;bx,cx <-- bx,cx+dx,ax=A*B+C sub cx,540 sbb bx,0 ;bx,cx<-- A*B+C-540 mov ax, V ;ax= D cwd ;dx,ax= D (扩展符号后为双字) sub ax, cx sbb dx, bx ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540) idiv X ;运算结果:[D-(A*B+C-540h)]/A ;ax存商,dx存余数 2.10;(1)xchg的操作数不能是立即数 (2不能对CS直接赋值 (3)两个操作数不能都是存储单元 (4)堆栈的操作数不能是字节量 (5)adc的操作数不能是段寄存器 (6)没有确定是字节还是字操作 (7)in不支持超过FFH的直接寻址 (8)out只能以AL/AX为源操作数 第二章(02) 2.11; 指令AX的值CF OF SF ZF PF Mov ax,1407h1470h----- And ax,ax1470h00000 Or ax,ax1470h00000 Xor ax,ax000011 Not ax0ffffh----- Test ax,0f0f0h0ffffh00101 注意: 1. mov, not指令不影响标志位 2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。

汇编语言程序设计教程(第3版 卜艳萍)参考答案

汇编语言程序设计教程(第3版) 习题参考答案 第1章汇编语言基础知识 思考与练习 1.计算机系统分哪几个层次?简述计算机系统的硬件结构。 1)数字逻辑层 2) 微体系结构层 3) 指令系统层 4) 操作系统层 5) 汇编语言层 6) 高级语言层 7) 应用层 硬件系统是指构成计算机系统的物理实体或物理装置。它由控制器、运算器、存储器、输入设备和输出设备等部件构成。 2.简述用汇编语言进行程序设计的必要性。 1)程序要具有较快的执行时间,或者只能占用较小的存储容量。例如,操作系统的核 心程序段,实时控制系统的软件,智能仪器仪表的控制程序等。 2)程序与计算机硬件密切相关,程序要直接、有效地控制硬件。例如,I/O接口电路 的初始化程序段,外部设备的低层驱动程序等。 3)大型软件需要提高性能、优化处理的部分。例如计算机系统频繁调用的子程序、动 态连接库等。 4)没有合适的高级语言或只能采用汇编语言的时候。例如,开发最新的处理器程序时, 暂时没有支持新指令的编译程序。 5)汇编语言还有许多实际应用,例如分析具体系统尤其是该系统的低层软件、加密解 密软件、分析和防治计算机病毒等。 3.汉字编码主要分哪几类?每类的功能如何? 汉字编码主要分为四类:汉字输入码、汉字交换码、汉字机内码和汉字字形码。 1)为了能直接使用西文标准键盘进行输入,就必须为汉字设计相应的编码方法,即用 西文标准键盘上的字母数字串表示汉字的编码。目前,汉字输入编码方法主要有三 种:数字编码、拼音编码和字形编码。 2)汉字交换码:在不同汉字信息处理系统间进行汉字交换时所使用的编码,就是国标 码。无论采用哪种方法输入汉字,一旦输入到计算机中,必须采用统一的国标码标 识每个汉字。 3)汉字机内码是汉字在设备或信息处理系统内部最基本的表达形式,是在设备和信息 处理系统内部存储、处理、传输汉字用的编码。 4)字形编码也称为字模码,是用点阵表示的汉字字形代码,它是汉字的输出形式。4.计算机的字长是怎么定义的,试举例说明。 计算机能同时处理二进制信息的位宽定义为计算机的字长。如8086能同时进行16位二进制数据的运算、存储和传输等操作,该机器的字长为16位。 5.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值? 用相应进制的数值加上进制标记即可。

汇编语言程序设计试题

汇编语言程序设计试题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A ) A.20640H B.2063EH C.2063FH D.21900H 2.使用DOS功能调用时,子程序编号应放在( B ) A.AL B.AH C.AX D.任意指定 3.没有 ..语法错误的输出指令是( B ) P76 A.OUT AX,30H B.OUT DX,AL C.OUT AL,DX D.OUT 30H,AH 4.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是( B ) A.MOV AX,89 B.MOV AX,0809H C.MOV AX,89H D.MOV AX,0809 5.设AX=8765H,DX=4321H,执行CWD指令后,DX中的内容是( B ) P117 A.4321H B.0FFFFH C.8000H D.0001H 6.设CL=05H,要获得CL=0AH,可选用的指令是( A) A.XOR CL,0FH B.NOT CL C.OR CL,0AH D.AND CL,0FH 7.假设执行ADD指令后AL=8CH,再执行DAA指令,AL中的值是( A ) A.92H B.0104H C.74H D.8CH 8.MOV AL,79H ADD AL,B1H 上面指令执行后,设置的标志位CF和ZF的值是( D ) A.CF=0,ZF=1 B.CF=l,ZF=1 C.CF=0,ZF=0 D.CF=1,ZF=0 9.TEST DL,55H P123 JZ NEXT NEXT:…… … 上述程序段,执行JZ指令时能产生转移的情况是( D ) A.DL>55H B.DL<55H C.DL=55H D.DL中第0、2、4、6位均为0 10.假设AL=28H, 执行ROL AL,1 指令之后的情况是( D ) P125 A.AL=14H, CF=1 B.AL=50H, CF=1 C.AL=14H, CF=0 D.AL=50H, CF=0 11. 98的BCD码是(B) A)10011001 B) 10011000 C) 10011010 D) 10001010 12. –0110110 的补码是(A) A) 11001010 B) 11001001 C) 10110110 D) 00110110

汇编语言程序设计实验篇emu

1.汇编语言程序设计实验篇 1.1.汇编系统软件简介 Emu8086-Microprocessor Emulator是集源代码编辑器、汇编/反汇编工具以及debug 的模拟器。它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。该软件兼容Intel的下一代处理器,包括PentiumII、Pentium4。利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。 1.1.1创建程序 https://www.360docs.net/doc/965297049.html, TEMPLATE程序 本章与指令相关的实验都是用COM TEMPLATE类型的程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。 在“choose code template”对话框中,选择“COM template-simple and tiny executable file format, pure machine code.”后,单击按钮。

在如所示的编辑界面中,在“;add your code here”部分输入相应的指令,第一条指令默认的偏移地址为100h。 输入全部指令后,单击按钮,保存相应的程序段。 2.EXE TEMPLATE程序 本章与DOS功能调用和汇编源程序相关的实验都是用EXE TEMPLATE程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。

在“choose code template”对话框中,选择“EXE template-advanced executable file.header: relocation, checksum.”后,单击按钮。 在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“add your data here”和“;add your code here”部分可以分别输入相应的变量定义和指令。

大工19秋《汇编语言程序设计》大作业题目及要求

学习中心: 专业: 年级:年春/秋季 学号: 学生: 题目: 1.谈谈你对本课程学习过程中的心得体会与建议 2.《汇编语言程序设计》课程设计,从以下5个题目中任选其一作答。 《汇编语言程序设计》课程设计 注意:从以下5个题目中任选其一作答。 总则:只能使用汇编语言进行编制,不能选用C/C++等高级语言 作业提交: 大作业上交时文件名写法为:[姓名奥鹏卡号学习中心](如:戴卫东浙江台州奥鹏学习中心[1]VIP) 以附件word文档形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业(注意命名),点提交即可。如下图所示。

注意事项: 独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计! 题目一:进制转换程序 要求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。 (2)算法思路:比如可设计二进制转化十六进制的算法, 简单介绍该算法的基本思想,100字左右即可。 (3)算法程序框图:绘制流程图或原理图,从算法的开始 到结束的程序框图。 (4)主要函数代码:列出算法的具体代码。 (5)列出算法中使用指令的含义,比如解释MOV指令的 含义,ADD指令的含义,至少撰写十个指令。 总则:只能使用汇编语言进行编制,不能选用C/C++等高级语言! 题目二:冒泡排序算法 要求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。 (2)算法思路:简单介绍冒泡排序算法的基本思想,至少 100字。 (3)算法程序框图:绘制流程图或原理图,从算法的开始 到结束的程序框图。

汇编语言程序设计试题

汇编语言程序设计试题 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共50分) 1.CPU发出的访问存储器的地址是( A ) A.物理地址 B.偏移地址 C.逻辑地址 D.段地址 2.使计算机执行某种操作的命令是( B ) A.伪指令 B.指令 C.标号 D.助记符 3.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=(A) A. 1400H B. 77F8H C. 0000H D. 0FFFFH 4.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是( C)码。 A. BCD码 B.二进制码 C.ASCII码 D.十六进制码 5.下列关于8086CPU的工作原理的描述错误的是__C___。 A.汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。B.CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。 C.任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。 D.传送指令能够更改所有通用寄存器的内容。 6.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是(C) A.12CFBH B.12B6BH C.12C5BH D.12BFEH 7. 16位结构的CPU 不一定具备的特性是(D)。 A. 运算器一次最多可以处理16位的数据 B. 寄存器的最大宽度为16位 C. 寄存器和运算器之间的通路为16位 D. 地址总线为16根 8. 下列指令的书写正确的是(C)。 A. push al B. mov cs:[0],ds:[10] C. pop si D. mov ds:[0],2 9.在DEBUG工具中,显示寄存器内容的命令是( D )。 A. G B. D C. T D. R 10. 能够将ax中的内容送到内存0000:0200H处的指令序列是(D)。

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)解析

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社) (沈美明,温冬蝉著) 第二章 1.解答:有256个 2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元 E5 1E 3C 2A 3.解答: 30022H字节单元内容: ABH 30024H字节单元内容: EFH 30021H字单元内容: AB34H 30022H字单元内容: CDABH 4.解答: 这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址 5.解答: CS+IP 第一个字的物理地址为: 0AAA40H 6.解答: 条件标志OF,SF,ZF,CF,的值依次为:0,0,0,0 7.下列操作可使用那些寄存器? (1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH ,AL等(2)循环计数 CX (3)乘法和除法DX,AX,AH,AL (4)保存段地址CS ,DS,ES,SS (5)表示运算结果为O FLAGS (6)将要执行的指令地址IP (7) 将要从堆栈取出数据的地址BP,SP,SS 8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP 9.一一对应; 5--A 4--B 2--C 3--D 12--E 9--F 11--G 10--H 13--I 8--J 7--K 6---L 1--M 15--N 14--O 第三章 1.(1)立即寻址没有 (2)直接寻址7237H (3)使用BX的寄存器寻址没有 (4)使用BX的间接寻址 637DH (5)使用BX的寄存器相对寻址0D5B4H (6)基址变址寻址8E18H (7)相对基址变址004FH 2.根据下列要求,写出相应的汇编指令。 (1)ADD DX,BX (2) ADD AL,[BX][SI] (3) ADD [BX][0B2H], CX (4) MOV AX,2A59H ADD [0524H] ,AX (5) ADD AL ,0B5H

相关文档
最新文档