资源预览内容
第1页 / 共61页
第2页 / 共61页
第3页 / 共61页
第4页 / 共61页
第5页 / 共61页
第6页 / 共61页
第7页 / 共61页
第8页 / 共61页
第9页 / 共61页
第10页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
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. 参考资料 5. 教学大纲 、教学计划 6. 答疑 ,2018/9/17,第1章 汇编语言基础知识,5,自然语言是具有特定语音和语法等规范的、用于人类表达思想并实现相互交流的工具。人与人之间只有使用同一种语言才能进行直接交流,否则就必须通过翻译。要使计算机为人类服务,人们就必须借助某种工具,告诉计算机“做什么”甚至“怎么做”,这种工具就是程序设计语言。程序设计语言通常分为三类:机器语言、汇编语言和高级语言。而前两种语言与机器密切相关,统称为低级语言。,1.1.1 汇编语言基本概念,1.1 汇编语言概述,2018/9/17,第1章 汇编语言基础知识,6,计算机语言的发展,机器语言,FORTRAN 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,为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。所以汇编语言是一种用符号书写的、基本操作与机器指令相对应的、并遵循一定语法规则的计算机语言。(例见下页)用汇编语言编写的程序称为汇编源程序。 汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。但是,汇编语言源程序要翻译成机器语言程序才可以由计算机执行。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序。,汇编语言,1.1 汇编语言概述,1.1.1 汇编语言基本概念,2018/9/17,第1章 汇编语言基础知识,9,例如,在8086机器下,分别用汇编语言和机器语言计算10+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章 汇编语言基础知识,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;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 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驱动程序70%以上的系统软件是用汇编语言编写的。某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。高级绘图程序、视频游戏程序一般是用汇编语言编写的。,2018/9/17,第1章 汇编语言基础知识,15,2. 为什么要学汇编(汇编有什么用)?汇编语言的应用 可以帮组理解微机的工作原理(见演示) 后续课程的基础 考研 ,返回,2018/9/17,第1章 汇编语言基础知识,16,3. 如何才能学好汇编?学习方法: 课前预习+听课+课后复习课程特点:充分注意“汇编”课实践性强的特点,多读程序,多写程序,多上机调试程序, 学习:作业和实验学问:同学网络老师学习特点:自学能力(查资料),返回,2018/9/17,第1章 汇编语言基础知识,17,4.参考资料:1. 徐建民等编著. 汇编语言程序设计.北京:电子工业出版社2. 沈美明等编著. IBM PC 汇编语言程序设计. 北京:清华大学出版社3. 杨季文等编著. 80X86汇编语言程序设计教程.北京:清华大学出版社4. 赵彦强. 微机原理与接口技术(安徽省高等学校“十一五”省级规划教材) . 合肥:合肥工业大学大学出版社5. 周国祥. 微机原理与接口技术(安徽省高等学校“十一五”省级规划教材). 合肥:中国科学技术大学出版社。,返回,2018/9/17,第1章 汇编语言基础知识,18,5.汇编语言教学大纲 二、课程性质、目的与任务汇编语言程序设计是计算机专业中一门十分重要的专业必修课,通过本课程的学习,使学生掌握汇编语言程序设计方法和技能。本课程的基本任务是:使学生了解和掌握80x86计算机CPU的结构,存储器的组织方式,8086/8088计算机的寻址方式,80868088指令系统, 80x86、Pentium增强和扩充指令,基本的汇编语言程序设计方法和技能及高级汇编语言技术,并能熟练运用汇编语言进行程序设计。,返回,2018/9/17,第1章 汇编语言基础知识,19,教学计划: 40课时+16上机 第一章 汇编语言 数制 数制之间的转换 数和字符的表示 运算 第二章 计算机组织 CPU 存储器 外部设备 第三章 寻址方式 指令系统 BIOS和DOS调用 第四章 伪操作 完整段定义格式 上机过程 第五章 基本程序设计 第六章 输入/输出程序设计 第七章 循环程序设计 第八章 分支程序设计 第九章 子程序结构 第十一章 高级汇编语言技术 复习,返回,2018/9/17,第1章 汇编语言基础知识,20,6.答疑(解惑):1.答疑(邮件、课中、课后)2.E-mail:jipingahut.edu.cn3.成绩=平时(课堂、作业和实验)+考试,返回,2018/9/17,第1章 汇编语言基础知识,21,Q: 下列哪个不是汇编语言的特点:( )A、执行速度快 B、可以直接控制硬件 C、可以方便地移植 D、程序编制耗时 A:C,第二讲,2018/9/17,第1章 汇编语言基础知识,22,1.1 汇编语言概述,1.2 进位计数制及其转换,1.3 计算机中数和字符的表示方法,第1章 汇编语言基础知识,2018/9/17,第1章 汇编语言基础知识,23,计算机内部的信息分为两大类:控制信息和数据信息。控制信息是一系列的控制命令,用于指挥计算机如何操作;数据信息是计算机操作的对象,一般又可分为数值数据和非数值数据。对计算机而言,不论是控制命令还是数据,它们都要用“0”和“1”两个基本符号即基2码来编码表示,这是由于以下三个原因: (1)基2码在物理上最容易实现。例如,用高、低两个电位表示“1”和“0”,或用脉冲的有、无表示“1”和“0” 等等,可靠性都较高。 (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个字节: 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 是基数,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号