80X86汇编语言程序设计 第一章基础知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
80X86汇编语言程序设计
第一章基础知识(1.2.)
一.进制转换:
(1)十进制转换成二进制:除2取余法
(2)十进制转换成十六进制:除16取余法
(3)二进制转换成十进制:权的展开式,各位二进制数码乘以与其对应的权之和
(4)十六制转转换成十进制:权的展开式,各位十六进制数码乘以与其对应的权之和
(5)二进制转换成十六进制:四位归一法(8421码),把二进制数码从低位到高位每4位组成一组,直接用十六进制数来表示
(6)十六进制转换成二进制:一位分四法(8421码),把十六进制数中的每一位用4位二进制数表示,就形成相应的二进制数
二.数据的表示
(1)数的补码表示(有符号数)
把一个数连同其符号在内在机器中的表示加以数值化,这样的数称为机器数。一般用最高有效位来表示数的符号。正数用0表示,负数用1表示。机器数可以用不同的码制来表示,常用的有原码、补码和反码表示法。
补码表示法中,正数采用符号绝对值表示;负数X用2的n次方-X来表示,其中n位机器的字长。
0的补码就是00000000
8位表示数的有符号整数的范围为:-128~+127.
16位表示数的有符号整数的范围为:-32768~+32767.
例如:机器字长为16位,写出N=-117D的补码表示
+117D可表示为:0000 0000 0111 0101
按位求反后为: 1111 1111 1000 1010
末位加1后为: 1111 1111 1000 1011
十六进制数为: F F 8 B
N=-117D的补码是FF8BH
(2)无符号数
8位表示数的无符号整数的范围为:0~255(256-1).
16位表示数的无符号整数的范围为:0~65535(65536-1).
(3)符号扩展
当要扩展的数是无符号数时,只要在最高位前扩展(m-n)个0。
如果要扩展的数是有符号数,并且采用补码形式表示,进行符号扩展。(正数前面用0补齐;负数
最高有效位如果是1,前面就加1。)
(4)补码的加法和减法
求一个正数的补码表示按位求反后再在末位加1,可以得到此正数相应的负数的补码表示。把这种对一个二进制数按位求反后在末位加1的运算成为求补运算。
【X】补——【-X】补——【X】补
补码的加法规则是:
【X+Y】补=【X】补+【Y】补
-【X-Y】补=【X】补+【-Y】补
非数值数据:
1.ASCII码(7位=128个字符)(8位=256字符)
数字:30~39H
大写字母:41~5AH
小写字母:61~7AH
控制字符:00~19H
2.变形国际码
基本数据类型
1.字节
2.字
3.双字
4.字符串