资源描述:
《汇编语言基础3讲解ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本章重点:1、80486的寻址方式2、80486的指令系统第三章x86微处理器的寻址方式和指令系统3.1x86微处理器的数据类型80X86系列微型计算机常用数据类型:整数(有符号整数﹑无符号整数)浮点数字符串二-十进制编码BCD(压缩BCD码﹑非压缩BCD码)3.1.1整数1.无符号整数无符号数,指字节﹑字或双字整数操作数中,对应的8位﹑16位或32位二进制数全部用来表示数值本身,无表示符号的位,因而是正整数.3.1.1整数若机器字长为n,则无符号整数数值范围为0~2n-1.8位无符号数的表数范围是0≤N≤28-1,16位无符号数的表数范围是0≤N≤216-1,32位无符号数
2、的表数范围是0≤N≤232-1.在计算机中最常用的无符号整数是表示地址的数.图3-1无符号整数2.有符号整数有符号数表示方法:把二进制数的最高位定义为符号位,其余各位表示数值本身,其中符号位为0表示正数、1表示负数,即将符号数值化.概念:真值数:用“﹢”﹑“-”来表示数正与负的数.机器数:把符号数值化的数称为机器数.机器数有四种不同的表示法:原码﹑反码﹑补码及移码.原码:对一个二进制数而言,若最高位表示数的符号,(0表示正数,1表示负数),其余各位表示数值本身,该表示法为二进制数的原码表示法.正数的原﹑反﹑补码与真值数相同.负数原码的数值部分与真值数相同;负数反码的数值部分为
3、真值数按位取反;负数补码的数值部分为真值数按位取反再在末位加1.整数补码的运算,规则:机器字长为n位的原码数,其真值范围机器字长为n位的反码数,其真值范围是机器字长为n位的补码数,其真值范围是小结【例3-1】当机器字长n=8时,数X的原码记作[X]原,反码记作[X]反,补码记作[X]补①X=+6=+0000110B[X]原=[X]反=[X]补=X②X=-6=-0000110B[X]原=10000110B[X]反=11111001B[X]补=11111010B③X=+0=+0000000B[X]原=[X]反=[X]补=X④X=-0=-0000000B[X]原=10000000B
4、[X]反=11111111B注意:没有负零的补码,也可理解为负零的补码与正零相同.【例3-2】机器字长n=8,真值X=+1011011B,Y=-1011011B分别求其原码,反码及补码.解:X为正时[X]原=[X]反=[X]补=01011011BY为负时[Y]原=11011011B[Y]反=10100100B[Y]补=10100101B【例3-3】机器字长n=8,用补码运算求(64–10)解:设z=64–10=64+(-10)[+64]补=01000000B,[-10]原=10001010B,[-10]补=11110110B,或[[10]补]补=[00001010]变补=11
5、110110B[z]补=[64-10]补=[+64]补+[-10]补=01000000+11110110=00110110B结果z=+543.1.2浮点数1.概念⑴定点数对于整数,小数点约定在最低位的右边,称为定点整数。对于纯小数,小数点约定在符号位之后,称为定点小数。3.1.2浮点数1.概念⑵浮点数引入“浮点数”概念是为表示二进制带小数,只有在高级语言程序中才用到浮点数,且它有一套运算法则.在微型计算机中指令运算的操作数是定点整数,汇编语言涉及的都是整数.2.浮点数二进制带小数格式:(1)浮点数表示法:主要由阶码和尾数两部分.(2)阶码的物理意义:表小数点的实际位置.(3)
6、规格化的浮点真值数①尾数是纯小数,即小数点后是1不是0②阶码是整数3.浮点机器数图3-2浮点数存储格式(1)浮点机器数将符号数值化,阶符和尾符各占一位.阶码和尾码若干位,阶码为纯小数.尾符和尾数之间是小数点约定位置.(2)在定字长条件下,浮点数所能表示的真值范围比定点数大,分配给阶码的位数越多,表示的数的范围越大。但由于尾数的位数减少,数的精度减小。【例3-7】设字长为16位,其中,阶符1位,阶码4位,尾符为1位,尾数10位.要求把X=-101101.0101B写成规格化的浮点补码数,阶码和尾数均为补码表示.解:首先把X写成规格化的浮点真值:X=则规格化的浮点补码数为:阶符
7、阶码尾符尾数0011010100101011重庆邮电学院计算机科学与技术学院王练【例3-8】设阶码用原码表示,尾数用补码表示,求下列浮点机器数得真值.解:真值=0001010010011001阶符阶码尾符尾数重庆邮电学院计算机科学与技术学院王练4.浮点数的数值范围阶码位数影响数值大小范围,尾数位数影响数的精度.【例1.3.3】设字长为16位,其中阶符1位,阶码5位,尾符1位.当阶码和尾数均用补码表示时,数值范围是多大?当阶码和尾数都用原码表示时,数值范围是多大?重庆邮电学院计算机科学与技术学院王练解:(