资源描述:
《汇编语言程序设计第1章汇编语言基础知识ppt培训课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、8086/8088和基于ARM核汇编语言程序设计第1章汇编语言基础知识第1讲6/25/20211第1章汇编语言基础知识第1章汇编语言基础知识汇编语言基本概念数制、数制之间的转换、运算数和字符的表示教学重点:6/25/20212第1章汇编语言基础知识1.1汇编语言概述1.2进位计数制及其转换1.3计算机中数和字符的表示方法第1章汇编语言基础知识6/25/20213第1章汇编语言基础知识1.什么是汇编语言?2.为什么要学汇编(汇编有什么用)?3.如何才能学好汇编?4.参考资料5.教学大纲、教学计划6.答疑…6/25/20214第1章汇编语言基础知识自然语言是具有特定语音和语法等规范的、用于人
2、类表达思想并实现相互交流的工具。人与人之间只有使用同一种语言才能进行直接交流,否则就必须通过翻译。要使计算机为人类服务,人们就必须借助某种工具,告诉计算机“做什么”甚至“怎么做”,这种工具就是程序设计语言。程序设计语言通常分为三类:机器语言、汇编语言和高级语言。而前两种语言与机器密切相关,统称为低级语言。1.1.1汇编语言基本概念1.1汇编语言概述6/25/20215第1章汇编语言基础知识计算机语言的发展机器语言FORTRANBASICCOBOLPASCALC/C++JAVA...汇编语言高级语言1.1汇编语言概述1.1.1汇编语言基本概念6/25/20216第1章汇编语言基础知识计算机能够直
3、接识别的数据是由二进制数0和1组成的代码。机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。用机器语言编写的程序是计算机惟一能够直接识别并执行的程序,而用其他语言编写的程序必须经过翻译才能变换成机器语言程序,所以,机器语言程序被称为目标程序。机器语言1.1汇编语言概述1.1.1汇编语言基本概念6/25/20217第1章汇编语言基础知识为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。所以汇编语言是一种用符号书写的、基本操作与机器指令相对应的、并遵循一定语法规则的计算机语言。(例见下页)用汇编语言编写的程序称
4、为汇编源程序。汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。但是,汇编语言源程序要翻译成机器语言程序才可以由计算机执行。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序。汇编语言1.1汇编语言概述1.1.1汇编语言基本概念6/25/20218第1章汇编语言基础知识例如,在8086机器下,分别用汇编语言和机器语言计算10+20的程序代码如下:汇编语言机器语言MOVAL,10B00AADDAL,200414显然,使用汇编语言编写的程序要比机器语言更容易理解。1.1汇编语言概述1.1.1汇编语言基本概念6/25/20219第1章汇编语言基础知
5、识汇编语言虽然较机器语言直观,但仍然烦琐难懂。于是人们研制出了高级程序设计语言。高级程序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用。目前广泛应用的高级语言有多种,如BASIC、FORTRAN、PASCAL、C、C++等等。高级语言1.1汇编语言概述1.1.1汇编语言基本概念6/25/202110第1章汇编语言基础知识面向机器的低级语言,通常是为特定的计算机或计算机系列专门设计的。保持了机器语言的优点,具有直接和简捷的特点。可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。(例
6、见下页)经常与高级语言配合使用,应用十分广泛。1.1汇编语言概述1.1.2汇编语言的特点6/25/202111第1章汇编语言基础知识#include"stdafx.h"#include"stdio.h"intmain(intargc,char*argv[]){inta,b,c;a=1;b=2;c=a+b;printf(“c=%d",c);return0;}编程实现c=a+b,并在屏幕上显示出结果。编译后的目标文件达到3.59KB1.1汇编语言概述C语言实现1.1.2汇编语言的特点6/25/202112第1章汇编语言基础知识汇编语言实现汇编后的目标文件只有208字节datasegmentad
7、b?bdb?cdb?stringdb'c=$'dataendscodesegmentmainprocfarassumecs:code,ds:data,es:datastart:pushdssubax,axpushaxmovax,datamovds,axmoves,axmova,1movb,2moval,aaddal,bmovc,alleadx,stringmovah,09int21haddc,30