当前位置:文档之家› 汇编语言程序设计课程教学大纲.

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

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

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

二、课程性质与教学目标

《汇编语言程序设计》是计算机科学与技术专业一门重要的基础课,是必修的核心课程之一,是"操作系统"和"微机原理和接口技术"等其它核心课程必要的先修课,而且对于训练学生掌握程序设计技术,熟悉上机操作和程序调试技术都有重要作用。因此该课程在整个教学计划中占有重要地位。

本课程的目的和要求是:

1、应使学生掌握8086/8088宏汇编语言程序设计的基本方法和技巧,能够运用8086/8088宏汇编语言编写应用程序。提高学生分析问题、解决问题的能力以及实际动手能力。

2、应使学生基本掌握汇编语言程序设计的基本理论,方法和技巧,正确地使用结构化、模块程序设计技术。注意培养学生良好的程序设计风格。

3、应使学生比较熟练地使用调试工具DEBUG调试8086/8088汇编语言程序。注意提高学生的调试能力。

4、注意与前后相关课程的关系。使学生对前导课程有进一步的理解,同时为学习后继课程打好基础。

三、教学内容及基本要求

第一单元基础知识

[知识点]

汇编语言的基本概念、数据的表示和类型、几种基本的逻辑运算、Intel 8088/8086微处理器基本概念、存储器分段和地址的形成、

[教学内容]

1.以二进制存在的机器语言。计算机内部数的存储及运算也都是采用二进制。

2.制数的值由1所在位置的权来确定。

3.进制是一种很重要的短格式记数法,它把二进制数每4位分成一组,分别用0-9和

A-F来表示0000-1111。反之,16进制数的每一位用四位二进制表示,就是相应的二进制数。

4.十进制转换为二进制的方法主要有降幂法和除法。计算机十化二程序中采取下面的算法:

5.标志位OF=1表示带符号数的运算结果无效。CF=1表示无符号数运算结果无效。

6.计算机中的字符数据用ASCⅡ码表示,一个字符在存储器中占用一个字节(8位二进制码)。

7.BCD码是一种用二进制编码的十进制数,又称二-十进制数或8421码,它用4位二进制数表示一个十进制数码。BCD码有压缩和非压缩两种格式,压缩的BCD码用4位二进制数表示一个十进制数位,如95 表示为1001,0101。非压缩的BCD码用地位二进制数表示一个十进制数位。如95 表示为00001001 00000101。

8.两种类型的内部存储器是ROM(只读存储器)和RAM(随机存储器)。存储器按字节编址,存储器地址一般用16进制的无符号数表示。

9.字数据在存储器中存放的顺序为高地址字节放高8位,低地址字节放低8位。

10.AX、BA、CA、和DX是通用寄存器,每个通用寄存器可作两个8位寄存器使用(如AH和AL)。

11.一个20位的物理地址可表示成段地址:偏移地址。计算存储器单元的物理地址,可将段地址乘以10H,再加上偏移地址。

物理地址=(段地址×10H)+偏移地址

12.段寄存器CS、SS、DS和ES分别寄存代码段、堆栈段、数据段和附加段的段地址。

13.变址寄存器SI和DI一般指示数据段内单元的地址,有时也可作为数据寄存器用。

