资源描述:
《汇编语言程序设计1 (2).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、汇编语言程序设计AssemblyLanguageProgramming第一章基础知识§1数的表示数的表示数制数制之间的转换运算计算机中数的表示BCD码字符编码基本位操作预备知识22=424=1628=256210=1024220=10485761K=210=1024(Kilo)1M=1024K=220(Mega)1G=1024M=230(Giga)1T=1024G=240(Tera)1个二进制位:bit(比特)8个二进制位:Byte(字节)1Byte=8bit2个字节:Word(字)1Word=2Byte=16bit1个双字:DWord=2Wor
2、dB:Byteb:bit网络速度:10Mbps文件大小:10MB1.1数制十进制:基数为10,逢十进一12.34D=1×101+2×100+3×10-1+4×10-2二进制:基数为2,逢二进一1101B=1×23+1×22+1×20=1310十六进制:基数为16,逢十六进一9187H=9×163+1×162+8×161+7×160八进制:基数为8,逢八进一数制基数数码二进制Binary20,1八进制Octal80,1,2,3,4,5,6,7十进制Decimal100,1,2,3,4,5,6,7,8,9十六进制Hexadecimal160,1,2,
3、3,4,5,6,7,8,9,A,B,C,D,E,F二进制十进制1011B=11D除法:整数部分除2;小数部分乘2。1.2数制之间的转换小数可能不能用二进制来表示完全,如0.60.62520.25020.5012010.625D=0.101B二进制十六进制001101011011111135BFA19C1010000110011100∴A19CH=1010,0001,1001,1100B4位二进制对应一位16进制十六进制十进制BF3CH=11163+15162+3161+12160降幂法除法常用数0—00H128—80H25
4、5—FFH256—100H32767—7FFFH65535—FFFFH二进制加法规则乘法规则0+0=000=00+1=101=01+0=110=01+1=0(进位1)11=1十六进制05C3H3D25H+3D25H-05C3H42E8H3762H1.3算术运算1.4计算机中数的表示肯定是用二进制是否需要表示负数?无符号数(unsigned)和有符号数(signed)无符号数用“二进制”来表示,有符号数用补码来表示注意正数与无符号数的差别除非明确说明(?),汇编中任何一个数都有二义性:30H?80H?补码定义最高有效位为符号位:0—正;1—
5、负正数的补码为它本身(二进制值);负数的补码由2n-
6、x
7、求得。n为机器的字长。注:2n-
8、x
9、等价于对
10、x
11、取反+1[46]补码=00101110[-46]补码=28-
12、-46
13、=1,0000,0000-00101110=11010010[-46]补码:
14、-46
15、=46=0010111011010010补码的特性求补特性加减[x+y]补=[x]补+[y]补[x-y]补=[x]补-[y]补这个特性使得对于补码数或者一般的二进制数对加减规则一样。不可用于乘除运算。[x-y]补=[x]补+[-y]补:减法可用加法实现。求补:取反加1[x]补求补[-
16、x]补补码为11001100,十进制数为?举例-321110,0000+250001,1001-71111,10010000,0110(取反)0000,0111(加1)补码的物理意义考虑8位二进制数,其表示范围为0~255,即256=0。若将其想象为一个环,以0为基点,向顺时针方向移246个单位,则得246。然而,若按逆时针方向移动,则该位置就是-10。即-10=0F6H=246因此,在8位二进制表示下,对于负数x(-128~-1)来说,存在下列等式:-x=256-∣x∣数的范围无符号数:8位(0---255)16位(0---65535)有符号数
17、:8位(-128---127)16位(-32768---32767)n位补码表示数范围:-2n-1N2n-1-1n位二进制补码的表数范围十进制二进制十六进制十进制十六进制n=8n=16+127011111117F+327677FFF+126011111107E+327667FFE......……...+20000001002+20002+10000000101+100010000000000000000-111111111FF-1FFFF-211111110FE-2FFFE......……...-1261000001082-327668002
18、-1271000000181-327678001-1281000000080-327688000一个带符号数在不同位数下,其二进制补码表