汇編语言程序设计 第1章基础知识 汇编语言程序设计概述 ◆进位讣数制及其相互转换 ◆计算机中数的表示 计算机中字符的表示
汇编语言 程序设计 第1章 基础知识 ◆ 汇编语言程序设计概述 ◆ 进位计数制及其相互转换 ◆ 计算机中数的表示 ◆ 计算机中字符的表示
汇編语言程序设计 1.1汇编语言程序设计概迷 1.1.1机器语言汇编 机器语言是计算机第一代语言,它全部由0、1 代码组成,是能够直接被杋器所接受的语言,是最 底层的计算杋语言。机器语言不容易记忆,程序编 写难度大,调试修改繁琐,且不易移植,现程序员 很少用。但机器语言执行潓度最快,它是一种面向 机器的程序设计语言
汇编语言 程序设计 1.1 汇编语言程序设计概述 机器语言是计算机第一代语言,它全部由0、1 代码组成,是能够直接被机器所接受的语言,是最 底层的计算机语言。机器语言不容易记忆,程序编 写难度大,调试修改繁琐,且不易移植,现程序员 很少用。但机器语言执行速度最快,它是一种面向 机器的程序设计语言。 1.1.1 机器语言汇编
汇編语言程序设计 1.1.2汇编语言 具有一定含义的符号作为助忆符,用指令助忆 苻、符号地址等组成的苻号指令称为汇编格式指令 (或汇编指令)。汇编语言是汇编指令集、伪指令集 和使用它们规则的统称。汇编语言比机器语言直观, 容易记忆和理解,用汇编语言编写的程序也比杋器 语言程序易读、易检查、易修改。对于不同的计算 机。针对同一问题所编写的汇编语言源程序是互不 通用的。用汇编语言编写的程序执行效率比较髙 但通用性与可移植性仍然比软差。讣算机不能直接 识别用汇编语言编写的程序,必须由一种专门翻译 程序将汇编语言程序翻译成杋器语言程序,计算杋 才能执行
汇编语言 程序设计 具有一定含义的符号作为助忆符,用指令助忆 符、符号地址等组成的符号指令称为汇编格式指令 (或汇编指令)。汇编语言是汇编指令集、伪指令集 和使用它们规则的统称。汇编语言比机器语言直观, 容易记忆和理解,用汇编语言编写的程序也比机器 语言程序易读、易检查、易修改。对于不同的计算 机,针对同一问题所编写的汇编语言源程序是互不 通用的。用汇编语言编写的程序执行效率比较高, 但通用性与可移植性仍然比较差。计算机不能直接 识别用汇编语言编写的程序,必须由一种专门翻译 程序将汇编语言程序翻译成机器语言程序,计算机 才能执行。 1.1.2 汇编语言
汇編语言程序设计 1.1.3为什么要学习和使用汇编语言 1.可以更深刻认识计算机的工作过程 用汇编语言编制程序,可以清楚地了解计算杋 是怎样完成各种复杂工作的。在此基础上,程序设 讣人员更能充分地利用机器硬件的全部功能,发挥 机器的长处。 2.许多领域和场合卿要使用汇编语言 与硬件资源密切相关的软件开发; 要求执行效率高、反应快的领域; 受存储容量限制的疝用领域
汇编语言 程序设计 1. 可以更深刻认识计算机的工作过程 用汇编语言编制程序,可以清楚地了解计算机 是怎样完成各种复杂工作的。在此基础上,程序设 计人员更能充分地利用机器硬件的全部功能,发挥 机器的长处。 2. 许多领域和场合需要使用汇编语言 .与硬件资源密切相关的软件开发; .要求执行效率高、反应快的领域; .受存储容量限制的应用领域。 1.1.3 为什么要学习和使用汇编语言 返回
汇編语言程序设计 1.2进攸计数制及其相互转换 1.2.1进位计数制 1.数制的概念 按进位的原则进行计数叫进位讣数制,简称数 制。每种数制都有其基数和各数位的位权。基数是 指该数制中允许选用的基本数码的个数。每个数码 所表示的数值等于该数码乘以一个与数码所在位置 有关的常数,这个常数叫位权。位权的大小是以基 数为底,数码所在位置的序号为指数的整数次幂。 2.常用的数制 在汇编语言中常用的数制有:十进制、二进制 八进制和十六进制
汇编语言 程序设计 1. 数制的概念 按进位的原则进行计数叫进位计数制,简称数 制。每种数制都有其基数和各数位的位权。基数是 指该数制中允许选用的基本数码的个数。每个数码 所表示的数值等于该数码乘以一个与数码所在位置 有关的常数,这个常数叫位权,位权的大小是以基 数为底,数码所在位置的序号为指数的整数次幂。 2.常用的数制 在汇编语言中常用的数制有:十进制、 二进制、 八进制和十六进制。 1.2 进位计数制及其相互转换 1.2.1 进位计数制
汇編语言程序设计 1.十进制 十进制数的基数为10,十进制数的位权为101, 其中代表数字在十进制数中的序号,任意一个10进 制N可表示为 N ani a an×10+an1×10m1+.…+a1×101+a0×10° +a_1×10-1+.+an×10-m =∑a;×10 1=r 2.二进制 二进制数的基数为2.二进制数中每一个数字的 位权由2的幂次决定,即:2i,其中i为数字在二进 制数中的序号
汇编语言 程序设计 十进制数的基数为10,十进制数的位权为10i , 其中i代表数字在十进制数中的序号,任意一个10进 制N可表示为: N = anan-1 … a1a0.a-1…a-m = an×10n + an-1×10n-1 +… +a1×101 + a0×100 + a-1×10-1 +……+a-m×10-m -m = ∑ai×10i i=n 2. 二进制 二进制数的基数为2,二进制数中每一个数字的 位权由2的幂次决定,即:2i, 其中i为数字在二进 制数中的序号。 1. 十进制
汇編语言程序设计 N =an×2n+an1×2n1+…+a1×21+a0×20+a1×21+…+am×2m m ∑a1×2 En 3.十六进制 十六进制数的基数为16.十六进制中每位数字的位 权由16的幂次决定 N=anan……a1aoa.a.m an×16叶+an1×16+…+a1×16+a0×16+a1×161+……+am×16m ∑a1×16 其中Ⅲ,n意义同前,ai取值范围为0-9,A.B.C.D E,F中任一数字
汇编语言 程序设计 N = an an-1 ….. a1 a0 .a-1……a-m = an×2 n + an-1×2 n-1 +….. +a1×2 1 + a0×2 0 + a-1×2 -1 +……+a-m×2 -m -m = ∑ai×2 i i=n 3. 十六进制 十六进制数的基数为16,十六进制中每位数字的位 权由16的幂次决定 N = an an-1 ….. a1 a0 .a-1……a-m = an×16n+an-1×16n-1+…+a1×161+a0×160+a-1×16-1+……+a-m×16-m -m = ∑ai×16i i=n 其中m,n意义同前,ai取值范围为0-9,A,B,C,D, E,F中任一数字
汇編语言程序设计 1.2.2各种数制间的相互转换 将数由一种数制转换成另一种数制称为数制间的 转换。 1.非十进制转换成十进制 非十捷数转换成十进制数采用“位权法”,即 十进制数写成各自的按权展开式,然后按十进制运算 原则求和,其和值就是转换后对应的十选制数。 例1.1】将十六进制数B2F转换成十进制数。 (B2F)16=B×162+2×161+F×160 11×162+2×161+15×160 2816+32+15=(2863) 10
汇编语言 程序设计 1.2.2 各种数制间的相互转换 将数由一种数制转换成另一种数制称为数制间的 转换。 1. 非十进制转换成十进制 非十进制数转换成十进制数采用“位权法”,即 把非 十进制数写成各自的按权展开式,然后按十进制运算 原则求和,其和值就是转换后对应的十进制数。 【例1.1】将十六进制数B2F转换成十进制数。 (B2F)16 = B×162 + 2×161 + F×160 = 11×162 + 2×161 + 15×160 = 2816 + 32 + 15 = (2863)10
汇編语言程序设计 2.十进制数转换成非十进制数 将一个十进制数转换非十进制数时,整数部分 和小数部分的转换方法是不同的,需将整数部分和 小数部分分别转换,将两个转换结果结合起来就可 以得到对应的非十进制数。 (1)十进制整数转换成非十进制 憝撩十进制整数转换为非十进制数采用 基取汆逵”,即将十进制整数及此期间产生的商 次除以需转换为数制的基数。直到商为零为止,并 记下每一次相除所得到的余数。按从后往前的次序 将各余数记作KnKn1Kn-2K0.从而构成转换后 对应的非十进制整数。第一次得到的佘数为非十进 制数的最低位,最后一次得到的余数为非十进制数 最高位
汇编语言 程序设计 2. 十进制数转换成非十进制数 将一个十进制数转换非十进制数时,整数部分 和小数部分的转换方法是不同的,需将整数部分和 小数部分分别转换,将两个转换结果结合起来就可 以得到对应的非十进制数。 (1) 十进制整数转换成非十进制 整数将十进制整数转换为非十进制整数采用 “除 基取余法”,即:将十进制整数及此期间产生的商 逐 次除以需转换为数制的基数。直到商为零为止,并 记下每一次相除所得到的余数。按从后往前的次序 将各余数记作KnKn-1Kn-2……K0,从而构成转换后 对应的非十进制整数。第一次得到的余数为非十进 制数的最低位,最后一次得到的余数为非十进制数 的最高位
汇編语言程序设计 例1.3】将整数125转换成对应的十六进制整数 16125 余数 167 13(D) 则得:(125)10=(7D)16 2)十进制小数转换成非十进制小数 将十进制小数转换为非十进制小数采用:将十 进制小数及此期间产生的积小数部分逐次乘以需转 换为数制的基数,直到积的小数部分为零为止或达 到一定精度为止,并记下每一次相乘所得到的整数 部分,按照从前往后的次序,将各整数部分记作k-1 k-2.k-m,从而构成转换后对应的非十进制小数 例1.4】将十进制数125.625转换成对应的二进 制数 因为(125)10=(111101)2 0.625)10=(0.101)2 所以(125.625)10=(1111101.101)2 返回
汇编语言 程序设计 【例1.3】将整数125转换成对应的十六进制整数 则得:(125)10 = (7D)16 (2) 十进制小数转换成非十进制小数 将十进制小数转换为非十进制小数采用:将十 进制小数及此期间产生的积小数部分逐次乘以需转 换为数制的基数,直到积的小数部分为零为止或达 到一定精度为止,并记下每一次相乘所得到的整数 部分,按照从前往后的次序,将各整数部分记作k–1 k-2……k-m ,从而构成转换后对应的非十进制小数。 【例1.4】将十进制数125.625转换成对应的二进 制数 因为 (125)10 =(1111101)2 (0.625)10 =(0.101)2 所以 (125.625)10 =(1111101.101)2 返回