IBM-PC汇编语言(①基础知识).ppt
《IBM-PC汇编语言(①基础知识).ppt》由会员分享,可在线阅读,更多相关《IBM-PC汇编语言(①基础知识).ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 IBMPCIBMPC汇编语言汇编语言程序设计程序设计(第二版第二版)主讲主讲 李敬兆李敬兆1 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 计算机语言的发展计算机语言的发展 机器语言机器语言FORTRANFORTRANBASICBASICCOBOLCOBOLPASCALPASCALC/C+C/C+JAVAJAVA.汇编语言汇编语言高级语言高级语言2 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 计算
2、机能够直接识别的数据是由二进制数计算机能够直接识别的数据是由二进制数计算机能够直接识别的数据是由二进制数计算机能够直接识别的数据是由二进制数0 0 0 0和和和和1 1 1 1组成的代码。机器指令就是用二进制代码组组成的代码。机器指令就是用二进制代码组组成的代码。机器指令就是用二进制代码组组成的代码。机器指令就是用二进制代码组成的指令成的指令成的指令成的指令,一条机器指令控制计算机完成一个基,一条机器指令控制计算机完成一个基本操作。本操作。用机器语言编写的程序是计算机惟一能够用机器语言编写的程序是计算机惟一能够用机器语言编写的程序是计算机惟一能够用机器语言编写的程序是计算机惟一能够直接识别并执
3、行的程序直接识别并执行的程序直接识别并执行的程序直接识别并执行的程序,而用其他语言编写的程,而用其他语言编写的程序必须经过翻译才能变换成机器语言程序,所以,序必须经过翻译才能变换成机器语言程序,所以,机器语言程序被称为机器语言程序被称为目标程序目标程序。机器语言机器语言3 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 为了克服机器语言的缺点,人们采用为了克服机器语言的缺点,人们采用助记符助记符助记符助记符表示机表示机器指令的操作码器指令的操作码,用用变量变量变量变量代替操作数的存放地址等,这代替操作数的存放地址等,这样就形成了汇编语言。样就形成
4、了汇编语言。所以所以所以所以汇编语言是一种用符号书汇编语言是一种用符号书汇编语言是一种用符号书汇编语言是一种用符号书写的、基本操作与机器指令相对应的、并遵循一定语写的、基本操作与机器指令相对应的、并遵循一定语写的、基本操作与机器指令相对应的、并遵循一定语写的、基本操作与机器指令相对应的、并遵循一定语法规则的计算机语言。法规则的计算机语言。法规则的计算机语言。法规则的计算机语言。用汇编语言编写的程序称为汇编源程序用汇编语言编写的程序称为汇编源程序用汇编语言编写的程序称为汇编源程序用汇编语言编写的程序称为汇编源程序。汇编语言是一种符号语言,比机器语言容易理解和汇编语言是一种符号语言,比机器语言容易
5、理解和掌握,也容易调试和维护。但是,掌握,也容易调试和维护。但是,汇编语言源程序要汇编语言源程序要汇编语言源程序要汇编语言源程序要翻译成机器语言程序才可以由计算机执行翻译成机器语言程序才可以由计算机执行翻译成机器语言程序才可以由计算机执行翻译成机器语言程序才可以由计算机执行。这个翻译。这个翻译的过程称为的过程称为“汇编汇编汇编汇编”,这种,这种把汇编源程序翻译成目标把汇编源程序翻译成目标把汇编源程序翻译成目标把汇编源程序翻译成目标程序的语言加工程序称为程序的语言加工程序称为程序的语言加工程序称为程序的语言加工程序称为汇编程序汇编程序汇编程序汇编程序。汇编语言汇编语言4 安徽理工大学安徽理工大学
6、 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 汇编语言虽然较机器语言直观,但仍然烦琐难汇编语言虽然较机器语言直观,但仍然烦琐难懂。于是人们研制出了高级程序设计语言。懂。于是人们研制出了高级程序设计语言。高级程高级程高级程高级程序设计语言接近于人类自然语言的语法习惯,与计序设计语言接近于人类自然语言的语法习惯,与计序设计语言接近于人类自然语言的语法习惯,与计序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用算机硬件无关,易被用户掌握和使用算机硬件无关,易被用户掌握和使用算机硬件无关,易被用户掌握和使用。目前广泛目前广泛应用的高级语言有多种,如应
7、用的高级语言有多种,如BASICBASICBASICBASIC、FORTRANFORTRANFORTRANFORTRAN、PASCALPASCALPASCALPASCAL、C C C C、C+C+C+C+等等。等等。高级语言高级语言5汇编语言的特点汇编语言的特点 面向机器的低级语言面向机器的低级语言面向机器的低级语言面向机器的低级语言,通常是为特定的计算,通常是为特定的计算 机或计算机系列机或计算机系列专门设计专门设计专门设计专门设计的。的。保持了机器语言的优点保持了机器语言的优点保持了机器语言的优点保持了机器语言的优点,具有,具有直接和简捷直接和简捷直接和简捷直接和简捷 的特点。的特点。可有
8、效地访问、控制计算机的各种硬件设备可有效地访问、控制计算机的各种硬件设备可有效地访问、控制计算机的各种硬件设备可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、如磁盘、存储器、CPUCPU、I/OI/O端口等。端口等。目标代码简短,占用内存少,执行速度快目标代码简短,占用内存少,执行速度快目标代码简短,占用内存少,执行速度快目标代码简短,占用内存少,执行速度快,是是高效高效高效高效的程序设计语言。的程序设计语言。经常与高级语言配合使用经常与高级语言配合使用经常与高级语言配合使用经常与高级语言配合使用,应用十分广泛,应用十分广泛。安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术
9、系 李敬兆李敬兆 汇编语言汇编语言6#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+bc=a+bc=a+bc=a+b,并在屏幕上显示出结果,并在屏幕上显示出结果,并在屏幕上显示出结果,并在屏幕上显示出结果。例例例例1 1 1 1编译后的目标文编译后的目标文编译后的目标文编译后的目标文件达到件达到件达到件达到3.59KB3.59KB 安徽理工大学安徽理工大学 计算机科学与技术系计算
10、机科学与技术系 李敬兆李敬兆 汇编语言汇编语言7data segmentdata segmenta db?a db?b db?b db?c db?c db?string db c=$string db c=$data endsdata endscode segmentcode segmentmain proc farmain proc far assume cs:code,assume cs:code,ds:data,es:datads:data,es:datastart:start:push dspush ds sub ax,ax sub ax,ax push ax push ax mov
11、ax,data mov ax,data mov ds,ax mov ds,ax mov es,ax mov es,ax mov a,1mov a,1 mov b,2 mov b,2 mov al,a mov al,a add al,b add al,b mov c,al mov c,al lea dx,stringlea dx,string mov ah,09 mov ah,09 int 21h int 21h add c,30hadd c,30h mov dl,c mov dl,c mov ah,2 mov ah,2 int 21h int 21h mov dl,0ah mov dl,0ah
12、 int 21h int 21h mov dl,0dh mov dl,0dh int 21h int 21h ret retmain endpmain endpcode endscode ends end start end start例例 2.C=a+b 2.C=a+b汇编后的目汇编后的目汇编后的目汇编后的目标文件只有标文件只有标文件只有标文件只有208208208208字节字节字节字节 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言8建议建议 充分注意充分注意“汇编汇编”课实践性强的特点,课实践性强的特点,多读程序多读程序,多写程序多写程序,
13、多上机调试程序多上机调试程序,熟悉熟悉PCPC机的编程结构,机的编程结构,掌握汇编语言及其程序设计的基本概掌握汇编语言及其程序设计的基本概 念、方法和技巧念、方法和技巧。安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言9第第1章章 基基 础础 知知 识识 数制数制 数制之间的转换数制之间的转换 运算运算 数和字符的表示数和字符的表示 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言10预预 备备 知知 识识存储容量存储容量1K =1024B =210 (Kilo)1M=1024K =220 (Mega)
14、1G =1024M=230 (Giga)1个二进制位:个二进制位:bit (比特)(比特)8个二进制位:个二进制位:Byte (字节)(字节)1Byte=8bit2个字节:个字节:Word(字)(字)1Word=2Byte=16bit 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言111.1.1 数数 制制 数数 制制 基基 数数 数数 码码 二进制二进制二进制二进制 BinaryBinary 2 0,1 八进制八进制八进制八进制 Octal Octal 8 0,1,2,3,4,5,6,7 十进制十进制十进制十进制 DecimalDecimal
15、10 0,1,2,3,4,5,6,7,8,9 十六进制十六进制十六进制十六进制 HexadecimalHexadecimal 16 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F二进制:二进制:二进制:二进制:基数为基数为基数为基数为2 2,逢二进一,逢二进一,逢二进一,逢二进一 11012 =12 3 +12 2 +12 0 =1310十六进制:基数为十六进制:基数为十六进制:基数为十六进制:基数为1616,逢十六进一,逢十六进一,逢十六进一,逢十六进一 1001,0001,1000,0111 9 1 8 7 =9 16 3 +1 16 2 +8 16 1 +7 16 0 安
16、徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言1.1 .1 数数数数 制与转换制与转换制与转换制与转换12 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 任何进制的数都可用如下方法表示任何进制的数都可用如下方法表示任何进制的数都可用如下方法表示任何进制的数都可用如下方法表示:N=Ki *ri 其中:其中:Ki 是任一个数码;是任一个数码;ri是各位对应的权是各位对应的权 r 是基数是基数ni=-m131.1.2 数制之间的转换数制之间的转换 二进制二进制二进制二进制 十六进制十六进制十六进制十六进制
17、 十进制十进制十进制十进制 二进制二进制二进制二进制 十进制十进制十进制十进制 十六进制十六进制十六进制十六进制降幂法降幂法降幂法降幂法 除法除法除法除法 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言14 二进制二进制 十六进制十六进制 0011 0101 1011 1111 3 5 B F 0011,0101,1011,1111B=35BFH A 1 9 C 1010 0001 1001 1100 A19CH=1010,0001,1001,1100B 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IBM PC 汇编语言 基础知识
限制150内