微机原理与接口技术 课程目标 掌握: 微型计算机的基本工作原理 汇编语言程序设计方法 微型计算机接口技术 建立微型计算机系统的整体概念,了解 微机系统软硬件开发的基本过程 教材及主要参考书 教材: 《微机原理与接口技术》,冯博琴主编, 清华大学出版社,2002.2 主要参考书: 《微机原理及应用》,李伯成等编,西安 电子科技大学出版社 《汇编语言》,王爽 著,清华大学出版社 考核方式 平时作业 15% 实 15% 期末考试 验 70% 第1章 基础知识 主要内容: 计算机中的常用计数制、编码及它们 相互间的转换; 二进制数的算术运算和逻辑运算; 符号数的表示及补码运算; 二进制数运算中的溢出问题 基本逻辑门及译码器 §1.1 概 述 计算机的发展史 计算机的应用 §1.2 常用计数制 了解:各种计数制的特点及表示方 法; 掌握:各种计数制之间的相互转换。 一、常用计数法 十进制 二进制 十六进制 1.
Download ReportTranscript 微机原理与接口技术 课程目标 掌握: 微型计算机的基本工作原理 汇编语言程序设计方法 微型计算机接口技术 建立微型计算机系统的整体概念,了解 微机系统软硬件开发的基本过程 教材及主要参考书 教材: 《微机原理与接口技术》,冯博琴主编, 清华大学出版社,2002.2 主要参考书: 《微机原理及应用》,李伯成等编,西安 电子科技大学出版社 《汇编语言》,王爽 著,清华大学出版社 考核方式 平时作业 15% 实 15% 期末考试 验 70% 第1章 基础知识 主要内容: 计算机中的常用计数制、编码及它们 相互间的转换; 二进制数的算术运算和逻辑运算; 符号数的表示及补码运算; 二进制数运算中的溢出问题 基本逻辑门及译码器 §1.1 概 述 计算机的发展史 计算机的应用 §1.2 常用计数制 了解:各种计数制的特点及表示方 法; 掌握:各种计数制之间的相互转换。 一、常用计数法 十进制 二进制 十六进制 1.
Slide 1
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 2
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 3
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 4
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 5
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 6
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 7
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 8
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 9
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 10
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 11
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 12
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 13
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 14
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 15
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 16
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 17
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 18
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 19
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 20
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 21
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 22
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 23
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 24
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 25
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 26
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 27
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 28
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 29
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 30
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 31
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 32
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 33
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 34
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 35
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 36
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 37
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 38
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 39
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 40
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 41
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 42
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 43
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 44
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 45
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 46
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 47
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 48
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 49
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 50
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 51
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 52
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 53
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 54
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 55
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 56
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 57
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 58
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 59
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 60
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 61
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 62
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 2
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 3
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 4
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 5
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 6
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 7
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 8
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 9
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 10
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 11
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 12
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 13
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 14
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 15
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 16
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 17
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 18
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 19
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 20
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 21
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 22
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 23
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 24
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 25
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 26
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 27
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 28
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 29
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 30
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 31
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 32
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 33
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 34
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 35
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 36
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 37
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 38
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 39
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 40
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 41
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 42
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 43
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 44
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 45
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 46
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 47
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 48
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 49
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 50
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 51
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 52
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 53
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 54
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 55
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 56
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 57
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 58
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 59
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 60
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 61
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62
Slide 62
微机原理与接口技术
1
课程目标
掌握:
微型计算机的基本工作原理
汇编语言程序设计方法
微型计算机接口技术
建立微型计算机系统的整体概念,了解
微机系统软硬件开发的基本过程
2
教材及主要参考书
教材:
《微机原理与接口技术》,冯博琴主编,
清华大学出版社,2002.2
主要参考书:
《微机原理及应用》,李伯成等编,西安
电子科技大学出版社
《汇编语言》,王爽 著,清华大学出版社
3
考核方式
平时作业
15%
实
15%
期末考试
验
70%
4
第1章 基础知识
主要内容:
计算机中的常用计数制、编码及它们
相互间的转换;
二进制数的算术运算和逻辑运算;
符号数的表示及补码运算;
二进制数运算中的溢出问题
基本逻辑门及译码器
5
§1.1 概 述
计算机的发展史
计算机的应用
6
§1.2 常用计数制
了解:各种计数制的特点及表示方
法;
掌握:各种计数制之间的相互转换。
7
一、常用计数法
十进制
二进制
十六进制
8
1. 十进制
特点:以十为底,逢十进一;
共有0-9十个数字符号。用D代表。
表示:
9
2. 二进制
特点:以2为底,逢2进位;
只有0和1两个符号。用B表示。
表示:
10
3. 十六进制
特点:有0--9及A--F共16个数字符号,
逢16进位。用H表示。
表示:
11
例:
234.98D或(234.98)D
1101.11B或(1101.11)B
ABCD . BFH或(ABCD . BF) H
12
二、各种进制数间的转换
1. 非十进制数到十进制数的转换:
按相应的权表达式展开
例1-5 P7
13
2. 十进制到非十进制数的转换
对二进制的转换:
对整数:除2取余;
对小数:乘2取整。
对十六进制的转换:
对整数:除16取余;
对小数:乘16取整。
14
112.25 D = ?B
整数部分
2 112
2 56 0
2 28 0
2 14 0
2 7 0
2 3 1
2 1 1
0
小数部分
0.25
2
x
0
0.5
2
1
1.0
x
110000.01 B
15
3. 二进制与十六进制间的转换
用4位二进制数表示1位十六进制
数
例:P9 1-8,1-9
16
§1.3 二进制数的运算
算术运算
无符号数
逻辑运算
有符号数
17
一、无符号数的运算
算术运算包括:
加法运算
减法运算
乘法运算
除法运算
18
注意点:
对加法:1+1=0(有进位)
对减法:0-1=1(有借位)
对二进制数,乘以2相当于左移一位;
除以2则相当于右移1位。
19
[例]:
00001011×0100 = 00101100B
00001011÷0100 = 00000010B
即:商=00000010B
余数=11B
1100 B x 1001 B
=1100 B x(1000+0001)B
=1100 x 1000 + 1100 x 0001
=1101100
20
无符号数的表示范围:
0 ≤ X ≤ 2n-1
若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位
有进位(或借位)时则产生
溢出。
21
[例]:
最高位向前有进位,产生溢出
22
3. 逻辑运算
与 (^)
或 (v)
非 (﹣)
异或 ( )
&
≥1
1
23
4. 逻辑门
掌握:
与、或、非门逻辑符号和逻辑关系
(真值表);
与非门、或非门的应用。
24
“与”、“或”运算
任何数和“0”相“与”,结果为0。
任何数和“1”相“或”,结果为1。
(注意和算数运算区分)
25
“非”、“异或”运算
“非”运算即按位求反
两个二进制数相“异或”:
相同则为0,相异则为1
26
5. 译码器
74LS138译码器:
G1
G2A
G2B
C
B
A
Y0
•
•
•
•
Y7
27
掌握
74LS138译码器:
各引脚功能;
输入端与输出端关系(真值表)
28
二、有符号数
计算机中的符号数可表示为:
“0”
“1”
符号位+真值
机器数
表示正,
表示负。
29
[例]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
30
1. 符号数的表示:
原码
反码
补码
31
原码:
最高位为符号位,用“0”表示正,用
“1”表示负;其余为真值部分。
优点:原码和真值表示之间的对应关
系简单,容易理解;
缺点: 计算机中用原码进行减法运算比
较困难,0的表示不唯一。
32
数0的原码
8位数0的原码:+0=0
0000000
-0=1 0000000
即:数0的原码不唯一。
33
反码
对一个机器数X:
若X>0
,则 [X]反=[X]原
若X<0,
则 [X]反= 对应原码的符号
位不变,数值部分按位求反
34
[例]:
X=
-52 = -0110100
[X]原=1 0110100
[X]反=1 1001011
35
0的反码:
[+0]反=00000000
[-0]反 =11111111
即:数0的反码也不是唯一的。
36
补码
定义:
若X>0,
则[X]补= [X]反= [X]原
若X<0,
则[X]补= [X]反+1
37
[例]:
X=
–52= – 0110100
[X]原=10110100
[X]反=11001011
[X]补= [X]反+1=11001100
38
0的补码:
[+0]补=
[+0]原=00000000
[-0]补= [-0]反+1=11111111+1
=1 00000000
对8位字长,进位被舍掉
39
特殊数10000000B
该数在原码中定义为:
-0
在反码中定义为:
-127
在补码中定义为: -128
对无符号数,(10000000)B=128
10000…..00000
15
?
40
符号数的表示范围:
对8位二进制数:
原码: -127 ~ +127
反码: -127 ~ +127
补码: -128 ~ +127
16位二进制数 ?
41
2. 有符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
42
[例]:
将一个用补码表示的二进制数转换为十进制数。
[X]补=0 0101110B
真值为:0101110B
正数
所以:X=+46
[X]补=1 1010010B
真值不等于:-1010010B
负数
而是:X=[[X]补]补=[11010010]补
= - 0101110 = - 46
43
3. 符号数的算术运算
通过引进补码,可将减法运算转换
为加法运算。
即:[X+Y]补=[X]补+[Y]补
[X-Y]补=[X+(-Y)]补
=[X]补+[-Y]补
44
引进补码将减法运算转换为加
法运算的原理
引例:一块钟指向9点,要把它拨到2点
可以逆拨7个 ,也可以顺拨5个格
逆拨:9-7=2
顺拨:9+5=14=2 (模为12)
对于模为12的钟表来说9-7等效于
9+5,减法变为了加法,5是-7的补码,
同理7是-5的补码
45
实际计算中补码的应用
假设机器字长为8,则模为256,此时
(某数-10 )相当于 (某数+246)
-10的补码是11110110而这正是246
的二进制数表示
46
[例]:
X=-0110100,Y=+1110100,求X+Y=?
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
X+Y=+1000000
47
4. 符号数运算中的溢出问题
运算结果超出相应的数值表示范围,从而引
起的结果出现错误
对于8位有符号数而言,其表示范围-128—
127,如果运算结果超出了该范围就引起溢
出
48
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
01111000
则:X+Y=
01101001
11100001
即:次高位向最高位有进位,而最高位向前无进
位,产生溢出。
(事实上,两正数相加得出负数,结果出错)
49
溢出的判断
不管表示范围,先计算出正确结果,再看正
确结果是否在表示范围内,从而判断溢出
通过比较参与运算的数和结果的符号来判断
(负数)+(负数)=正数
(正数)+(正数)=负数
(负数)+(正数)
溢出
?
肯定不溢出
50
两个(同号)带符号二进制数相加
或相减时,若最高位次高位=1,
则结果产生溢出。即参与运算的数
最前两位都是10或都是01。
51
[例]:
若:X=01111000, Y=01101001
(+120)
( +105)
则:X+Y=
01111000
01101001
11100001
52
若:X=-94=-1011110 =10100010(补)
Y=-94=-1011110 =10100010 (补)
X+Y
10100010
+ 10100010
1 01000100
发生溢出
53
若参与运算的数以其它形式为最高两位,
则可能溢出也可能不溢出
例如: 0E + 76H
0E + 56H
00001110
00001110
01110110
01010110
54
§1.5 计算机中的编码
BCD码
ASCII码
55
BCD码
压缩BCD码
用4位二进制码表示一位十进制数
扩展BCD码
用8位二进制码表示一位十进制数
56
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反
之同样。
例:(0001 0001 .0010 0101)BCD
=11 .25
=(1011 .01) B
57
ASCII码
字符的编码,一般用7位二进制码表示。
在需要时可在D7位加校验位。
熟悉0—9,A—Z,a—z的ASCII码
58
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。
例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验
加上校验位后编码中“1”的个数为偶数。
上例若以偶校验传送,则为41H。
59
§1.6 计算机中常用术语
码元bit
1Mb=10241024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
字节Byte
1 Byte=8bit,1KB=1024 Byte
字word:表示字长,有1bit,4bit,8bit
等常用16bit
60
结束语:
第1章难点:
补码的概念及其运算
61
作业:
1.3
1.5
1.7
1.8
62