14.16位的标志寄存器个包括6个状态标志(SF、ZF、PF、CF、AF、OF)和3个控制标志(DF、IF、TF)。(CF、AF、SF、ZF和OF反映了算术运算以及移位、循环、逻辑等操作的结果状态。

[重难点]

1.教学重点

1.汇编语言的基本概念

(1)机器语言,汇编语言,汇编程序,汇编语言源程序,目标程序,目标代码,可执行程序。

(2)汇编语言的特点

(3)为什么要学习汇编语言,汇编语言的应用场合。

2.数据的表示和类型

(1)数值数据的表示,符号扩展,数值数据的表示范围,BCD码,不同数据之间的转换。

(2)非数值数据类型:字节、字、双字等。

3.几种基本的罗辑运算

“与”、“或”、“非”、“异或”

4.Intel 8088/8086微处理器基本概念

(1)8086/8088基本结构:执行单元EU,总线接口单元BIU,指令的执行次序。

(2)8086/8088CPU寄存器组:通用寄存器,数据寄存器,变址和指针寄存器,段寄存器和指令指针。

(3)标志寄存器,运算结果标志、状态、控制标志。

5.存储器分段和地址的形成

(1)存储单元的地址

(2)“高高低低”的存储原则

(3)存储器的分段

(4)物理地址的形成

(5)段寄存器的引用

(6)堆栈及其用途

2.教学难点

1. 8088/8086微处理器基本概念

2. 存储器分段和地址的形成

[教学要求]

1.领会汇编语言的慨念及特点

2.掌握数值数据的表示

3.了解8086CPU的基本结构

4.重点领会8086CPU地址形成的原理

第二单元指令系统与寻址方式

[知识点]

寻址方式、正确使用指令系统

[教学内容]

1.寻址方式:

(1)立即寻址:操作数由指令给出

(2)寄存器寻址:操作数在寄存器中

(3)直接寻址:操作数的有效地址由指令直接给出

(4)寄存器间接寻址:PA=(DX)*16+(BX)(SI)(DI)

(5)寄存器相对寻址:PA=(DX)*16+(BX)(SI)(DI)+位移量

(6)基址加变址寻址:PA=(DX)*16+(SI)(DI)

(7)相对基址加变址寻址:PA=(DX)*16+(SI)(DI)+位移量

2.正确使用指令系统,关键要清楚每条指令的功能以及它们规定或限制使用的寄存器。下面是初学者易混淆的几个问题:

(1)指令对地址还是对地址中的内容进行操作,要严格区分。

(2)使用指令时,要清楚指令隐含的操作寄存器。

(3)对带符号数和无符号数的操作应正确选择相应的条件转移指令。

(4)用移位指令来倍增或倍减一个值是很方便的,但要注意对带符号数和无

无符号数所使用的指令是不同的。

(5)是是程序中指令的符号地址,要注意和变量(数据符号)的区别。[重难点]

1.教学重点

1、8086/8088的寻址方式

七种基本的寻址方式:固定寻址、立即寻址、存储器直接寻址、寄存器寻址、寄存器间接寻址,变址寻址,基址加变址寻址。

2、8086/8088指令系统

(1)分组:数据传送、算术运算、逻辑运算、串操作、程序控制、处理器控制。

(2)常用指令格式和功能

2.教学难点

1.8086CPU的寻址方式的理解

2.各种指令的用法

[教学要求]

1.理解七种寻址方式的慨念

2.对数据传送、算术运算、逻辑运算、串操作、程序控制类的指令要深入理解

第三单元汇编语言格式

[知识点]

伪操作指令、宏定义、地址表达式、数值表达式

[教学内容]

1、伪操作也称为汇编程序命令,它是给汇编程序提供操作命令信息的,因此它和机器指令

的区别在于机器指令是在在程序运行期间执行的,而伪操作是汇编程序对原程序进行汇编时由汇编程序执行的。

2、伪操作的用法类似于使用助记符和机器指令。和机器指令一样,没条伪操作(伪指令)

的含义是唯一的。

3、常用的伪操作:

1)数据定义及存储器伪操作:

DB、DW、DD、DQ、DT、DUP

属性伪操作:PTR、LABEL

2)符号定义伪操作:EQU、=

3)段定义和段结束伪操作:

SEGMENT、ENDS、ASSUME

定位类型PARR、BYTE、WORD、PAGE

组合类型PUBLIC、COMMON、AT、STACK、MEMORY

类别‘class_name’

4)过程定义和过程结束PROC、ENDP

过程属性NEAR、FAR

5)程序结束伪操作END[start]

6)对准伪操作EVEN、ORG

7)基准控制伪操作 RADIX

