资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
安徽理工大学 计算机科学与技术系 李敬兆 汇编语言IBMPC汇编语言 程序设计(第二版)主讲 李敬兆1Ch1 基础知识安徽理工大学 计算机科学与技术系 李敬兆 汇编语言计算机语言的发展 机器语言FORTRANBASICCOBOLPASCALC/C+JAVA.汇编语言高级语言2Ch1 基础知识安徽理工大学 计算机科学与技术系 李敬兆 汇编语言计算机能够直接识别的数据是由二进制数计算机能够直接识别的数据是由二进制数0 0 和和1 1组成的代码。机器指令就是用二进制代码组组成的代码。机器指令就是用二进制代码组 成的指令成的指令,一条机器指令控制计算机完成一个基 本操作。 用机器语言编写的程序是计算机惟一能够用机器语言编写的程序是计算机惟一能够 直接识别并执行的程序直接识别并执行的程序,而用其他语言编写的程 序必须经过翻译才能变换成机器语言程序,所以 ,机器语言程序被称为目标程序。机器语言3Ch1 基础知识安徽理工大学 计算机科学与技术系 李敬兆 汇编语言为了克服机器语言的缺点,人们采用助记符助记符表示机 器指令的操作码,用变量变量代替操作数的存放地址等,这 样就形成了汇编语言。所以所以汇编语言是一种用符号书汇编语言是一种用符号书 写的、基本操作与机器指令相对应的、并遵循一定语写的、基本操作与机器指令相对应的、并遵循一定语 法规则的计算机语言。法规则的计算机语言。用汇编语言编写的程序称为汇编源程序用汇编语言编写的程序称为汇编源程序。 汇编语言是一种符号语言,比机器语言容易理解和 掌握,也容易调试和维护。但是,汇编语言源程序要汇编语言源程序要 翻译成机器语言程序才可以由计算机执行翻译成机器语言程序才可以由计算机执行。这个翻译 的过程称为“汇编汇编”,这种把汇编源程序翻译成目标把汇编源程序翻译成目标 程序的语言加工程序称为程序的语言加工程序称为汇编程序汇编程序。 汇编语言4Ch1 基础知识安徽理工大学 计算机科学与技术系 李敬兆 汇编语言汇编语言虽然较机器语言直观,但仍然烦琐难 懂。于是人们研制出了高级程序设计语言。高级程高级程 序设计语言接近于人类自然语言的语法习惯,与计序设计语言接近于人类自然语言的语法习惯,与计 算机硬件无关,易被用户掌握和使用算机硬件无关,易被用户掌握和使用。目前广泛 应用的高级语言有多种,如BASICBASIC、FORTRANFORTRAN、 PASCALPASCAL、C C、C+C+等等。高级语言高级语言5Ch1 基础知识汇编语言的特点 面向机器的低级语言面向机器的低级语言,通常是为特定的计算机或计算机系列专门设计专门设计的。 保持了机器语言的优点保持了机器语言的优点,具有直接和简捷直接和简捷的特点。 可有效地访问、控制计算机的各种硬件设备可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。 目标代码简短,占用内存少,执行速度快目标代码简短,占用内存少,执行速度快,是高效高效的程序设计语言。 经常与高级语言配合使用经常与高级语言配合使用,应用十分广泛。安徽理工大学 计算机科学与技术系 李敬兆 汇编语言6Ch1 基础知识#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+b,并在屏幕上显示出结果并在屏幕上显示出结果。 例例1 1编译后的目标文编译后的目标文 件达到件达到3.59KB3.59KB安徽理工大学 计算机科学与技术系 李敬兆 汇编语言7Ch1 基础知识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例 2. C = a + b汇编后的目汇编后的目 标文件只有标文件只有 208208字节字节安徽理工大学 计算机科学与技术系 李敬兆 汇编语言8Ch1 基础知识建议充分注意“汇编”课实践性强的特点 ,多读程序,多写程序,多上机调试程序,熟悉PC机的编程结构,掌握汇编语言及其程序设计的基本概念、方法和技巧。安徽理工大学 计算机科学与技术系 李敬兆 汇编语言9Ch1 基础知识第1章 基 础 知 识 数制 数制之间的转换 运算 数和字符的表示安徽理工大学 计算机科学与技术系 李敬兆 汇编语言10Ch1 基础知识预 备 知 识存储容量 1K = 1024B = 210 (Kilo) 1M = 1024K = 220 (Mega) 1G = 1024M = 230 (Giga)1个二进制位:bit (比特) 8个二进制位:Byte (字节) 1Byte = 8bit 2个字节: Word (字) 1Word = 2Byte = 16bit安徽理工大学 计算机科学与技术系 李敬兆 汇编语言11Ch1 基础知识1.1.1 数 制数 制 基 数 数 码二进制二进制 BinaryBinary 2 0, 1八进制八进制 OctalOctal 8 0, 1, 2, 3, 4, 5, 6, 7十进制十进制 DecimalDecimal 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, 01119 1 8 7= 9 16 3 + 1 16 2 + 8 16 1 + 7 16 0安徽理工大学 计算机科学与技术系 李敬兆 汇编语言 1. 1 . 1 数数 制与转换制与转换12Ch1 基础知识安徽理工大学 计算机科学与技术系 李敬兆 汇编语言 任何进制的数都可用如下方法表示任何进制的数都可用如下方法表示: N = Ki * ri 其中:KKi i 是任一个数码;是任一个数码;r ri i是各位对应的权是各位对应的权r r 是基数是基数ni=-m13Ch1 基础知识1.1.2 数制之间的转换 二进制二进制 十六进制十六进制 十进制十进制 二进制二进制 十进制十进制 十六进制十六进制降幂法降幂法 除法除法安徽理工大学 计算机科学与技术系 李敬兆 汇编语言14Ch1 基础知识 二进制二进制 十六进制十六进制0011 0101 1011 1111 3 5 B F 0011,0101,1011,1111B = 35BFHA 1 9 C 1010 0001 1001 1100 A19CH = 1010,0001,1001,1100B安徽理工大学 计算机科学与技术系 李敬兆 汇编语言15Ch1 基础知识安徽理工大学 计算机科学与技术系 李敬兆 汇编语言十六进制和二进制的相互转换方法:对于二进制整数,只要从右到左每4位组成一组,不足4位最左边 补0,即可得到相应的十六进制。对于二进制小数,只要从左到右每4位组成一组,不足4位最右边补0,即可得到相应的十六进制。 0 111 1101. 0101 11 0 0 7 D 5 C (1111101.0101111)2 = (7D.5C)16如果将十六进制转成二进制数,只要每一位十六进制数用四位二 进制数表示即可。补0补016Ch1 基础知识降幂法降幂法 除法除法例: 27D = ? B2727 11 3 3 1 11 3 3 1- - - -2n 16 8 4 2 116 8 4 2 11 1 0 1 1 2727D = 1101111011B二进制二进制 十进制十进制安徽理工大学 计算机科学与技术系 李敬兆 汇编语言 二进制二进制 十进制十进制1011B = 23+21+20=11D二进制二进制 十进制十进制17
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号