当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《汇编语言程序设计》课程教学资源(PPT课件讲稿)绪言

资源类别:文库,文档格式:PPT,文档页数:18,文件大小:293KB,团购合买
绪言 在程序设计技术有了革命性进步和发展的今天,汇编语言仍具有不可替代的地位。 1汇编语言的特点 (1)可直接控制硬件,充分发挥硬件功能。 (2)汇编语言程序代码质量高,占用内存空间少,执行速度快。
点击下载完整版文档(PPT)

汇编语言程序设计 课时:讲课50学时,上机20学时

课 时:讲课50学时,上机20学时 汇编语言程序设计

绪言 在程序设计技术有了革命性进步和发展的今天, 汇编语言仍具有不可替代的地位。 1汇编语言的特点 (1)可直接控制硬件,充分发挥硬件功能。 (2)汇编语言程序代码质量高,占用内存空 间少,执行速度快。 应用优势 对于解决某些领域的问题,如操作系统,实时 控制和处理、加密解密、软件调试、病毒分析及 逆向工程等领域具有独特的优势

绪 言 在程序设计技术有了革命性进步和发展的今天, 汇编语言仍具有不可替代的地位。 1 汇编语言的特点 (1) 可直接控制硬件,充分发挥硬件功能。 (2) 汇编语言程序代码质量高,占用内存空 间少,执行速度快。 应用优势: 对于解决某些领域的问题,如操作系统,实时 控制和处理、加密/解密、软件调试、病毒分析及 逆向工程等领域具有独特的优势。 2

在实际应用问颎中,常常编写汇编语言子程序, 解决如下的问题 (1)进行计算速度或代码长度优化 (2)存取系统资源 (3)直接访问硬件 (4)为不兼容的代码(编程环境)提供接口 缺点:可移植性差、可读性差。 设:A=50B=30计算:A+B->0 高级语言:C=A+B; 汇编语言: MOV AX,A ADD AX B MOV C. AX

在实际应用问题中,常常编写汇编语言子程序, 解决如下的问题: (1)进行计算速度或代码长度优化 (2)存取系统资源 (3)直接访问硬件 (4)为不兼容的代码(编程环境)提供接口 设: A=50 B=30 计算: A+B -> C 高级语言: C=A+B ; 汇编语言: 缺点:可移植性差、可读性差。 MOV AX , A ADD AX , B MOV C , AX

2学习汇编语言的目标和要求 (1)掌握汇编语言程序设计的基本方法,为其他专业课奠定 基础(接口技术、组成原理、单片机等),深入理解计 算机如何完成复杂操作和计算以及程序的执行过程。 (2)培养自我拓展汇编语言新知识的能力,掌握扎实的软件 研制基本功 参考教材 (1) IBM PC汇编语言程序设计,沈美明等,清华大学出版社 (2)微机汇编语言基础教程,许远等,电子科技大出版社 (3)宏汇编语言程序设计,王正智等,电子科技大出版社 (4)汇编语言程序设计,钱晓捷等,电子工业出版社 学习要求: (1)预习+听课+复习+动手时间比:1+1+1+1 (2)按时完成上机作业

参考教材: (1)IBM PC 汇编语言程序设计,沈美明等,清华大学出版社 (2)微机汇编语言基础教程,许远等,电子科技大出版社 (3)宏汇编语言程序设计,王正智等,电子科技大出版社 (4)汇编语言程序设计, 钱晓捷等,电子工业出版社 学习要求: (1)预习+听课+复习+动手 时间比:1+1+1+1 (2)按时完成上机作业 2 学习汇编语言的目标和要求 (1)掌握汇编语言程序设计的基本方法,为其他专业课奠定 基础(接口技术、组成原理、单片机等),深入理解计 算机如何完成复杂操作和计算以及程序的执行过程。 (2)培养自我拓展汇编语言新知识的能力,掌握扎实的软件 研制基本功

3学习汇编语言需要的基础知识 4数制、编码及有关运算 1)进位计数制 特点: 个数码所表示的数的大小与它在数中所处的位置有关 任一个r进制数都可以表示成: m-l +…+dor+d-1F-+…+d-n r称为权,r称为基数,基数表明每位上可取的数字的个数 (F个,0,1,2,…,r-1,逢进一),上式称为 把一个进制数按权展开

3 学习汇编语言需要的基础知识 4 数制、编码及有关运算 1)进位计数制 任一个r进制数都可以表示成: d r (n,m 0) N d r d r d r d r d r m i n i i n 1 1 0 0 m 1 m 1 m m =  = + + + + + + =− − − − − −   r i称为权, r称为基数,基数表明每一位上可取的数字的个数 (r个,0,1,2,… , r-1, 逢r进一), 上式称为 把一个r进制数按权展开。 特点: 一个数码所表示的数的大小与它在数中所处的位置有关。 5