二进制数标记 B 十进制数标记 D

八进制数标记 O、Q 16进制数标记 H

汇编程序默认无标记数为十进制数,DEBUG程序默认无标记数为16进制数。

4、机器指令、伪指令和宏定义中的操作数项可用表达式表示。表达式由常数、寄存器、标

号、变量及各种操作符组成。表达式在由汇编程序处理时,应能得出一个常数值填入机器代码。在汇编期间不能求得确定值的表达式是错误的。

5、变量中的表达式的属性应和变量的属性相同。在质量中使用的表达式,其类型应和其它

操作数匹配。

6、表达式中常用的操作符:

(1)算术操作符 +、—、*、/、MOD

(2)逻辑操作符 AND、OR、XOR、NOT

(3)关系操作符 EQ、NE、LT、GT、LE、GE

(4)数值回送操作符 TYPE、LENGTH、SIZE、OFFSET、SEG

(5)属性操作符 PTR、SHORT、THIS、HIGH、LOW

[重难点]

1.教学重点

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

(1)语句的种类:指令语句、伪指令语句、宏指令语句

(2)指令语句格式和伪指令语句格式。

2、宏汇编语言中的表达式

(1)参数的表示

(2)变量和标号

(3)运算符

(4)宏汇编语言的常用分析操作符和合成操作符

(5)运算符和操作符的优先级

3、数据(变量)定义的语句和符号说明语句

(1)数据(变量)定义语句,重复操作符DUP

(2)符号定义语句

4、常用伪指令语句和源程序组织

(1)段定义语句

(2)段使用设定语句

(3)源程序结束语句

(4)汇编语言源程序的组织

(5)其它常用的伪指令

5、上机过程

(1)编辑、汇编、连结和调式过程、有关命令的使用。

(2)汇编程序的工作过程简单介绍

2.教学难点

1.伪指令的理解

2.宏指令的理解

3.常用伪指令语句和源程序组织

4.地址表达式的理解

[教学要求]

1.深入理解伪指令

2.常用伪指令语句和源程序组织应用

3.深入领会地址表达式

4.对地址表达式的组成的理解

第四单元汇编语言程序设计

[知识点]

程序框图、分支程序设计、循环程序设计、子程序设计、常用DOS系统功能调用、字符串处理

[教学内容]

1、程序设计的一般步骤

(1)分析所要解决的问题,确定适当的算法。

(2)设计整个程序的逻辑结构,画出程序框图。

(3)编写程序,正确运用IBM PC提供的指令、伪操作以及DOS、BIOS功能调用。同时简洁明了的说明注释。

(4)上机调试程序。

2、一个高质量程序应具有以下特点:

(1)程序有较好的逻辑结构,便于进行二次开发。

(2)源程序有较好的可读性。使非专业人员能读懂会用,甚至能加以修改。

(3)程序应有很好的可靠性和可维护性,也就是说要保证能正确地工作,并且易于做进一步的改进和完善。

(4)程序运行效率高而且有可重入性,这就要求尽量使用效高的指令,尽量减少程序的额外开销,同时程序的运行不能破坏程序的原始数据和指令。

3、子程序即是前述的过程。它是模块化、结构化程序设计的基本构件,其设计与调用技术是要求重点和熟悉掌握的内容。而对于子程序设计和调用技术,最关键的是要正确理解和熟悉掌握主、子程序的接口方法和主程序与子程序间的参数传递方法。

主程序与子程序的接口,一是要正确使用CALL/RET 指令对,它们必须成对出现;二是转子和返主过程中的现场保护和恢复。保护和恢复现场通常有两种方法:

(1)程序与子程序所使用的存储器单元和寄存器尽量分开,互不干扰。

(2)“现场”通过堆栈保护和恢复。分为两种情况:一是“现场”信息的保护和恢复安排在子程序中进行,即在子程序的开始处安排一段保护程序,在子程序结束前,再将有关部门内容恢复;二是安排在主程序中进行,即在调用子程序指令(CALL)前保护,在CALL指令后恢复。

