汇编语言ch01 基础知识

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

补码表示法


正数的补码:同原码 负数的补码: 写出与该负数相对应的正数的补码 按位求反 末位加一 n位补码的表数范围:–2n-1 N 2n-1 –1 n=8:–128 N 127 n=16: –32768 N 32767


例1:n=8bit [+1]补码 = 0000 0001 = 01H [+127]补码 = 0111 1111 = 7FH [+0]补码 = 0000 0000 = 00H 例2:若机器字长8位,[−46]补码 = ? [46]补码 = 0010 1110 按位求反 1101 0001 末位加1 1101 0010 D 2 H 若机器字长16位,[−46]补码 = FFD2H
课堂练习题

1011002 =( )10 1011, 1001, 1000, 01112 =( 30D =( )B 258D =( )H
)16=(
)10
1.2 二进制数和十六进制数的运算

二进制数的运算
加法规则 0+0=0 0+1=1 1+0=1 1+1=0(进位1) 乘法规则 00=0 10=0 01=0 11=1
十进制数转换为二或十六进制数

整数部分转换:用除法 十进制数整数部分不断除以基数2或16,并记下 余数,直到商为0为止 由最后一个余数起逆向取各个余数,则为转换 成的二进制或十六进制数

例:126D=(
)B=(
)H
余数
2 126 2 63 2 31 2 15 0 1 16 126 16 7 0
符号位 数值位
原码表示法

原码表示法:符号 + 绝对值 例:n=8bit [+3]原码 = 0 000,0011 = 03H [–3]原码 = 1 000,0011 = 83H [+0]原码 = 0 000,0000 = 00H [–0]原码 = 1 000,0000 = 80H 0的表示不唯一!
补码的加法和减法



求补运算:对一个二进制数按位求反、末位加一 求补性质:[X]补码 求补 [–X]补码 求补 [X]补码 求补规则 加法规则:[X+Y]补码 = [X]补码 + [Y]补码 减法规则:[X–Y]补码 = [X]补码 + [–Y]补码 补码减法可转换为补码加法 符号位参加运算,能自动得到正确结果。
3、运算 二进制数的算术运算规则是逢二进一,十六进制 数的运算规则是逢十六进一。 基本逻辑运算包括与(AND)、或(OR)、非 (NOT)、异或(XOR)。
4、数和字符的表示 计算机中的数是用二进制来表示,其最高有效位 表示数的正负号。整数采用补码表示法。 对一个二进制数按位求反后在末位加1的运算称为 求补运算。 补码的加法规则:[X+Y]补=[X] 补+[Y] 补 补码的减法规则:[X–Y] 补=[X] 补+[–Y] 补 计算机采用ASCII表示字符,每个字符占用一个字 节。
1.3 数和字符的表示



计算机中的数和数的符号都是用二进制表示的, 这样的数称为机器数。一般用最高有效位来表示 数的符号,正数用0表示,负数用1表示。 机器数可用不同的码制来表示,常用的有原码、 补码和反码表示法。 机器字长n:指参与运算的数的基本位数,标志着 计算精度,一般是字节的整数倍,有8位、16位、 32位等。 7 6 5 4 3 2 1 0 例:假设机器字长n为8位
学习目标

了解计算机中数和字符的表示方法; 掌握不同基数的数之间的转换方法; 熟悉计算机中补码数的算术、逻辑运算规则。
学习指南

计算机的数制 → 数制之间的转换 → 算术运算和 逻辑运算规则 → 计算机中数的表示(码制)→ 计算机中字符的表示
重点与难点

计算机补码表示; 求补运算和补码加减运算。
字符的表示



American Standard Code for Information Interchange,美国信息交换标准代码。 ASCII码:用一个字节(8位二进制码)来表示一 个字符,低7位为字符的ASCII值,最高位一般用 作校验位,有128个。 不可显示的控制字符 前32个和最后一个编码 回车CR:0DH 换行LF:0AH 响铃BEL:07H 可显示和打印的字符:20H后的94个编码 数码0~9:30H~39H
本章知识点


计算机的数制及其相互转换; 计算机数的补码表示; 求补运算; 计算机中补码加减运算; 基本逻辑运算(AND,OR,NOT,XOR)
第1章 基础知识
1.1 数制 1.2 二进制数和十六进制数的运算 1.3 计算机中数和字符的表示 1.4 几种基本的逻辑运算
1.1 数制

二进制数

便于计算机存储及物理实现 特点:逢二进一,由0和1两个数码组成,基数为2, 各个位权以2k表示 二进制数: anan-1…a1a0.b1b2…bm= an×2n+an-1×2n-1+…+a1×21+a0×20 +b1×2-1+b2×2-2+…+bm×2-m 其中ai,bj非0即1
十六进制数的运算


