微机原理与接口技术 课程目标 掌握:  微型计算机的基本工作原理  汇编语言程序设计方法  微型计算机接口技术  建立微型计算机系统的整体概念,了解 微机系统软硬件开发的基本过程 教材及主要参考书 教材:  《微机原理与接口技术》,冯博琴主编, 清华大学出版社,2002.2 主要参考书: 《微机原理及应用》,李伯成等编,西安 电子科技大学出版社  《汇编语言》,王爽 著,清华大学出版社  考核方式  平时作业 15%  实 15%  期末考试 验 70% 第1章 基础知识 主要内容: 计算机中的常用计数制、编码及它们 相互间的转换;  二进制数的算术运算和逻辑运算;  符号数的表示及补码运算;  二进制数运算中的溢出问题  基本逻辑门及译码器  §1.1 概 述  计算机的发展史  计算机的应用 §1.2 常用计数制  了解:各种计数制的特点及表示方 法;  掌握:各种计数制之间的相互转换。 一、常用计数法 十进制 二进制 十六进制 1.

Download Report

Transcript 微机原理与接口技术 课程目标 掌握:  微型计算机的基本工作原理  汇编语言程序设计方法  微型计算机接口技术  建立微型计算机系统的整体概念,了解 微机系统软硬件开发的基本过程 教材及主要参考书 教材:  《微机原理与接口技术》,冯博琴主编, 清华大学出版社,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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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=10241024bit=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