4.主程序与子程序的参数传递

(1)存器参数传递

调用前,主程序将参数保存在某些通用寄存器中,子程序则直接使用寄存器中的参数。出口程序也通过寄存器返回给主程序。

寄存器参数传递简单快捷,单需占用通用寄存器,只适合参数较少的场合。

(2)存储器参数传递

利用制定的存储变量传递参数或通过地址表传送变量地址。此方法适合参数较多的场合,但需事先在内存中建立参数表,不如寄存器参数传递方便快捷。

(3)堆栈参数传递

主程序与子程序将要传递的信息放在堆栈中,使用时再从堆栈中取出。由于堆栈具有先进后出的特性,故多重调用中各重参数层次分明,适合参数较多且子程序有嵌套和递归调用的场合。实现可重入子程序,一般也是用堆栈传递参数。

[重难点]

1.教学重点

1、顺序程序设计

(1)顺序程序设计的基本方法

(2)简单查表法代码转换

2、分支程序设计

(1)分支程序设计的基本方法

(2)利用地址表实现多向分支

3、循环程序设计

(1)循环结构的组成和控制循环的一般方法

(2)简单循环和多重循环

4、子程序设计

(1)子程序设计的一般原则

(2)过程定义语句

(3)主程序与子程序的参数传递方法

(4)子程序说明信息和寄存器的保护和恢复

5、常用DOS系统功能调用

(1)DOS系统功能调用概述,调用方法

(2)常用DOS功能调用。

6、字符串处理

(1)字符串操作指令和重复前缀

(2)字符串处理

2。教学难点

1.分支程序设计应用

2.循环程序设计应用

3.子程序设计应用

[教学要求]

1.加强分支程序设计的训练

2.加强循环程序设计的训练

3.加强子程序设计的训练

第五单元输入和输出与中断

[知识点]

程序控制的I/O方式、中断传送方式、BIOS和DOS中断、常用BIOS和DOS调用

[教学内容]

1、程序控制的I/O方式

这种方式使用I/O指令(IN和OUT)直接在端口级上进行信息的输入/输出。CPU 与各设备之间以串行方式工作。CPU要通过测试I/O接口的状态来控制传送,若I/O设备没有准备好,CPU就循环测试,直到设备准备好,CPU就执行一次传送。

2、中断传送方式

这种I/O方式实质上是一种特殊情况下的程序转移方式。所谓特殊情况一般指:(1)计算机出现异常事件,如电源掉电,内存I/O总线奇偶错等。出现这样的事件,CPU应立即中断现行程序的运行,转去执行处理故障的子程序。

(2)程序中预先安排的中断指令(INT)或其它内部原因(如除法错等),使现行程序暂时中断,转去执行相应的处理子程序。

(3)外部设备一切准备就绪时,向CPU发出中断现行程序的请求,以处理外设的输入输出。

以上三类情况是引起中断发生的原因,称为中断源。第(1)类情况一般安排为非

屏蔽中断。第(2)类情况称为内中断,第(3)类情况为外中断,这是一些可屏蔽

的中断类型。

3、BIOS和DOS中断

驻留ROM的BIOS提供了主要I/O设备的中断例行程序以及接口控制等功能模块,因此可直接用指令设置参数,然后用中断指令INT调用BIOS中的例行程序。使用DOS功能调用其操作更为简易,对硬件的以来性更少一些。

(1)常用的BIOS中断调用:

INT 10H 显示器 INT 16H 键盘

INT 12H 内存检验 INT 17H 打印机

INT 13H 磁盘 INT 1AH 时钟

INT 14H 串行通讯 INT 40H 软盘

(2)常用的DOS中断调用:

INT 20H 程序结束

INT 21H 功能调用

键盘I/O(AH=1、6、7、8、A、B、C)

显示器I/O(AH=2、6、9)

打印机I/O)AH=5)

串行通讯I/O(AH=3、4)

