版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,汇编语言程序设计,裘祖旗,2,课程的性质、地位,是计算机科学与技术专业 与电子信息类的专业基础课,前趋课程:数字逻辑、高级语言 后继课程:计算机组成原理、操作 系统、计算机系统结构、计算机接口、单片机、自动控制、计算机维护等。,3,学习汇编语言的目的,关于汇编语言,(1)不再是工具性程序设计语言;,(2)了解硬件对软件支持的基本原理;,(3)作为计算机专业的人员的基本知识结构;,(4)低级与高级的关系;,学生,教师,4,汇编语言的特点,关于汇编语言,(1)与硬件密切相关,面向机器的低级语言,可以最直接最有效的操纵硬件系统;,(2)效率高;目标代码简短,占用内存少,执行速度快, 是高效的程序
2、设计语言。,(3)适用于系统和硬件接口的编程需求;可有效地访问、控制各种硬件设备, 如磁盘、CPU、I/O端口等。,(4)通用性和移植性差,源程序繁琐,调试困难;,5,汇编语言的应用 系统程序、效率代码、I/O驱动程序 70%以上的系统软件是用汇编语言编写的。 某些快速处理、位处理、访问硬件设备等 高效程序是用汇编语言编写的。 高级绘图程序、视频游戏程序一般是用汇 编语言编写的。,6,主 要 参 考 书 沈美明主编 IBM-PC汇编语言程序设计 (第2版) -清华大学出版社 其它参考书 803X86 汇编语言程序设计,平时作业15% 实 验15% 期末考试 70%,考核方式,7,教学环节与成绩
3、评定,1.课堂授课 44 学时, 是传授与接收理论知识的主渠道, 要求尽量不缺课,课堂上不彼此说话,期末为闭卷考试 。 考试成绩占 70 分 2. 课外作业, 每一单元有一定数量的作业, 是帮助理解和熟练掌握课堂教学内容的重要环节,自己认真完成 ,不应抄袭 。 作业成绩占 15 分 3. 教学实验 14 学时, 共 7 次实验,每次用一个单位时间, 是理论联系实际,培训动手能力的重要环节,要充分重视,要预习并写出实验程序报告,实验时调试实验报告。 实验成绩占 15分 4. 学生自学 是学生学习的重要环节,鼓励。,8,教师建议目标:,了解汇编语言的特性及其编程技术, 建立起“机器”和“程序”、“
4、空间”和 “时间”的概念。建议: 充分注意“汇编”课实践性强的特点, 多读程序,多写程序,多上机调试程序, 熟悉PC机的编程结构, 掌握汇编语言及其程序设计的基本概 念、方法和技巧。,9,第一章 基础知识, 数制 数制之间的转换 运算 数和字符的表示,10,1-1 计算机运算基础,一. 十进制ND有十个数码09、逢十进一。 十进制用于计算机输入输出,人机交互。 二. 二进制NB两个数码:0、1, 逢二进一。 二进制为机器中的数据形式。 三. 十六进制NH十六个数码:09, AF, 逢十六进一。 十六进制用于表示二进制数。 不同进位制数以下标或后缀区别,十进制数可不带下标。 如:101、101D
5、、101B、101H、101H,介绍计算机中数的表示方法和基本运算方法。,1-1-1 进位计数制,11,二进制: 基数为2,逢二进一 11012 = 12 3 + 12 2 + 12 0 = 1310 十六进制:基数为16,逢十六进一 1001, 0001, 1000, 0111 9 1 8 7 = 9 16 3 + 1 16 2 + 8 16 1 + 7 16 0,1. 数 制,12,1-2 不同进位计数制之间的转换,先展开,然后按照十进制运算法则求和。 举例: 1011.1010B=123+121+120+12-1+12-3=11.625 DFC.8H =13162+15161+12160
6、+816-1 = 3580.5,(一)二-十六进制数转换成十进制数,13,1-2 不同进位计数制之间的转换,(二)二进制与十六进制数之间的转换 24=16 ,四位二进制数对应一位十六进制数。 举例:,3AF.2H = 0011 1010 1111.0010 1110101111.001B = 3 A F .2 H 1111101.11B = 0111 1101.1100 = 7D.CH 7 D C,14,(三)十进制数转换成二、十六进制数,整数、小数分别转换 1.整数转换法 “除基取余”:十进制整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。举例:,1. 39转换成二
7、进制数 39 =100111B 2 39 1 ( b0) 2 19 1 ( b1) 2 9 1 ( b2) 2 4 0 ( b3) 2 2 0 ( b4) 2 1 1 ( b5) 0,2. 208转换成十六进制数 208 = D0H 16 208 余 0 16 13 余 13 = DH 0,15,(三)十进制数转换成二、十六进制数,1.小数转换法 “乘基取整”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。 举例:,2. 0.625转换成十六进制数 0.625 16 = 10.0 0.625 = 0.AH 3. 208.625 转换
8、成十六进制数208.625 = D0.AH,16,1-2-2带符号数的表示方法,机器数:机器中数的表示形式,其位数通常为 8 的倍数 真值: 机器数所代表的实际数值。 举例:一个8位机器数与它的真值对应关系如下: 真值:X1=+84=+1010100B X2=-84= -1010100B 机器数:X1机= 01010100 X2机= 11010100,机器中,数的符号用“0”、“1” 表示。 最高位作符号位,“0”表示“+”,“1”表示“-”。,(一)机器数与真值,17,1-2-2带符号数的表示方法,最高位为符号位,0表示 “+”,1表示“”。 数值位与真值数值位相同。 例 8位原码机器数:
9、真值: x1 = +1010100B x2 = 1010100B 机器数:x1原 = 01010100 x2原 = 11010100 原码表示简单直观,但0的表示不唯一,加减运算复杂。,有符号数通常使用三种表示方法:,(二)原码(True Form),18,1-2-2带符号数的表示方法,正数的反码与原码表示相同。 负数反码符号位为 1,数值位为原码数值各位取反。 例 8位反码机器数: x= +4 : x原= 00000100 x反= 00000100 x= -4 : x原= 10000100 x反= 11111011,(三)反码(Ones Complement),19,(四)补码(Twos C
10、omplement),正数的补码表示与原码相同。 负数补码的符号位为1,数值位等于反码加1。,例:求 8位补码机器数:x=+4 x原=x反=x补= 00000100 x=-4 x原 = 10000100 x反 = 11111011 x补 = 11111100,补码表示的优点: 0 的表示唯一,加减运算方便。,20,数的补码与“模”有关“模” 即计数系统的量程。,当X0,X补= 模-X。 举例:钟表对时。 设时钟系统“模”为12,标准时间为7点整。,8位二进制数的模为: 28 = 256 当X0,X补= 28 -X = 256 -X= 255 -X+1 = X反码 + 1,9+-2补 = 9+1
11、0 = 7+12 = 7(舍弃模),21,8位机器数表示的真值,1-2-2带符号数的表示方法,22,四. 机器数与真值之间的转换,1)X1=+127,X2=-127,求X原 、X补 X1原=X1补=01111111= 7FH X2原=11111111= FFH X2补=10000001= 81H,1. 真值机器数,2)X1=+255,X2=-255 ,求X原 、X补 X1原=X1补=0000000011111111= 00FFH X2原=1000000011111111= 80FFH X2补=1111111100000001= FF01H,23,四. 机器数与真值之间的转换,1) X1原= 5
12、9H,X2原= D9H,求真值? X1原=X1原=,2. 机器数真值注意机器数表示(原码、补码)注意机器数符号位,01011001,11011001,X1= +1011001B=+89 X2= -1011001B =-89 2) X1补= 59H,X2补= D9H,求真值 X1= +1011001B =+89 X2=-0100111B =-39,24,1-2-4 定点与浮点表示,1)定点整数:小数点固定在数值位之后。 2)定点小数:小数点固定在数值位之前符号位之后。 举例:求定点机器数 5AH 表示的真值。 用定点整数表示的真值:+ 1011010 用定点小数表示的真值:+0.101101,一
13、.定点数 小数点位置固定的机器数。运算简便,表示范围小 。,25,1-2-4 定点与浮点表示,二进制数浮点表示:B = S2J S尾数,为小数或整数。J阶码,为整数,二. 浮点数小数点位置不固定。表示范围大,运算复杂。,举例:求双字节浮点机器数表示的真值 00000101(阶码) 00001101(尾数) 当S为纯整数:B= +110100000B = +416 当S为纯小数:B= +11.01B = +3.25,规格化浮点表示:使数值最高位为有效数值位。 例: 规格化浮点数: 00000010 01101000,26,1-2-5运算方法,1.补码加法运算:X+Y补=X补+Y补,一. 补码加减
14、运算符号作为数值直接参与运算,变减法为加法运算。,例X1=+13,Y1=+6,X2=-13,Y2=-6,求X1+Y1、X2+Y2 解:求X1补、 Y1补、X2补、Y2补 00001101+13补 11110011 -13补 + 00000110 +6补 + 11111010 -6补00010011+19补 1 11101101 -19补进位为模,舍弃,27,1-2-5运算方法,例X1=+6,Y1=+8,X2=-6,Y2=-8,求X1-Y1、X2-Y2 解求X1补、 Y1补、 -Y1补、X2补、Y2补、-Y2补 X1-Y1 X2-Y2 00000110 +6补 11111010 -6补 + 11
15、111000 -(+8)补 、 + 00001000 -(-8)补 。11111110-2补 、 1 00000010 +2补进位为模,舍弃,2.补码减法运算:X-Y补=X补-Y补=X补+-Y补,28,1-2-5运算方法,1. 加法运算:直接相加。 2. 减法运算:变补相加。 例: X=150=96H,Y=10=0AH,计算 X+Y=?X-Y=? 10010110 150 10010110 150 + 00001010 + 10 + 11110110 - 10 10100000 160 1 10001100 140进位为模,舍弃,二. 无符号数加减运算,变补相加计算减法:当最高位产生进位,实际
16、无借位;反之有借位。,29,1-2-5运算方法,机器数 无符号数 补码: 10010110 150 -106 + 00001010 + 10 + +1010100000 160 -96 无符号数与补码运算的溢出判断方法却不同。,计算机中补码的加减运算与无符号数相同。,30,1-2-5运算方法,例:X=74= 4AH,Y=216= D8H,求X+Y=?和X-Y=? 01001010 74 01001010 74 + 11011000 + 216 + 00101000 - 216 1 00100010 34 0 01110010 114 溢出使结果出错。加法有进位,结果应为290; 减法无进位则有
17、借位,结果负数补码。,三. 溢出运算过程中数据超出允许表示范围,1无符号数溢出判断最高位是否产生进位或借位。,计算机设置进位标志位 Cy 判断无符号数溢出:当数据加/减最高位产生进位/借位,Cy=1;否则,Cy=0。,31,2补码溢出判断符号位和最高数值位进位是否相同。,例 X1=-5, Y1=-2,X2=-105,Y2=-91,求X1+Y1、X2+Y2 11111011 -5补 10010111 -105补 +11111110 -2补 + 10100101 - 91补 111111001 -7补 1 00111100 + 补正确,无溢出正数,有溢出。,a,32,解:X1补=2DH,Y1补=2
18、EH,X2补=5AH,Y2补=6BH00101101+45补01011010+ 90补 + 00101110 +46补 + 01101011 +107补 0 01011011+91补 0 11000101- 补 正确,无溢出负数,有溢出 正数相加,同时无进位:Cy6 =0、Cy7=0,则无溢出; 不同时有进位,则有溢出,结果出错。,计算机设置溢出标志位 OV 判断补码溢出。逻辑关系: OV =Cy6 Cy7 当补码加/减产生溢出 OV=1,否则OV=0。,例X1=+45,Y1=+46,X2=+90,Y2=+107,求X1+Y1、X2+Y2,33,1-2-6 二十进制编码BCD码,例:求十进制数
19、876的BCD码 876BCD = 1000 0111 0110 876 = 36CH = 1101101100B,BCD码(Binary Coded Decimal)二进制代码表示的十进制数。,一.8421 BCD码,34,二. BCD码运算,十进制调整:计算机实际按二进制法则计算,加入十进制调整操作,可计算BCD码。 十进制调整方法:当计算结果有非BCD码或产生进位或借位,进行加6或减6调整。,例:计算BCD码 78+69=? 0111 1000 78BCD + 0110 1001 + 69BCD 1110 0001产生非BCD码和半进位 + 0110 0110 +66H调整 1 0100 0111 带进位结果: 1 4 7,例:计算BCD码 38-29=? 0011 1000 38BCD + 1101 0111 - 29BCD 1 0000 1111 产生非BCD + 1111 1010 -06调整 1 0000 1001 结果无借位:9,35,1-2-7字符编码美国标准信息交换码ASCII
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023普通物理冲刺试卷(完整版)
- 全国统考数学二历年真题|2026考研(核心考点提炼)
- 2026年中职会计(税务基础实务)试题及答案
- 考研数学三历年真题全套-2025(冲刺提分版)
- 中燃燃气考试题及答案
- 河北省沧州市沧县2026年数学四上期末统考模拟试题含解析
- 博士驾校考试题及答案解析
- 云南城市建设职业学院《建筑空间构成》2026-2027学年第一学期期末试卷含解析
- 厨师鱿鱼考试题及答案
- 消防考试题2015及答案
- 部编版道法新教材四年级年级上册第一课第二课时《与班集体共成长、维护我们的班集体》教案
- 2026交投集团所属辽宁省高速公路运营管理有限责任公司操作岗招聘30人考试备考试题及答案详解
- 星闪赋能音频产业发展白皮书
- DB11-T 1774-2026建筑新能源应用设计规范
- 初中语文新部编版九年级上册第二单元教案(2026秋详细版)
- 2026年浙江省中考数学试卷(含答案及解析)
- 2026人教版五年级数学上册第七单元第1课《事件发生的可能性》课件
- 2026年普通高等学校招生全国统一考试语文(全国卷三)(含答案及解析)
- 第19课《想和做》课件 2026-2027学年统编版语文九年级上册
- 2026年新教材沪教版九年级上册英语期中复习:Unit 1~4共4套单元培优测试卷汇编(含答案)
- 机械加工工艺编制与实施项目2轴类零件机械加工工艺编制与实施
评论
0/150
提交评论