例:(512)10=5×102+1×101+2×100 (101)2=1×22+0×21+1×20 (5) (24)6=2×16+4×160 →>(36)10 展开式:一个n进制数的每位数字乖以其权所得积之和 为该数的值。 2)不同进制数之间的转换 进制数→十进制数用展开式 十进制数=n进制数方法如下 例:(30)10=()2 整数:除倒取余,商为0为止。 08125)02=()2小数:乘取整,积为0为止。 (266)10=()16

例:(512)10=5×102+1×101+2 ×100 (101)2=1 ×2 2+0 ×2 1+1 ×2 0 => (5)10 (24)16=2 ×161+4 ×160 => (36)10 2)不同进制数之间的转换 r进制数 => 十进制数 用展开式 十进制数 => r进制数 整数:除r 倒取余,商为0为止。 小数:乘r 取整,积为0为止。 例:(30)10 = ( )2 (0.8125)10 = ( )2 (266)10 = ( )16 展开式: 一个r进制数的每位数字乘以其权所得积之和 为该数的值。 方法如下 : 6

例:(30)10=(1110)2 (0.8125)10=(0.1101)2 230 0低位 0.8125 16250 高位 1高位 0.6250 1.2500 0.2500 (266)10=(10A)6 0.500 0 266/16=16 A低位 0.5000 16/16=1 00 1低位 1/16=0 1高位 7

例:(30)10=( 11110 )2 2| 3 0 …… 0 低位 2| 1 5 …… 1 2| 7 …… 1 2| 3 …… 1 2| 1 …… 1 高位 0 (0.8125)10 = ( 0.1101 )2 0.8125 × 2 1.6250 …… 1 高位 0.6250 × 2 1.2500 …… 1 0.2500 × 2 0.5000 …… 0 0.5000 × 2 1.0000 …… 1 低位 (266)10 = ( 10 A )16 266/16 = 16 …… A 低位 16/16 = 1 …… 0 1/16 = 0 …… 1 高位 7

二进制数与十六进制数之间的转换 四位二进制数一组写成一位十六进制数 二进制数 十六进制数 位十六进制数写成四位二进制数 例:(3AB)6=(001101Q1011)2 (001110101011)2=(3AB)16 (467)g=(100110111)2 H讲制(D二进制(B)八进制QQ十六讲制(H 0000 456789 4567 0123456789ABCDEF

十进制(D) 二进制(B) 八进制(O,Q) 十六进制(H) 二进制数与十六进制数之间的转换 四位二进制数一组写成一位十六进制数 二进制数 十六进制数 一位十六进制数写成四位二进制数 例:( 3AB )16 = ( 0011 1010 1011 )2 ( 0011 1010 1011 )2 = ( 3AB )16 ( 467 )8 = ( 100 110 111 )2 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 8 9 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 8 1111 F

3)各种进制的计算 基本方法与十进制相同,逢r进1,借1当r 例:05C3H 3D25H +3D25H 05C3H 42E8H 3762H 4)数的编码 原值例:(±1100 真值 机器数:将最高位留作符号位,0,1分别表示正负号, 连同符号一起数字化的数称为机器数。 例:真值:-110机器数:11100 +1011 01011 问题1:能否将符号也作为数值的一部分? 问题2:符号也作为数值的一部分时,数值部分如何变化? 带符号数的几种编码方法:原码、补码、反码 9

3)各种进制的计算 基本方法与十进制相同,逢r 进 1,借 1 当r。 例: 05C3H 3D25H + 3D25H - 05C3H 42E8H 3762H 4)数的编码 原值 例:(±1100 ) 2 真值 机器数:将最高位留作符号位,0,1分别表示正负号, 连同符号一起数字化的数称为机器数。 例:真值:-1100 机器数:11100 +1011 01011 问题1:能否将符号也作为数值的一部分? 带符号数的几种编码方法:原码、补码、反码 9 问题2:符号也作为数值的一部分时,数值部分如何变化?

(1)原码 最高位作符号位,0,1分别表示正负号,有效值部分 用二进值绝对值表示(与正值相同)。 +110001001100010 -110001011100010 优点:原码表示数据简单直接。 原码在运算上不方便,例:(8)+9=? 「让号位已作为数面部分写是目 使实际操作完全由指令确定 减法转化为加法 (2)补码(模运算) 时针倒拔2格:3 针正拔10格:3+10=13=12+1=1 么模过2互补,即以12为模,-的补码是 10 63->3+(-2)->3+10

(1)原码 +1100010 0 1 1 0 0 0 1 0 -1100010 1 1 1 0 0 0 1 0 最高位作符号位,0,1分别表示正负号,有效值部分 用二进值绝对值表示(与正值相同)。 优点:原码表示数据简单直接。 原码在运算上不方便,例:(-8)+ 9 = ? 设想: 如果让符号位也作为数值的一部分参与运算, 是否 可以做到 使实际操作完全由指令确定 减法转化为加法 10 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 (2)补码(模运算) 时针倒拨2格:3- 2=1 时针正拨10格:3+10=13=12+1=1 (mod 12) 3 12 9 6 1 -2与10对模12互补,即以12为模,-2的补码是 310-2 -> 3+(-2) -> 3+10

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共18页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有