[重难点]

1.教学重点

1、输入和输出的基本概念

(1)I/O端口地址

(2)CPU与外设之间交换的信息,数据传送方式。2、查询传送方式

3、中断传送方式

(1)中断传送方式概述

(2)中断源、可屏蔽中断、非屏蔽外部中断、内部中断(3)中断响应过程、中断向量表

4、基本输入输出系统BIOS

(1)概述

(2)BIOS中断服务程序调用

2.教学难点

1.各种传送方式的理解

2.DOS调用的应用

3.BIOS调用的应用

[教学要求]

1.理解各种传送方式

2.加强应用对象的理解

3.领会DOS调用

4.领会BIOS调用

四、学时分配

五、教材与参考书

教材:金汉均等编著. . 汇编语言程序设计武汉大学出版社,2007年9月

参考书:PETER ABEL 编著IBMPC ASSEMBL Y LANGUAGE AND PROGRAMMING (FOURTH EDITION).. 清华大学出版社,1998年5月第1版

六、考核方式

1、闭卷笔试

2、上机测试

七、成绩评定

1、平时成绩20%

2、上机测试成绩20%

3、笔试成绩60%

八、其它说明

汇编语言课程的主要任务是帮助学生理解和掌握微机的基本原理,并能够灵活的将汇编语言知识运用到实际问题的求解中。与其相配套的《汇编语言实验》的主要任务是则是使学生能搞达到用汇编语言上机并熟练的实现对实际问题的应用。

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

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 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.doczj.com/doc/2b15685423.html, 动态调试程序 EXE2BIN.EXE文件格式转换程序

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

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

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

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

新版汇编语言程序设计习题答案(钱晓捷主编) 第一章汇编语言基础知识 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)

汇编语言程序设计课后习题解答宋人杰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

《汇编语言程序设计》考纲、试题、答案

安徽新华学院成人高等学历教育 《汇编语言程序设计》课程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-2 POP 把字弹出堆栈. 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. 逻辑运算指令(按位运算)

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

汇编语言程序设计(第二版) 钱晓捷习题答案 第二章(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.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值? 用相应进制的数值加上进制标记即可。

大工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)算法程序框图:绘制流程图或原理图,从算法的开始 到结束的程序框图。

汇编语言课程教学大纲

《汇编语言》课程教学大纲 一、课程的性质和任务 《汇编语言》是计算机及相关专业的一门专业必修课。 本课程教学应达到的基本要求是: 1、加深对于微机结构及其内部运行过程的理解。 2、掌握Intel80x86汇编语言的语法、程序结构,能读懂和编写汇编语言程序。 3、了解BIOS、MS—DOS的功能调用方法,并掌握和运用主要的功能调用。 4、了解PC机主要外设的工作原理及简单编程方法。 5、掌握汇编语言的编程、调试技术,能够以汇编语言为工具,解决一些实际问题。 二、课时分配 本课程教学总时数为72学时,4学分,具体课时分配见课时分配表。 课时分配表 三、 课题一:基础知识 数制及数制间的转换(二进制、八进制、十进制、十六进制数概念及相互转换);二进制数的算术、逻辑运算;计算机中数和字符的表示(数值数据:原码、补码、反码的表示,字符数据的表示,数据类型等)。 重点:进位计数制及转换,ASCII码表示,数值数据表示等。 课题二:IBM PC 计算机组织 微型计算机系统基本结构(硬件、软件);中央处理器(组成、寄存器组);存储器等。