二进制和十六进制数之间具有对应关系 整数从右向左,小数从左向右,每4个二进制位 对应一个十六进制位 00111010B=3AH,F2H=11110010B 十六进制数的加减运算类似十进制 逢16进位1,借1当16 23D9H+94BEH=B897H A59FH-62B8H=42E7H
十六进制数


用于表达二进制数,相互转换简单 基数16,逢16进位,位权为16k,16个数码: 0,1,2,3,4,5,6,7,8,9 A,B,C,D,E,F 十六进制数: anan-1…a1a0.b1b2…bm= an×16n+an-1×16n-1+…+a1×161+ a0×160 +b1×16-1+b2×16-2+…+bm×16-m 其中ai,bj是0~F中的一个数码
反码表示法

正数的反码同原码 负数的反码数值位与原码相反 例:n=8bit [+5]反码 = 0 000,0101 = 05H [–5]反码 = 1 111,1010 = FAH [+0]反码 = 0 000,0000 = 00H [–0]反码 = 1 111,1111 = FFH 0的表示不唯一!
小数部分转换:用乘法 分别乘以各自的基数,记录整数部分,直到小 数部分为0为止 0.8125=0.1101B 0.8125=0.DH 小数转换会发生总是无法乘到为0的情况 可选取一定位数(精度) 将产生无法避免的转换误差
二或十六进制数转换为十进制数


方法:按权展开 二进制数转换为十进制数 0011.1010B =1×21+1×20+1×2-1+0×2-2+1×2-3 =3.625 十六进制数转换为十进制数 1.2H =1×160+2×16-1 =1.125
余数
14 7
1
1 1 1 1 0
0
2 7
2 3 2 1
0

还可以采用降幂法 首先写出要转换的十进制数 其次写出所有小于此数的各位二进制权值 然后用要转换的十进制数减去与它最接近的二 进制权值 如够减则减去并在相应位记以1; 如不够减则在相应位记以0并跳过此位; 如此不断重复,直到该数为0为止。
大写字母A~Z:41H~5AH 小写字母a~z:61H~7AH 空格:20H
1.4 几种基本的逻辑运算
“与”运算(AND) A 0 0 1 1 B 0 1 0 1 AB 0 0 0 1 “或”运算(OR)
A 0 0 1 1 B 0 1 0 1 AB 0 1 1 1
“非”运算(NOT) A 0 1 A 1 0

例:将十进制数27转换为二进制数 计算过程如下: 小于27的二进制权为:16 8 4 2 1 27–24=27–16=11 (a4=1) 11–23=11–8=3 (a3=1) (a2=0) 3–21=3–2=1 (a1=1) 1–20=1–1=0 (a0=1) 所以:27D=11011B


进位计数制是一种计数的方法,常用的有十进制 计数法、二进制计数法、十六进制计数法、八进 制计数法等。 进位计数制 二进制数(B) 八进制数(O) 十进制数(D) 基数
2 8 10 16


十六进制数(H)
0,1 0,1,2,3,4,5,6,7 0,1,2,3,4,5,6,7,8,9 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F
作业

教材P14 T1.1、1.5中的(1)、(3)、(5) T1.7中的(2)、(4)
“异或”运算(XOR)
A 0 0 1 1 B 0 1 0 1 AB 0 1 1 0
本章小结
1、数制 计算机中的数字电路用电压的高低(或通断)表 示两种状态0、1,所以计算机内部的所有信息都 是采用二进制计数法。 在书写程序时,常采用二进制的短格式表示法: 十六进制。
2、数制之间的转换 二进制数和十六进制的转换是很直接的。一个二 进制数,从低位到高位,每4位用一个数字来表示, 就是相应的十六进制数,反之一个十六进制数中 的每一位用4位二进制数表示,就转换成相应的二 进制数。 十六进制数的各位数与其对应权值(16i)的乘积 之和即为其对应的是十进制数。十进制数转换为 十六进制数可使用降幂法和除法。
第1章 基础知识
1.1 Βιβλιοθήκη Baidu制 1.2 二进制数和十六进制数的运算 1.3 计算机中数和字符的表示 1.4 几种基本的逻辑运算
课前思考



计算机内部是采用什么计数制来表示数和信息? 二进制数和十六进制数之间是如何相互转换的? 十进制数转换为二进制数有几种方法? 计算机中如何表示正负数的? 计算机中的整数有几种表示方法?最常用的是哪 一种码制? 基本的逻辑运算包括哪几种运算?为什么说逻辑 运算是按位操作的? 求补的运算规则是什么? 计算机中是采用什么代码来表示字符的?
相关文档
最新文档