汇编语言基础知识.ppt_第1页
汇编语言基础知识.ppt_第2页
汇编语言基础知识.ppt_第3页
汇编语言基础知识.ppt_第4页
汇编语言基础知识.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 第一章 基础知识 封面 2 1 1数据表示与运算 1 1 1数制1 1 2编码1 1 3有符号数的表示方法1 1 4二进制运算 返回第一章 3 1 1 1数制 数制涉及三个问题 计数符号基数和权计数规则 1 计数符号这是用于书写数值的符号 所有计数符号的集合称作数符集 k进制的数符集中必然包含k个符号 比如 二进制的数符集中有两个符号 0和1 八进制的数符集中有8个符号 0 1 2 3 4 5 6 7 十进制的数符集中有10个符号 0 1 2 3 4 5 6 7 8 9 十六进制的数符集中有16个符号 0 1 2 3 4 5 6 7 8 9 A B C D E F 4 数制的三个问题 1 二进制数 2 基数和权如果把用k进制书写的一个整数从右往左依次记作第0位 第1位 第n位 则第i位上的数符ai所代表的含义是ai ki 在此 我们把k称为一个数制的基数 而把ki称为k进制数第i位的权 如888 每个8的位权都不相同 3 计数规则简单地说 就是 逢k进1 借1当k 1 二进制数11011011 101B 1x27 1 26 0 25 1 24 1 23 0 22 1 21 1 20 1 2 1 0 2 2 1 2 3二进制数是计算机内部采用的 并唯一能够直接被计算机识别的数 5 2 十六进制数 2 十六进制数8a0f 6bH 8 163 10 162 0 161 15 160 6 16 1 11 16 2引入十六进制数的目的是为了描述二进制数 数的书写方法 1 二进制数尾部加B b 2 十六进制数尾部加H h 如记数符号a b c d e f打头 头部应加0 如0A8F5H 记数符号a b c d e f不区别大小写 与ABCDEF等效 3 十进制数尾部加D d 但通常可以省略 6 3 数制间转换 3 数制间转换1 十进制数转换二进制数 2 十进制数转换十六进制数 3 二进制数十六进制数互相转换 返回1 7 1 1 2 3数制转换 十进制 二进制 整数 将整数部分不断除以2 记下每次得到的余数 直到商为零 余数倒排 即最后得到的余数排在最高位 第一个余数排在最低位 例如将十进制数13转换成二进制数 213余数26 123 021 10 113D 1101B 8 1 1 2 3数制转换 十进制 二进制 小数 小数部分转换 乘2取整 顺序排列得到的整数 例如将0 8125转换成二进制数 0 8125整数 21 6250 21 25 20 50 21 000 8125D 0 1101B 有时会有转换误差 如0 3D 返回数制转换 9 1 1 2 3数制转换 十进制 十六进制 十进制数转换成十六进制数 方法同十进制数转换成二进制数 只不过 除2取余 变为 除16取余 乘2取整 变为 乘16取整 同理 如果要将十进制数转换为其它数制的数 如八进制数 也采用同样的方法 二进制数 十六进制数转换成十进制数教材未介绍 只要将二进制数 十六进制数按位权展开相加即可 如将8A B5H转换成十进制数 8A B5H 8 161 10 160 11 16 1 5 16 2 128 10 0 6875 0 0195 138 707D 返回数制转换 10 二进制数互相转换十六进制数 返回数制转换 5A 5H 11 1 1 3编码 计算机中的数采用二进制数 字母 符号等也只能采用二进制代码 0 1 的排列组合表示 编码 两种编码 BCD码 ASCII码 1 BCD码 8421码 二 十进制数 解决十进制数在计算机内部如何表示 BCD码规定用四位二进制数表示一位十进制数 对多位十进制数 只要把每一位十进制数分别表示为四位二进制数即可 十进制BCD码00000100012001030011401005010160110701118100091001 十进制BCD码2800101000956100101010110 12 2 ASCII码 2 ASCII码解决字母 符号在计算机内部如何表示 基本ASCII码 标准ASCII码 用七位二进制数表示一个符号 共128个 书写 用两位十六进制数书写 如41H A 种类 1 控制字符 前32个和最后一个 0D 回车 0A 换行 2 其他为打印字符 可显示字符 应记住的ASCII码 30H 39H 41H 61H扩展ASCII码用八位二进制数表示一个符号 共256个 返回1 2 13 1 1 4有符号数表示方法 0 无符号数 有符号数 机器数 真值1 原码正数原码 符号位为0 数值位照抄 负数原码 符号位为1 数值位照抄 例 X 25 00011001B X 原 00011001BX 25 00011001B X 原 10011001B2 反码正数反码 符号位为0 数值位照抄 负数反码 符号位为1 数值位取反 例 X 25 00011001B X 反 00011001BX 25 00011001B X 反 11100110B原码和反码表数范围相同 都是 127 127 14 3 补码 3 补码为了将减法运算变成加法来做 有符号数在计算机内一律采用补码表示 正数补码 符号位为0 数值位照抄 负数补码 符号位为1 数值位取反加一 例 X 25 00011001B X 补 00011001BX 25 00011001B X 反 11100110B X 补 11100111B下面是原码 反码和补码的小结 原码 反码 补码总结 1 正数的原码反码补码相同 负数的原码反码补码各不相同 但符号位都是1 2 设字长为八位 原码反码的表数范围为 127 127 补码的表数范围为 128 127 3 已知某负数的补码 求该负数的真值 方法如下 符号位不动 其余位求反加一 得到的是该负数的原码 根据原码即可写出该负数的真值 例 X 补 11111100B X 原 10000011B 1 10000100BX 0000100 4 返回1 2 15 1 1 5二进制运算 含十六进制运算 1 算术运算与十进制运算相同 只不过是逢2进1 借1当2 加法减法乘法0 0 00 0 00 0 00 1 10 1 10 1 01 0 11 0 11 0 01 1 101 1 01 1 12 十六进制算术运算 与十进制运算相同 但 逢16进1 借1当16 注意运算结果如为A B C D E F 不能写成10 11 12 13 14 15 16 3 逻辑运算 3 逻辑运算与运算 AND 1 0 01 1 10 0 00 1 0或运算 OR 1 0 11 1 10 0 00 1 1非运算 NOT 或 0 1 0 1 1 0 1 0 异或运算 XOR 1 0 11 1 00 0 00 1 1注意 逻辑运算是按位运算 17 4 用补码作减法 补充讲义 我们用实例说明计算机在执行减法指令时 是如何把减法变成加法来做的 设字长为8位 例1 5 4 即 00000101 00000100 机器中 5和 4都用补码表示 对减数求补 求反加一 得到 4 的补码 11111100 5 的补码加 4 的补码 00000101 11111100 100000001 将结果00000001看作补码 其真值即为 1 进位被自动舍弃 18 用补码作减法 2 例2 5 4 即 0000101 0000100 机器中 5和 4都用补码表示 4 补 11111100 对减数求补 得到的是 4的补码 00000100 将 5的补码加 4的补码00000101 00000100 00001001 将结果看成补码 其真值即为正确结果 9 例3 5 4 和 5 4 步骤同上 总之 被减数和减数都用补码表示 机器对减数先求补 而后做加 将计算结果看作补码 返回第一章 19 例2 5 4 即 0000101 0000100 机器中 5和 4都用补码表示 4 补 11111100 对减数求补 得到的是 4的补码 00000100 将 5的补码加 4的补码00000101 00000100 00001001 将结果看成补码 其真值即为正确结果 9 例3 5 4 和 5 4 步骤同上 总之 被减数和减数都用补码表示 机器对减数先求补 而后做加 将计算结果看作补码 返回第一章 20 1 28086微处理器 1 2 18086的内部结构1 2 28086的寄存器组1 2 38086CPU引脚功能 返回第一章 21 1 2 18086的内部结构 指令译码 总线接口单元 执行单元 ABUSDBUSCBUS 内部数据总线 内部数据总线 返回1 5 22 1 2 28086寄存器组 寄存器是CPU内部临时存放数据的部件 8个通用寄存器 4个段寄存器 1个指令指针寄存器 1个标志寄存器 以上寄存器均为16位寄存器 1 8086通用寄存器 1 AX 累加器 2 BX 基地址寄存器 3 CX 计数寄存器 4 DX 数据寄存器 5 SI 源变址寄存器 6 DI 目的变址寄存器 7 BP 栈基地址寄存器 8 SP 栈顶指针 9 IP 指令指针寄存器 专用寄存器 通用寄存器中的4个数据寄存器可以分成8个8位寄存器使用 AX AH ALBX BH BLCX CH CLDX DH DL 23 标志寄存器 2 标志寄存器标志寄存器又称作程序状态字 ProgramStatusWord 简记作PSW 共16位 一般把每一位分别使用 8086 8088使用其中的9位 用于存放当前程序执行的状况和运算结果的特征 各标志位的分布如图2 3所示 D15d14d13d12d11d10d9d8 24 标志寄存器 9个标志位可分为两组 状态标志 条件标志 记载算术运算或者逻辑运算结果的特征 另一组是控制标志位 记载CPU当前工作状态 控制CPU执行指令的方式 包括TF IF DF等3个标志位 1 状态标志 条件标志 1 CF 进位标志 2 ZF 零标志 3 SF 符号标志 4 OF 溢出标志 设置 与CF的区别 5 PF 奇偶标志 低8位 偶数时为1 6 AF 辅助进位标志 25 控制标志位 2 控制标志位 1 TF 单步中断允许标志 2 IF 外部可屏蔽中断允许标志 3 DF 方向标志 返回1 5目录 26 1 2 38086微处理器的引脚功能 8086微处理器采用DIP40封装 40个引脚引脚按功能可分4部分 地址总线 数据总线 控制总线 电源及时钟引脚的类型有 双向 三态 输入 输出等双功能引脚分时复用引脚工作方式不同功能不同引脚 27 1234567891011121314151617181920 4039383736353433323130292827262524232221 GADAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGAD VCCAD15AD16 S3AD17 S4AD18 S5AD19 S6SS0 HIGH MN MXRDHOLD RQ GT HLDA RQ GT WR LOCK M IO S3 DT R S3DEN S3ALEINTATESTREADYRESET 8086 8086 8088引脚信号 28 引脚说明 地址总线和数据总线AD15 AD0 地址数据线 双向 三态分时复用每个总线周期T1时刻为地址 其他时刻为数据A19 A16 S6 S3 地址状态线 输出 三态分时复用每个总线周期T1时刻为地址 其他时刻为状态S6恒为低 S5反映标志寄存器IF位的状态 29 S4 S3表示CPU正在使用哪个段寄存器 BHE S7 数据总线高允许 状态S7信号输出 三态 分时复用做BHE时低电平有效 S7为备用状态线 在DMA时为高阻 30 1 3计算机的程序设计语言 1 机器语言低级语言2 汇编语言程序设计语言3 高级语言C C JAVA DELPHI 31 1 机器语言 指令 机器指令 机器指令的组成 操作码 操作数 指令系统 机器语言 指令系统及使用指令系统编写程序的规则 机器语言特点 计算机唯一能够直接识别的语言 目标程序 用机器语言描述的程序 机器语言的致命缺点 难以使用 如100 2568086机器语言程序 B86400050001A30020 32 2 汇编语言 汇编指令 用便于记忆 并能描述指令功能的符号表示机器指令 汇编指令 符号指令 助记符 表示指令操作码的符号 一般用英语单词或缩写 指令的操作数也用符号表示 汇编语言 汇编指令及使用汇编指令编写程序的规则 其他语言要素第三章介绍 汇编语言 源 程序 使用汇编语言编写的程序 汇编语言的特点 汇编指令与机器指令一一对应 但相对机器语言易于理解 掌握 当我们用低级语言编写程序时使用汇编语言而不用机器语言 汇编和汇编程序 翻译过程翻译程序 33 3 高级语言 机器语言和汇编语言以外的程序设计语言统称高级语言 其特点是更加接近自然语言和惯用的数学表达形式 与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论