重点:8086CPU内容结构、寄存器组,存储器的地址和内容,内存地址的分段。 难点:逻辑地址和物理地址。 课题三:寻址方式与指令系统 寻址方式、指令格式、8086/8088指令系统(数据传送、算术运算、逻辑运算和移位运算、控制指令等)。 重点内容:1、掌握8086/8088CPU的寻址方式。 2、掌握8086/8088的常用指令。 了解内容:8086/8088指令系统的特点。 课题四:汇编语言程序格式 程序结构(分段式、简化式);伪操作;汇编语言程序格式;汇编、连接和运行;程序的调试与DEBUG。 课题五:分支与循环程序设计 顺序程序设计;分支程序设计;循环程序设计;串处理。 重点内容:顺序、分支和循环程序基本方法,能编写、运行、调试简单的汇编语言程序。 课题六:子程序与宏指令 子程序的设计方法;子程序嵌套;子程序举例;宏汇编。 课题七:输入与输出程序设计 输入与输出指令;输入输出控制方式;中断控制方式;中断处理程序举例。 课题八:BIOS和DOS中断 BIOS中断调用;DOS中断调用;键盘I/O调用;显示器I/O调用;其它调用(发声和时间中断等调用);显示方式;字符显示缓冲区的组织;图形方式下的编程。 重点内容:掌握DOS和BIOS中断方法。 四:说明 1、教材与参考书:教材选用《汇编语言》人民交通出版社 参考书选用《IBM PC 汇编语言程序设计》清华大学出版社 2、其它要求: (1)、该课程平时作业以课后习题为内容,由任课教师自行选择,次数在五次以上。 (2)、根据实验内容,填写实验报告8次,实验成绩计入课程总评分中。 3、预修课程:《C语言程序设计》、《计算机电路基础》 《汇编语言》课程实验教学大纲 一、实验教学目的

8086汇编语言程序设计

实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

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

第四章MCS-51汇编语言程序设计

第四章MCS-51汇编语言程序设计 重点及难点: 单片机汇编语言程序设计的基本概念、伪指令、单片机汇编语言程序的三种基本结构形式、常用汇编语言程序设计。 教学基本要求: 1、掌握汇编语言程序设计的基本概念; 2、掌握伪指令的格式、功能和使用方法; 3、掌握顺序结构、分支结构和循环结构程序设计的步骤和方法; 4、掌握常用汇编语言程序设计步骤和方法。 教学内容 §4.1汇编语言程序设计概述 一、汇编语言的特点 (1)助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。 (2)使用汇编语言编程比使用高级语言困难,因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。 (3)汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能够直接管理和控制硬件设备。 (4)汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用;但是掌握了一种计算机系统的汇编语言后,学习其他的汇编语言就不太困难了。 二、汇编语言的语句格式 [<标号>]:<操作码> [<操作数>];[<注释>] 三、汇编语言程序设计的步骤与特点 (1)建立数学模型 (2)确定算法 (3)制定程序流程图 (4)确定数据结构 (5)写出源程序 (6)上机调试程序 §4.2伪指令 伪指令是程序员发给汇编程序的命令,也称为汇编命令或汇编程序控制指令。 MCS- 51常见汇编语言程序中常用的伪指令:

第四章MCS-51汇编语言程序设计91 1.ORG (ORiGin)汇编起始地址命令 [<标号:>] ORG <地址> 2.END (END of assembly)汇编终止命令 [<标号:>] END [<表达式>] 3.EQU (EQUate)赋值命令 <字符名称> EQU <赋值项> 4.DB (Define Byte)定义字节命令 [<标号:>] DB <8位数表> 5.DW (Define Word)定义数据字命令 [<标号:>] DW <16位数表> 6.DS (Define Stonage )定义存储区命令 [<标号:>] DW <16位数表> 7.BIT位定义命令 <字符名称> BIT <位地址> 8.DA TA数据地址赋值命令 <字符名称> DATA <表达式> §4.3单片机汇编语言程序的基本结构形式 一、顺序程序 [例4-1]三字节无符号数相加,其中被加数在内部RAM的50H、51H和52H单元中;加数在内部RAM的53H、5414和55H单元中;要求把相加之和存放在50H、51H和52H单元中,进位存放在位寻址区的00H位中。 MOV R0 ,# 52H ;被加数的低字节地址 MOV R1 ,# 55H ;加数的低字节地址 MOV A ,@ R0 ADD A ,@ R1 ;低字节相加 MOV @ R0 , A ;存低字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;中间字节带进位相加 MOV @ R0 , A ;存中间字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;高字节带进位相加 MOV @ R0 , A ;存高字节相加结果 CLR A

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

