80X86汇编语言:原码与补码的转换

需积分: 19 0 下载量 171 浏览量 更新于2024-08-24 收藏 411KB PPT 举报
"由原码求补码-汇编程序设计课件" 在计算机科学中,数字的表示方法是理解计算机内部操作的关键。本课件主要讲解了在80X86汇编语言环境下,如何根据原码求解补码,以及计算机中数的表示方式。以下是关于这一主题的详细知识: 1. 数制转换和码制表示: - 数制:常见的数制包括二进制、十进制和十六进制。二进制数由0和1组成,基数为2;十进制数由0到9组成,基数为10;十六进制数则由0-9和A-F(代表10-15)组成,基数为16。 - 码制:原码、反码和补码是用于表示有符号整数的三种方式。原码直接表示数值的正负,正数的原码即为其二进制表示,负数的最高位(符号位)为1。反码是正数不变,负数除符号位外其他位取反。补码是负数的原码取反再加1,正数的补码与原码相同。 2. 由原码求补码: - 对于正整数,如机器字长n=8的+22,其原码和补码都是00010110,因为正数的补码与原码相同。 - 对于负整数,如-8,原码是10001000。求补码的步骤是:将除了符号位之外的所有位取反(得到11110111),然后在末位加1(得到11111000)。这就是“取反加1”的过程。 3. 补码的含义和作用: - 补码系统的引入主要是为了简化计算机中的算术运算,尤其是减法运算。通过补码,可以将加法和减法统一为加法操作,提高了计算效率。 - 在80X86汇编语言中,计算通常在补码形式下进行,这使得负数的加减运算变得简单直观。 4. 存储缓冲区中的整形数存取: - 在计算机内存中,整数以字节的形式存储,根据机器字长(如8位、16位、32位或64位)确定每个整数占用的空间。 - 存取这些整数时,需要考虑其字节顺序(如大端序或小端序),以及是否是补码表示。 5. 其他码制: - ASCII码:用于表示字符,它将每个字符编码为7位或8位的二进制数。 - BCD码(二进制编码的十进制码):用于存储十进制数,每四位二进制表示一个十进制数。 - 扩充键扫描代码:在键盘输入处理中,用于扩展标准ASCII码,包含更多的功能键和控制键的信息。 了解这些基础知识对于编写汇编语言程序至关重要,因为它直接影响到数值的存储、读取和计算过程。在实际编程中,正确理解和运用这些概念能避免很多潜在的错误。