版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,汇编语言程序设计,河北工业大学计算机系,韩雪 Qq:1186957066 办公室:C4302,2,课程安排,课时安排:共48课时,32课时上课, 16课时上机 教学形式:整个教学过程由授课、实验、和自学三个环节组成。 实验、作业、平时占本课程总学分的20%30%,期末理论考试占70%80%学分。 前序课程:计算机文化基础 软件技术基础 后序课程:微机原理与接口技术、单片机、嵌入式 教材: IBM-PC汇编语言程序设计 沈美明 温冬婵 清华大学出版社,3,课程培养目标,1. 熟练掌握8086/8088指令系统的常用指令及寻址方式 2. 掌握汇编语言程序编程及其程序设计的基本方法和技巧。 3.
2、 熟练掌握汇编语言程序的上机调试和运行。,4,第1章 汇编语言基础知识,5,1.1汇编语言简介,一、机器语言 计算机能够直接识别的数据是由二进制数0和1组成的代码。 机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。 机器语言编写的程序是计算机惟一能够直接识别并执行的程序,而用其他语言编写的程序必须经过翻译才能变换成机器语言程序,所以,机器语言程序被称为目标程序。,6,二、汇编语言,为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。 ADD A, B 汇编语言是一种用符号书写的、基本操作与机器指令相对应的、
3、并遵循一定语法规则的计算机语言。,7,二、汇编语言,用汇编语言编写的程序称为汇编源程序。 汇编语言源程序要翻译成机器语言程序才可以由计算机执行。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序。,8,三 高级语言,汇编语言虽然较机器语言直观,但仍然烦琐难懂。于是人们研制出了高级程序设计语言。高级程序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用。 目前广泛应用的高级语言有多种,如BASIC、JAVA、C、VC+等等。,9,10000000B 表示“加法”操作,A=A+B,例:求解 A+B,10,四、汇编语言的特点,(1)汇编语言与
4、处理器密切相关。 (2)汇编语言程序效率高。 (3)编写汇编语言源程序比编写高级语言源程序烦琐。 (4)调试汇编语言程序比调试高级语言程序困难。,11,汇编语言的主要应用场合:,(1)程序执行占用较短的时间,或者占用较小存储容量的场合。 (2)程序与计算机硬件密切相关,程序直接控制硬件的场合。 (3)需提高大型软件性能的场合。 (4)没有合适的高级语言的场合。,12,1.2 计算机中数制的表示, 数制 数制之间的转换 运算,13,预 备 知 识,22=4 24=16 28=256 210=1024 220=1048576 1K= 210=1024 (Kilo) 1M=1024K= 220 (M
5、ega) 1G=1024M= 230 (Giga) 1个二进制位:bit(比特) 8个二进制位:Byte(字节) 1Byte=8bit 2个字节:Word(字) 1Word=2Byte=16bit,14,1.2.1 数 制, 十进制:基数为10,逢十进一(按权展开式) 543.12 =5102 + 4101 + 3100 + 110-1 + 210-2 二进制:基数为2,逢二进一 1101112 = 125 + 124 + 122 +121 +120 = 5510 十六进制:基数为16,逢十六进一 1001, 0001, 1000, 0111 9 1 8 7 = 9 163 + 1 162 +
6、 8 161 + 7 160 八进制:基数为8,逢八进一,15,数 制 基 数 数 码,二进制 Binary 2 0,1 八进制 Octal 8 0,1,2,3,4,5,6,7 十进制 Decimal 10 0,1,2,3,4,5,6,7,8,9 十六进制 Hexadecimal 16 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F,16, 二进制 十进制 110111.11B = 125 + 124 + 122 +121 +120 +12-1 +12-2=55.75D,1.2.2 数制之间的转换,整数部分:除基取余法 例: N = 55D 55/2=27 余数=1 (a0)
7、 27/2=13 余数=1 (a1) 13/2=6 余数=1 (a2) 6/2=3 余数=0 (a3) 3/2=1 余数=1 (a4) 1/2=0 余数=1 (a5) N = 55D=110111B,17,例: N = 0.425D 0.4252=0.85 整数=0 0.852=1.70 整数=1 0.702=1.40整数=1 0.402=0.80 整数=0 0.802=1.60 整数=1 . N =0.425D = 0.01101B,小数部分:乘基取整法,18, 二进制 十六进制,A 1 9 C 1010 0001 1001 1100 A19CH = 1010,0001,1001,1100B
8、,0011 0101 1011 1111 3 5 B F 0011,0101,1011,1111B = 35BFH,19, 十六进制 十进制 BF3CH = 11163 + 15162 + 3161 + 12160,除基取余法 例: 399D = ? H,399/16=24.15 24/16=1.8 1/16=0.1 399D=18FH,20,1-2 将下列十进制数转换成二进制数和十六进制数,1、216 2、57.375 3、0.6875 4、43.423,21,1、216=11011000B=D8H 2、57.375=111001.011B=39.6H 3、0.6875=0.1011B=BH
9、 4、43.423=101011.01101B=2B.68H,22,作业: 完成下列十六进制数的运算,并转换成十进制数进行校验,1、B7H+3AH 2、DACBH-AFEH,23, 算术运算 二进制 加法规则 乘法规则 0+0=0 00=0 0+1=1 01=0 1+0=1 10=0 1+1=0 (进位1) 11=1,1.2.3 运算(算术运算和逻辑运算),十六进制 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,24, 逻辑运算(按位bit操作),“与”运算(AND) A B AB 0 0 0 0 1 0 1 0
10、 0 1 1 1,“异或”运算(XOR) A B AB 0 0 0 0 1 1 1 0 1 1 1 0,“或”运算(OR) A B AB 0 0 0 0 1 1 1 0 1 1 1 1,25,X= 0000 0000 1111 1111 B Y= 0101 0101 0101 0101 B Z= 0101 0101 1010 1010 B Z=55AAH,例:X=00FFH Y=5555H,求Z=XY=?,26,1.3 计算机中数和字符的表示,1.3.1 计算机中数的表示: 计算机中的数用二进制表示 机器数 机器数:数在计算机中的表示形式 正负数数的符号也用二进制表示。,机器数在计算机中的运算
11、和处理机器字长,27,1.3 计算机中数和字符的表示,假设机器字长n为16位,假设机器字长n为8位,机器字长:指参与运算的数的基本位数,标志着计算精度,一般是字节的整数倍(8位、16位、32位等)。,28,一、常用表示法 原码 反码 补码 原码表示法:符号 + 绝对值,例:n=8bit +3原码 = 0 000,0011 = 03H -3原码 = 1 000,0011 = 83H +0原码 = 0 000,0000 = 00H -0原码 = 1 000,0000 = 80H 0的表示不唯一,29,反码表示法:正数的反码同原码,负数的反码数值位与原码相反,例:n=8bit +5反码 = 0 00
12、0,0101 = 05H -5反码 = 1 111,1010 = FAH +0反码 = 0 000,0000 = 00H -0反码 = 1 111,1111 = FFH 0的表示不唯一,30,补码表示法:IBM-PC采用补码表示法 正数的补码:同原码 +1补码 = 0000 0001 = 01H +127补码 = 0111 1111 = 7FH +0补码 = 0000 0000 = 00H,负数的补码:(1)写出与该负数相对应的正数的补码 (2)按位求反 (3)末位加一 例: 机器字长8位,-46补码 = ?,31,-1补码 = 1111 1111 = FFH -127补码 = 1000 00
13、01 = 81H -0补码 = 0000 0000 = 00H n位补码的表数范围: - 2n-1 N 2n-1-1 n=8 -128 N 127 n=16 -32768 N 32767,32,n位二进制补码的表数范围,33,补码的加法和减法 求补运算 对一个二进制数按位求反、末位加一,117补=0075H 0000 0000 0111 0100B 按位求反 1111 1111 1000 1011B 末尾加1 1111 1111 1000 1100B FF8BH -117补=FF8BH,34,补码的加法和减法,加法规则:X+Y补码 = X补码 + Y补码 减法规则:X-Y补码 = X补码 +
14、-Y补码 补码减法可转换为补码加法 符号位参加运算,能自动得到正确结果。,无符号整数:数的表示范围 0 N 2n-1 n=8 0 N 255 n=16 0 N 65535,35,补码的符号扩展,把8位二进制数扩展成16位二进制数 无符号数时:在最高位前扩展8个0。 补码形式的有符号数:进行符号位扩展,符号扩展后,其结果仍是该数的补码。 例:符号扩展表示。 21的8位二进制补码为:00010101 符号扩展后21的16位二进制补码为: 0000000000010101。 00010101和0000000000010101都是21的补码。,36,1、ASCII码:American Standard
15、 Code for Information Interchange,美国信息交换标准码。 ASCII码:用一个字节来表示一个字符,低7位为字符的ASCII值,最高位一般用作校验位。 例: A 41H a 61H 1 31H 换行 0AH 回车 0DH 空格 20H,1.3.2 字符的表示,37,38,一个二进制数在计算机中有着深刻的意义。从不同的角度看可以有不同的解释。 例如:00110010B,即32H。 可看成是字符“2”的ASCII码; 可以看成是50D的二进制表示;既是无符号数50D,又是50D的补码; 可以看成是一个地址的偏移量; 可以看成是一个指令的机器码等等。,2、从不同的角度看待一个二进制数,39,小结,1.1汇编语言简介 机器语言、汇编语言、高级语言 1.2计算机中的数制 二进制、八进制、十进制、十六进制 算术运算、逻辑运算 1.3计算机中数和字符的表示 原码、反码、补码 ASCII码,40,如何学好汇编,汇编语言入门比较枯燥,需要记忆大量的指令 多练,多看,多想,不要只看书和书上的例子,有条件就把例子弄到电脑
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东东营市垦利区2025-2026学年三年级下学期期末语文试题(文字版含答案)
- 浙江省湖州市南浔区2025-2026学年四年级上学期期末语文试题(文字版含答案)
- 2026年自来水行政抢修统筹内勤招聘考试笔试试题(含答案)
- 2026年烟草物流调度专员烟草公司招聘考试笔试试题(含答案)
- 基于VB的智能消防监控系统及界面设计毕业任务书
- 2026 年重症脑出血患者护理个案分享
- 2026 年肝衰竭人工肝血浆置换治疗护理个案
- 2026年秋季初中开学主题班会 升学指导与志愿规划课件
- 股权转让协议书模板三篇
- 2026年秋季初中生物开学第一课 学科与生活联系课件
- 2026年全国保密教育线上培训考试试题库及参考答案【完整版】
- 2026福建漳州闽投华阳发电有限公司招聘43人笔试参考题库及答案详解
- GB/T 47655-2026电力电子装备和系统的构网性能要求及试验方法
- GA/T 1466.1-2026智能手机型移动警务终端第1部分:技术要求
- 中信建投:未来产业投资地图系列之“可控核聚变”
- 检验科生物安全培训内容及记录
- 2025广东省深圳市中考历史真题(解析版)
- 门诊一站式服务流程建设方案
- 浙江省食用农产品批发市场食品安全主体责任清单与技术评审指南(2023版)
- 注册安全工程师考试金属冶炼(中级)安全生产专业实务复习难点详解
- 大型赛事活动安保服务方案投标文件(技术标)
评论
0/150
提交评论