《汇编语言程序设计第1章汇编语言基础知识ppt培训课件》由会员分享,可在线阅读,更多相关《汇编语言程序设计第1章汇编语言基础知识ppt培训课件(61页珍藏版)》请在金锄头文库上搜索。
1、2018/9/17,第1章 汇编语言基础知识,1,8086/8088和基于ARM核汇编语言程序设计,第1章 汇编语言基础知识,第1讲,2018/9/17,第1章 汇编语言基础知识,2,第1章 汇编语言基 础 知 识, 汇编语言基本概念 数制、数制之间的转换、运算 数和字符的表示,教学重点:,2018/9/17,第1章 汇编语言基础知识,3,1.1 汇编语言概 述,1.2 进位计数制及其转换,1.3 计算机中数和字符的表示方法,第1章 汇编语言基础知识,2018/9/17,第1章 汇编语言基础知识,4,1. 什么是汇编语言? 2. 为什么要学汇编(汇编有什么用)? 3. 如何才能学好汇编? 4.
2、 参考资料 5. 教学大纲 、教学计划 6. 答疑 ,2018/9/17,第1章 汇编语言基础知识,5,自然语言是具有特定语音和语法等规范的、用于人类表达思想并实现相互交流的工具。人与人之间只有使用同一种语言才能进行直接交流,否则就必须通过翻译。要使计算机为人类服务,人们就必须借助某种工具,告诉计算机“做什么”甚至“怎么做”,这种工具就是程序设计语言。程序设计语言通常分为三类:机器语言、汇编语言和高级语言。而前两种语言与机器密切相关,统称为低级语言。,1.1.1 汇编语言基本概念,1.1 汇编语言概述,2018/9/17,第1章 汇编语言基础知识,6,计算机语言的发展,机器语言,FORTRAN
3、 BASIC COBOL PASCAL C/C+ JAVA .,1.1 汇编语言概述,1.1.1 汇编语言基本概念,2018/9/17,第1章 汇编语言基础知识,7,计算机能够直接识别的数据是由二进制数0和1组成的代码。机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。用机器语言编写的程序是计算机惟一能够直接识别并执行的程序,而用其他语言编写的程序必须经过翻译才能变换成机器语言程序,所以,机器语言程序被称为目标程序。,机器语言,1.1 汇编语言概述,1.1.1 汇编语言基本概念,2018/9/17,第1章 汇编语言基础知识,8,为了克服机器语言的缺点,人们采用助记符表
4、示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。所以汇编语言是一种用符号书写的、基本操作与机器指令相对应的、并遵循一定语法规则的计算机语言。(例见下页)用汇编语言编写的程序称为汇编源程序。 汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。但是,汇编语言源程序要翻译成机器语言程序才可以由计算机执行。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序。,汇编语言,1.1 汇编语言概述,1.1.1 汇编语言基本概念,2018/9/17,第1章 汇编语言基础知识,9,例如,在8086机器下,分别用汇编语言和机器语言计算10+
5、20的程序代码如下:汇编语言 机器语言MOV AL,10 B0 0AADD AL,20 04 14 显然,使用汇编语言编写的程序要比机器语言更容易理解。,1.1 汇编语言概述,1.1.1 汇编语言基本概念,2018/9/17,第1章 汇编语言基础知识,10,汇编语言虽然较机器语言直观,但仍然烦琐难懂。于是人们研制出了高级程序设计语言。高级程序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用。目前广泛应用的高级语言有多种,如BASIC、FORTRAN、PASCAL、C、C+等等。,高级语言,1.1 汇编语言概述,1.1.1 汇编语言基本概念,2018/9/17,第1章
6、汇编语言基础知识,11,面向机器的低级语言,通常是为特定的计算机或计算机系列专门设计的。保持了机器语言的优点,具有直接和简捷的特点。可有效地访问、控制计算机的各种硬件设备, 如磁盘、存储器、CPU、I/O端口等。目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 (例见下页)经常与高级语言配合使用,应用十分广泛。,1.1 汇编语言概述,1.1.2 汇编语言的特点,2018/9/17,第1章 汇编语言基础知识,12,#include “stdafx.h“#include “stdio.h“int main(int argc, char* argv) int a,b,c;a=1; b=2
7、;c=a+b;printf(“c=%dn“,c);return 0;,编程实现 c =a+b,并在屏幕上显示出结果。,编译后的目标文件达到3.59KB,1.1 汇编语言概述,C 语言实现,1.1.2 汇编语言的特点,2018/9/17,第1章 汇编语言基础知识,13,汇编 语言实现,汇编后的目标文件只有208字节,data segment a db ? b db ? c db ? string db c=$ data endscode segment main proc farassume cs:code, ds:data, es:data start:push dssub ax,axpush
8、 axmov ax,datamov ds,axmov es,ax,mov a,1mov b,2mov al,aadd al,bmov c,allea dx,stringmov ah,09int 21hadd c,30hmov dl,cmov ah,2int 21hmov dl,0ahint 21hmov dl,0dhint 21hret main endp code endsend start,1.1 汇编语言概述,编程实现 c =a+b,并在屏幕上显示出结果。,1.1.2 汇编语言的特点,2018/9/17,第1章 汇编语言基础知识,14,汇编语言的应用: 系统程序、效率代码、I/O驱动程序
9、70%以上的系统软件是用汇编语言编写的。某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。高级绘图程序、视频游戏程序一般是用汇编语言编写的。,2018/9/17,第1章 汇编语言基础知识,15,2. 为什么要学汇编(汇编有什么用)?汇编语言的应用 可以帮组理解微机的工作原理(见演示) 后续课程的基础 考研 ,返回,2018/9/17,第1章 汇编语言基础知识,16,3. 如何才能学好汇编?学习方法: 课前预习+听课+课后复习课程特点:充分注意“汇编”课实践性强的特点,多读程序,多写程序,多上机调试程序, 学习:作业和实验学问:同学网络老师学习特点:自学能力(查资料),返回,201
10、8/9/17,第1章 汇编语言基础知识,17,4.参考资料:1. 徐建民等编著. 汇编语言程序设计.北京:电子工业出版社2. 沈美明等编著. IBM PC 汇编语言程序设计. 北京:清华大学出版社3. 杨季文等编著. 80X86汇编语言程序设计教程.北京:清华大学出版社4. 赵彦强. 微机原理与接口技术(安徽省高等学校“十一五”省级规划教材) . 合肥:合肥工业大学大学出版社5. 周国祥. 微机原理与接口技术(安徽省高等学校“十一五”省级规划教材). 合肥:中国科学技术大学出版社。,返回,2018/9/17,第1章 汇编语言基础知识,18,5.汇编语言教学大纲 二、课程性质、目的与任务汇编语言
11、程序设计是计算机专业中一门十分重要的专业必修课,通过本课程的学习,使学生掌握汇编语言程序设计方法和技能。本课程的基本任务是:使学生了解和掌握80x86计算机CPU的结构,存储器的组织方式,8086/8088计算机的寻址方式,80868088指令系统, 80x86、Pentium增强和扩充指令,基本的汇编语言程序设计方法和技能及高级汇编语言技术,并能熟练运用汇编语言进行程序设计。,返回,2018/9/17,第1章 汇编语言基础知识,19,教学计划: 40课时+16上机 第一章 汇编语言 数制 数制之间的转换 数和字符的表示 运算 第二章 计算机组织 CPU 存储器 外部设备 第三章 寻址方式 指
12、令系统 BIOS和DOS调用 第四章 伪操作 完整段定义格式 上机过程 第五章 基本程序设计 第六章 输入/输出程序设计 第七章 循环程序设计 第八章 分支程序设计 第九章 子程序结构 第十一章 高级汇编语言技术 复习,返回,2018/9/17,第1章 汇编语言基础知识,20,6.答疑(解惑):1.答疑(邮件、课中、课后)2.E-mail:3.成绩=平时(课堂、作业和实验)+考试,返回,2018/9/17,第1章 汇编语言基础知识,21,Q: 下列哪个不是汇编语言的特点:( )A、执行速度快 B、可以直接控制硬件 C、可以方便地移植 D、程序编制耗时 A:C,第二讲,2018/9/17,第1章
13、 汇编语言基础知识,22,1.1 汇编语言概述,1.2 进位计数制及其转换,1.3 计算机中数和字符的表示方法,第1章 汇编语言基础知识,2018/9/17,第1章 汇编语言基础知识,23,计算机内部的信息分为两大类:控制信息和数据信息。控制信息是一系列的控制命令,用于指挥计算机如何操作;数据信息是计算机操作的对象,一般又可分为数值数据和非数值数据。对计算机而言,不论是控制命令还是数据,它们都要用“0”和“1”两个基本符号即基2码来编码表示,这是由于以下三个原因: (1)基2码在物理上最容易实现。例如,用高、低两个电位表示“1”和“0”,或用脉冲的有、无表示“1”和“0” 等等,可靠性都较高。
14、 (2)基2码用来表示二进制数,其编码及加减运算规则简单。 (3)基2码的两个符号“1”和“0”正好与逻辑数据“真”与“假”相对应,为计算机实现逻辑运算带来了方便。因此,不论是什么信息,在输入计算机内部时,都必须用基2码编码表示,以方便存储、传送和处理。,1.2 进位计数制及其转换,2018/9/17,第1章 汇编语言基础知识,24,预 备 知 识,存储容量 1K = 1024B = 210 (Kilo) 1M = 1024K = 220 (Mega) 1G = 1024M = 230 (Giga)1个二进制位:bit (比特) 8个二进制位:Byte (字节) 1Byte = 8bit 2个
15、字节: Word (字) 1Word = 2Byte = 16bit,1.2 进位计数制及其转换,2018/9/17,第1章 汇编语言基础知识,25,1.2.1 数与数制,1数的表示,二进制:基数为2,逢二进一11012 = 12 3 + 12 2 + 12 0 = 1310 十六进制:基数为16,逢十六进一1001, 0001, 1000, 01119 1 8 7= 9 16 3 + 1 16 2 + 8 16 1 + 7 16 0,1.2 进位计数制及其转换,为什么引入 八进制 、十六进制?,2018/9/17,第1章 汇编语言基础知识,26,任何进制的数都可用如下方法表示: N = Ki * ri 其中:Ki 是任一个数码; ri是各位对应的权r 是基数,