汇编语言程序设计:前言.ppt
《汇编语言程序设计:前言.ppt》由会员分享,可在线阅读,更多相关《汇编语言程序设计:前言.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、0,主讲人 刘雪洁,Assembly Language Programming,汇编语言程序设计,1,课程介绍,汇编语言程序设计课程是国家教育部所属高等院校计算机软硬件专业的专业基础课、必修课。 作为一种低级语言,汇编语言是高级语言程序设计的基础,通常被视为微型计算机的又一核心内容。虽然现今大量问题都可应用高级语言编程,但汇编语言是能够利用计算机所有硬件特性并能直接控制硬件的惟一语言,对于直接控制硬件的应用场合或若干实时处理与控制的应用开发项目,汇编语言具有明显的优势。,2,使用教材,沈美明、温冬婵编著IBM-PC汇编语言程序设计(第2版)清华大学出版社 2001年参考:1王爽编著汇编语言 清
2、华大学出版社 2003年2钱晓捷编著汇编语言程序设计 电子工业出版社 2003年,3,教学内容,第1章 汇编语言基础知识第2章 80x86的指令系统第3章 汇编语言程序格式第4章 基本汇编语言程序设计第5章 高级汇编语言程序设计,4,第1章 汇编语言基础知识,1.1 汇编语言及意义1.2 数据编码与运算1.3 数据表示1.4 80x86CPU和寄存器组1.5 存储器和端口,5,1.1.1机器语言 计算机能够直接识别的数据是由二进制数0和1组成的代码。 机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。 用机器语言编写的程序是计算机惟一能够直接识别并执行的程序,而用其他
3、语言编写的程序必须经过翻译才能变换成机器语言程序。,1.1 汇编语言及意义,返回本章,6,1.1.2汇编语言 汇编语言是一种用符号书写的、基本操作与机器指令相对应的、并遵循一定语法规则的计算机语言。 汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。 但对于汇编语言编写的程序必须经过汇编和连接之后,才能在计算机上执行。,返回本节,返回本章,7,用汇编语言编写的程序称为汇编源程序。采用微机中任何一个文本编辑器编写汇编语言源程序。 汇编程序可将汇编语言源程序翻译成机器代码目标模块。 80x86CPU的汇编程序主要有微软的宏汇编程序MASM。较著名的还有Borland公司的TASM
4、,无实质差别。,返回本节,返回本章,8,连接程序将汇编后的目标模块转换为可执行程序。连接程序的文件名通常是:LINK.EXE。,返回本节,返回本章,9,1.1.3高级语言 高级程序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用。1.1.4汇编语言特点汇编语言程序与处理器指令系统密切相关。程序员可直接、有效地控制系统硬件。形成的可执行文件运行速度快、占用主存容量少。,返回本节,返回本章,10,1.2 数据编码与运算,1.2.1各种进位计数制 (1)十进制计数 十进制数的基数为10,采用数字0、1、2、3、4、5、6、7、8、9共10个数码来计数。每位数字的10k为该位
5、数字的权。 例: (795.412)10 = 710291015100410-1110-2210-3,返回本章,11,(2)二进制计数 二进制数的基数为2,只有0、1两个数码,并遵循逢2进1的规则,它的各位权是以2k表示的。 例: (11.1001)2 = 12112012-102-202-312-4n位二进制数可以表示2n个数,例如3位二进制数可以表示8个数,即000-111。4位二进制数则表示16个数,即0000-1111。,返回本节,返回本章,12,(3)八进制和十六进制计数 为便于阅读及书写,经常使用八进制数和十六进制数来表示二进制数。八进制的基数为8,数码为0、1 、2、3、4、5、
6、6、7。十六进制数的基数为16,数码为0、1 、2、3、4、5、6、7 、8、9、A、B、C 、D、E、F。按同样的方法,可以容易掌握八进制和十六进制的表示方法。 十进制数结尾一般用D、二进制数用B、八进制数用O、十六进制数H。如:117D、1010B,67O,1ABH,。,返回本节,返回本章,13,1.2.2数制的转换 (1)十进制与二、八、十六进制间转换 将十进制数转换成二、八、十六进制数的方法:将数分成整数部分和小数部分,整数部分采用除基取余法,小数部分采用乘基取整法分别进行转换。例:76.425D=1001100.011011B,商 余数762=38 0382=19 0192=9 19
7、2=4 142=2 022=1 012=0 1,乘积 整数0.4252=0.850 00.852=1.70 10.72=1.4 10.42=0.8 00.82=1.6 10.62=1.2 1,返回本节,返回本章,14,例:将十进制数 76.125转换成十六进制数。 商 余数 乘积 整数部分7616=4 C(12) 0.12516=2.0 2416=0 4 转换结果为:76.125 = 4C.2H,返回本节,返回本章,15,将二、八、十六进制数转换成十进制数的方法:各位数码与其对应权的积再求和即为该进制数相对应的十进制数。 例: 101.11B = 5.75D B56.D7H=2902.8398
8、44D 。 计算过程: 101.11B = 12202112012-112-2 = 4+1+0.5+0.25 = 5.75D B56.D7H = B16251616160D16-1716-2 = 28168060.81250.027344 = 2902.839844,返回本节,返回本章,16,转换过程:101111010 . 0111001B= 0001 0111 1010 . 0111 0010B = 17A.72HB56.D7H = 1011 0101 0110 . 1101 0111B,(2)二进制与八、十六进制间转换 将二进制数转换成八(十六)进制数的方法:一个二制数从小数点向两个方向
9、每3位(4位)划为一组(位数不够补零),然后每组用八(十六)进制数表示就可以了。反之,把八(十六)进制数每一位用3位(4位)二进制数表示,就形成相应的二进制数了。 例:101111010 . 0111001B=17A.72H B56.D7H = 1011 0101 0110 . 1101 0111B,返回本节,返回本章,17,1.2.3数据运算 (1)二进制数运算 二进制加法运算规则:逢2进1。 即 :000 011 101 110 产生进位1 二进制减法运算规则:借1作2。 即 :000 011产生借位1 101 110,返回本节,返回本章,18,二进制乘法运算与十进制乘法运算类似即 :00
10、0 010 100 111 (2)十六进制运算 加法:当两个一位数之和S小于16时,与十进制同样处理,如果S大于或等于16,则应用S-16及进位1取代S。 减法:与十进制类似,够减时可直接相减,不够减时服从向高位借1为16的规则。 乘法:可用十进制乘法的规则来计算,但结果必须用十六进制数来表示。,返回本节,返回本章,19,例:,0 5 C 3 H 3 D 2 5 H +3 D 2 5 H - 0 5 C 3 H 4 2 E 8 H 3 7 6 2 H 0 5 C 3 H 0 0 A 1 H 0 5 C 3 + 3 9 9 E 3 9 F A 3 H,返回本节,返回本章,20,1.3 数据表示,
11、1.3.1数值数据 数值数据分为有符号数和无符号数。无符号数最高位表示数值,而有符号数最高位表示符号。有符号数有不同的编码方式,常用的是补码。,返回本章,21,(1)原码: 最高位表示符号(正数用0,负数用1),其它位为该数的二进制数值,称为有符号数的原码表示。 【例】 X=45D=00101101B X原= 00101101B X=-45D X原=10101101B 原码表示简单易懂,但若是两个异号数相加(或两个同号数相减),就要做减法。为了把减法运算转换为加法运算就引进了反码和补码。,返回本节,返回本章,22,(2)反码: 正数的反码与原码相同,符号位用0表示,数值位不变。负数的反码符号位
12、用1表示, 数值位为原码数值位按位取反形成,即0变1、1变0。【例】X=45D=00101101B, X反=00101101B X=-45D X反=11010010B(3)补码: 正数的补码与原码相同,即符号位用0表示,数值位不变。负数的补码为反码加1形成。【例】X=45D=00101101B X补=00101101B X=-45 D X补=11010011B,返回本节,返回本章,23,()符号扩展:在数据处理时,有时需要把8位二进制数扩展成16位二进制数。当要扩展的数是无符号数时,可在最高位前扩展8个0。如果要扩展的数是补码形式的有符号数,那么就要进行符号位的扩展。符号扩展后,其结果仍是该数
13、的补码。,返回本节,返回本章,24,()数据的表示范围和大小n位二进制数能表示的无符号整数的范围是:0 I 2n-1;n位二进制数能表示的有符号整数的范围是:-2n-1I+2n-1-1()补码的加法和减法补码的特性: 补= -补= 补补码的加法规则:补=补补补码的减法规则: -补=补-补,返回本节,返回本章,求补,求补,25,1.3.2字符数据:()ASCII码: 标准ASCII码用7位二进制数编码,共有128个。 计算机存储器基本单位为8位,ASCII码的最高位通常为0,通信时,最高位用作奇偶校验位。 常用字符的ASCII码: 数字09:30H39H 字母AZ:41H5AH 字母az:61H
14、7AH 空格:20H 回车CR:0DH 换行LF:0AH 注意回车与换行的差别: CR用来控制光标回到当前行的最左端;LF用来移动光标到下一行,而所在列不变。,返回本节,返回本章,26,() BCD码:虽然二进制数实现容易,但不符合人们的使用习惯,且书写阅读不方便,所以在计算机输入输出时通常还是采用十进制来表示数,这就需要实现十进制与二进制间的转换。为了转换方便,常采用二进制编码的十进制,简称为BCD码。,返回本节,返回本章,27,压缩BCD码:以4个二进制位表示1个十进制位,用0000B1001B表示09。 例如,十进制数6429的压缩BCD码表示为0110 0100 0010 1001 B
15、(即6429H)非压缩BCD码:以8个二进制位表示1个十进制位,低4位与压缩BCD码相同,高4位无意义。 例如,十进制数6429的非压缩BCD码表示为xxxx0110 xxxx0100 xxxx0010 xxxx1001 B 有时,要求非压缩BCD码的高4位为0,这时,6429的非压缩BCD码为06040209H。,返回本节,返回本章,28,1.4 80x86CPU和寄存器组,计算机硬件: 中央处理单元 CPU(Intel 80x86)对汇编语言程序员,最关心其中的寄存器 存储器(主存储器)呈现给汇编语言程序员的,是存储器地址 外部设备(接口电路)汇编语言程序员看到的是端口(I/O地址),返回
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 语言程序设计 前言
限制150内