《汇编基础知识的详细介绍.ppt》由会员分享,可在线阅读,更多相关《汇编基础知识的详细介绍.ppt(24页珍藏版)》请在三一办公上搜索。
1、基础知识:,进位制不同进位制数之间的转换c.二进制的运算d.十六进制数的运算e.几种基本的逻辑运算f.计算机中数和字符的表示,进位制,进位计数制是一种计数的方法,习惯上常用的是十进制。其它的进制还有很多,比如二进制、八进制、十二进制、十六进制、六十进制等。不同进位制都各有优、缺点。如果一个数是n进制的,那么就称这个数的基数是n。一般n进制数amam-1a1a0.b0b1bk的表示方法是:amnm+am-1nm-1+a1n+a0+b0n-1+bkn-k-1,进位制,不同的进制用不同的数码表示,在计算机的应用中,一般n10时就需要另外使用一些新的数码。比如十六进制的数码为0、1、2、3、4、5、6
2、、7、8、9、a、b、c、d、e、f。,进位制,一般表示不同进制数在数的右下角标出基数即可,在计算机应用中,常用的进位制分别用不同的字母来表示:二进制用B(Binary)八进制用O(Octal)十进制用D(decimal)十六进制用H(hexadecimal)比如31D、1FH、11111B、111112等都表示同一个数,不同进位制数之间的转换,在计算机应用中,一般有以下几种转换:二、八、十六等非十进制数化十进制数十进制数化二进制数十六进制化二进制二进制化十六进制,非十进制数化十进制数,非十进制数化十进制数的方法是:各位数码乘以 与其对应的权,然后相加即可。如:1011B=1*23+0*22+
3、1*2+1=11D02E3H=0*163+2*162+E*16+3=2*256+14*16+3=739D,十进制数化二进制数,十进制数与二进制数的区别在于各位的权、值不同,二进制数可以通过乘法相加得到相应的十进制数。十进制数转换为二进制数就不能用这种方法了。十进制数转换为二进制数的方法有很多,比较常用的有:降幂法除法,降幂法,降幂法的方法是:写出要转化的十进制数。写出小于此数的所有的2的幂次,也就是二进制各位的权值。用要转换的数减去与它最相近的权值,如果够减就在相应位记1,否则记0并跳过此位。不断重复3,直到该数为0为止。,除法,将要转化的十进制数的整数部分不断除以2,并记下余数,直到商为0。
4、将余数按从后往前的顺序排列起来,构成整数部分。将要转换的十进制数的小数部分乘以2,并记下结果的整数部分,将结果的小数部分乘以2,如此重复,直到结果的小数部分为0。然后将结果的整数部分从前往后排列起来,构成小数部分。,十六进制简介,十六进制数的基数为16,各数码与二进制和十进制的对应关系如图:,二进制,十进制,十六进制,0000 0 0,0001 1 1,0010 2 2,0011 3 3,0100 4 4,0101 5 5,0110 6 6,0111 7 7,二进制,十进制,十六进制,1000 8 8,1001 9 9,1010 10 A,1011 11 B,1100 12 C,1101 13
5、 D,1110 14 E,1111 15 F,十六进制化二进制,十六进制数化二进制数的方法是:将要转换的十六进制数每一位用4位二进制数表示即可。如:8BH=1000 1011 B02E3H=0000 0010 1111 0011 B,二进制化十六进制,二进制数化十六进制数的方法是:将要转换的二进制数每四位组成一组,用1位十六进制数表示即可。如:1000 1011 B=8BH0000 0010 1111 0011 B=02E3H,二进制数的运算,加法规则:0+0=0 1+0=1 0+1=1 1+1=0(进位1),乘法规则:0 x 0=0 1 x 0=0 0 x 1=0 1 x 1=1,十六进制数
6、的运算,十六进制数运算的方法有两种:先把十六进制数转换为十进制数运算,再将结果转换为十六进制。直接用十六进制数计算,但规则是逢16进1。,十六进制数的运算,加法:两数之和S小于16,与十进制相同两数之和S不小于16,用S-16及进位1取代S减法:够减时直接相减,不够时向高位借1表示16乘法:与十进制相同,但是结果为十六进制,05C3H3D25H42E8H,+,3D25H05C3H3762H,-,05C3H00ABH3F61,x,+399E,3D941H,“与”运算(AND):又称逻辑乘,用符号或表示。A和B都为1时,“与”运算结果才为1“或”运算(OR):又称逻辑加,用符号+或表示。A和B任一
7、为1时,“或”运算结果为1,A B AB0 0 00 1 01 0 01 1 1,A B AB0 0 00 1 11 0 11 1 1,几种基本的逻辑运算,“非”运算(NOT):变量A的非用A表示“异或”运算(XOR):用符号表示,A A0 11 0,A B AB0 0 00 1 11 0 11 1 0,A和B取值相异时,“异或”运算结果为1,几种基本的逻辑运算,计算机中数和字符的表示,计算机中的数用二进制来表示,数的符号也是用二进制来表示的。把一个数连同其符号在内在机器中的表示加以数值化,这样的数称为机器数。机器数一般用最高有效位来表示符号:0表示正数,1表示负数。机器数可以用不同的编码来表
8、示,常用的有原码、补码和反码表示法,大多数的机器采用补码表示法。,补码表示法,补码表示法的原则:正数采用符号绝对值表示,即数的最高有效位为0表示符号,其余部分表示数的绝对值。负数x用2n-|x|表示,n为机器的字长,很显然,负数的最高位为1。注:在补码表示法中0只有一种表示。字长为n的补码表示的范围是-2n-12n-1-1。,补码表示法,补码表示的简单方法:对于正数,直接用符号绝对值法写出。对于负数,先写出其绝对值的补码表示,然后按位求反,最后在末位加1。(求反加1)如:-117D(机器字长为16)的补码表示为:+117D表示为:0000 0000 0111 0101 B按位求反后为:1111
9、 1111 1000 1010 B末位加1得结果为:1111 1111 1000 1011 B 所以-117D的补码表示为FF8BH。,补码符号扩展,符号扩展:一个数从位数较少扩展到位数较多。在补码表示法中,正数的符号扩展在前面补0,负数的符号扩展在前面补1。,补码的加法和减法,补码的性质:x补-x补 x补补码的加法规则:x+y补=x补+y补补码的减法规则:x-y补=x补+-y补=x补+y补补,无符号整数,补码能够很方便地用来表示有符号整数,对于无符号整数,就不再把最高位当成符号位,而是作为有效位来处理。N位无符号数的范围是02n-1。计算机对于有符号数和无符号数进行不同的处理。,字符表示法,字符包括:字母:A,B,Z,a,b,z数字:0,1,9专用字符:+,-,*,/,SP(空格键),非打印字符:Return,Ctrl,.在计算机中字符通常采用美国信息交换标准代码ASCII码:用一个8位二进制数来表示一个字符,其中低7位为ASCII码值,最高位一般用做校验位。,