课程教学大纲 (理论课) 课程名称:汇编语言程序设计 适用专业:计算机科学与技术 课程类别:学科基础课 制订时间: 2006年8月 数学与计算机科学学院制

汇编语言程序设计课程教学大纲 (2002年制订,2006年修订) 一、课程代码:0502121009 二、课程类别:学科基础课程 三、预修课程:计算机导论、高级语言程序设计等 四、学分: 4学分 五、学时: 86学时(其中实验部分32学时) 六、课程概述: 汇编语言是计算机能提供给用户最快也最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而在对于程序的空间和时间要求很高的场合,汇编语言是必不可少的,至于对于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可。 汇编语言作为计算机专业的一门必修课程是了解计算机体系结构和操作系统的最佳切入点。通过汇编语言课程的学习,对计算机理论中包括CPU体系结构、指令调度方式、存储器管理、基本输入输出接口的理解都会有一个比较本质而且直观的认识。在对汇编语言实际运用的基础上同时还能帮助对高级语言程序设计的深入体会,包括变量的组织,地址的访问,循环与分支在机器码中的处理,调用函数时参数的传递等,所以汇编语言在本专业中是一门核心的课程,通过对本课程的学习是加深对后续课程认识的基础。 七、教学目的: 通过对本课程的学习,掌握8086微处理器的寄存器组和基本寻址方式,学生要达到对程序在计算机中的基本调度有一定认识,对二进制基础理论有深入的理解,同时熟练掌握8086汇编语言的编写方式,掌握基本的系统调用,具备良好的源程序调试能力以及最基本的、实模式下的反汇编能力。

汇编语言程序设计打字练习程序

汇编语言课程设计报告 ( 2014 -- 2015 年度第 1 学期) 专业 xxx 学生姓名 xxxx 班级 xxx 学 号 xxxx 指导教师 xxx 完成日期 xxxxx 课题名称: 打字计时练习程序

目录 1.设计目的与设计要求 2.程序流程图 (5) 2.1主程序流程图 (5) 2.2时间计算流程图 (6) 2.3正确率计算流程图 (7) 3.设计关键问题 (9) 3.1输入输出 (9) 3.1.1 输出显示信息 (9) 3.1.2 输入十个字符 (11) 3.2 输入字符串所用时间计算 (11) 3.3 正确率判断 (13) 4.调试运行结果分析 (14) 参考文献 (19) 附录二打字计时练习程序 (19)

一.设计目的 本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程 序设计方法,提高分析问题,解决问题的综合应用能力。 设计要求 在缓冲区预放了一些字母,运行时,可按照屏幕上显示的字母输入练习,每输入完一行按回车键后,可显示出练习输入的时间。 设计思路 1.系统总体分析 在缓存区预放了一些字母,运行时可按照屏幕上显示的字母输入练习,每输入完一行按回车键后,可显示出练习输入的时间。当一个句子分析完后(回车键作为结束符),屏幕上以min:sec:msec的格式显示出键入字符的时间。在每次打字之前,屏幕上先显示一个例句,然后打字员按照例句,将句中字符通过键盘输入。这个过程共进行五次,当键入一个enter键时,推出打字计时练习程序。 在键盘上联系的打字例句及其他地址表,计时单位等预存在DATA数据段中。 自编的中断程序Kbint检测按键时产生的中断,并将按键扫描码转换为ASCII码存入缓存区BUFFER(内存中一个区域),这个工作和EOM09类型的键盘中断例行程序所完成的工作大致相同,只是在解释各个键时作了简化,即只解释了可显示字符(如英文小写字母,数字及一些字符),其他特殊键(如组合键,双态键,功能键),都未做解释,只做字符码0来处理。在主程序部分保存原有09类型的中断向量,设置自编例行程序的中断向量,设置中断屏蔽位,然后在开断。当键盘中断处理后,主程序安排指令读取缓存区中的字符并显示在屏幕上。在主程序的末尾,利用DOS功能恢复原09类型的中断向量,然后返回DOS。在显示键入的字符时,还应判断字符是否为回车符。说明一个句子输入完毕,此时调用显示时间的子程序显示打字时间,然后顺序显示一个例句。如果所存放的例句都已显示完毕,则再次从第一个例句开始显示,直至键入某个功能(如ESC键等)退出程序,结束打字练习。打字时间统计利用自编的计时器中断处理程序Clint来完成。 每输入一个例句,计时一次。在此中断例行程序中,定时器中断的次数记录在计

实验一基础汇编语言程序设计

实验一基础汇编语言程序设计 实验目的 1.学习和了解TEC-XP十六位机监控命令的用法; 2.学习和了解TEC-XP十六位机的指令系统; 3.学习简单的TEC-XP十六位机汇编程序设计。 实验内容 1.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容; 2.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。 3.学习联机使用TEC-XP教学试验系统和仿真终端软件。 实验要求 在使用该教学机之前,应先熟悉教学机的各个组成部分及其使用方法。 实验步骤 1.关闭电源,将大板上的COMl口与PC机的串口相连; 2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“l”或“2”,其它的设置一般不用改动,直接回车即可; 3.置控制开关为001110(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。其它实验相同; 4.按一下“RESET”按键,再按一下“START”’按键,主机上显示: 5.用R命令查看寄存器内容或修改寄存器的内容 1.用R命令查看寄存器或修改寄存器内容 1)在命令行提示符状态下输入: R↙;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。

2)在命令行提示符状态下输入: R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格, 也可有—个或数个空格 主机显示: 寄存器原值:xxxx 在后面输入新的值0036 再用R命令显示寄存器内容,则R0的内容变为0036。 2.用D命令显示存储器内容 在命令行提示符状态下输入: D 2000↙ 会显示从2000H地址开始的连续128个字的内容; 连续使用不带参数的D命令,起始地址会自动加128(即80H)。

2013年汇编语言程序设计课程设计

2013年汇编语言程序设计课程设计 一、作业题目 2013年汇编语言程序设计大型作业给出了3道题目,供大家凭自己的兴趣自由选择其中之一完成。这3道作业题目如下: 1.通用进制转换程序 2.两位数加减乘除程序 3.高精度乘法程序 二、交付的文档材料 1.程序系统说明书 内容包括: (1)程序系统总体的功能模块调用图及模块功能说明。 (2)程序系统的详细框图(每个子程序的流程图)。 (3)程序界面图。 (4)程序清单。 2.设计和实现的技术特点、不足和改进的建议 3.课程设计的体会。 4.程序源程序和可执行程序 三、评分说明 独立完成:60分,雷同或抄袭者不及格; 设计技术及技巧使用:25分; 文档质量:10分; 按时完成:5分。 可以自主扩充功能,有创新加分。 四、参考书 1.课本 2.《IBM-PC汇编语言程序设计》清华大学出版社 五、交付时间:第十八周的周五。

题目一通用进制转换程序 一、题目要求 实现不同进制之间的相互转换。(常用进制二、八、十、十六进制) 程序功能: 1.能通过键盘输入任一种进制,有相应的提示信息。 例如please input a Binary data: 2. 输入的数据要有容错检测。 例如:输入的二进制数据为1200,则应该出现错误信息提示。(因为2在二进制中是不允许的 3.输出的数据要有进制选择。 例如:请选择输出数据的进制(0: 二进制,1: 八进制……) 二、重点考察 1.用汇编实现简单的算法。 2.用汇编实现简单的数据结构。 3.可执行程序的参数使用。 4.INT 21H系统功能调用中有关显示与输出的操作 5.综合解决问题的能力。

相关主题
文本预览
相关文档 最新文档