微型原理与接口技术微机原理与接口技术王德志微型原理与接口技术
2
授课教师:王德志 (计算机系 )
理论课,56学时,1-14周 周一,周四,周二
实验课,8学时,4次,14,15,16周
教材:微机原理及应用 徐晨
参考书,80X86微机原理及接口技术 —习题解答与实验指导余春暄等编著 机械工业出版社
答疑:周四 下午 1-309
wangdezhi20017@tom.com
考试:闭卷 16周以后
成绩:考试 70%,综合实验 10%,平时成绩 20%
微型原理与接口技术
3
授课内容
第一章至第十一章
重点:第三章,第六章,第八章,第九章微型原理与接口技术
4
汇编语言 及 接口 技术典型语言,INTEL 80X86
MASM32V5,80X86 编译器等
I/O接口电路及与外设的连接硬件--接口电路原理软件--接口编程方法微型原理与接口技术
5
先修课程数字逻辑提供硬件基础微型原理与接口技术第一章 基础知识王德志
wangdezhi20017@tom.com
微型原理与接口技术
7
本章重点
计算机中的常用计数制、编码及它们相互间的转换
二进制数的算术运算和逻辑运算
带符号二进制数的表示及补码运算
二进制数运算中的溢出问题
例题讲解微型原理与接口技术
8
1.1 计算机中的数制数制是人们利用符号来计数的科学方法。数制可以有很多种,但在计算机的设计和使用上常用的则为十进制、
二机制、八进制和十六进制。
数制的基和权数制所使用的数码的个数称为基,数制每一位所具有的值称为权微型原理与接口技术
9
十进制,基为,10”,权为以 10为底的幂,— D
二进制,基为,2”,权为以 2为底的幂,— B
八进制,基为,8”,权为以 8为底的幂,— O
十六进制:基为,16”,权为以 16为底的幂 — H
数制的基与权十进制数,
二进制数,
微型原理与接口技术
10
数 制 的 转 换十进制数 转换成二进制代码的方法:
对于十进制数整数部分采用除 2取余法对于十进制数小数部分采用乘 2取整法例 1:求十进制数 17的二进制代码例 2:求十进制数 0.25的二进制代码习 题返回思考:如何完成十进制数向十六进制数的转换?
微型原理与接口技术
11
例 1:求十进制数 17的二进制代码被除数 除数 商 余数
17 2 8 1
8 2 4 0
4 2 4 0
2 2 1 0
1 0 0 0 1
D0D1D2D3D4
方法总结:对于十进制数整数部分采用除 2取余法微型原理与接口技术
12
例 2:求十进制数 0.25的二进制代码被乘数 乘数 积 取整
0.25 2 0.5 0
0.5 2 1.0 1
0
0 1
D-1 D-2
0
D0
方法总结:对于十进制数小数部分采用乘 2取整法微型原理与接口技术
13
数 制 的 转 换二进制数 1 1 0 1 1,0 1 1 1
幂 24 23 22 21 20 2-1 2-2 2-3 2-4
权 16 8 4 2 1 0.5 0.25 0.125,0625
数 值 16 8 0 2 1 0 0.25 0.125,0625
十进制数 16 + 8 + 0 + 2 + 1 + 0 +,25 +,125 +,0625 = 27.4375
例 3:将二进制代码 11011.0111转换为十进制数微型原理与接口技术
14
数 制 的 转 换例 4,将下面给出的二进制数转换成十六进制的数注意 二进制数转换为十六进制数的方法,从小数点开始分别向左和向右把整数和小数部分每四位分段,每段分别转换为一位 。 若整数最高位的一组不足4位,则在其左边补零;若小数最低位的一组不足4位,则在其右边补零,
0010 0000 0101 1010 0111 1110 0100
十六进制数 2 0 5 A 7 E 4
二进制数微型原理与接口技术
15
数 制 的 转 换二进制 十进制 十六进制 二进制 十进制 十六进制
0000 0 0 1000 8 8
0001 1 1 1001 9 9
0010 2 2 1010 10 A
0011 3 3 1011 11 B
0100 4 4 1100 12 C
0101 5 5 1101 13 D
0110 6 6 1110 14 E
0111 7 7 1111 15 F
微型原理与接口技术
16
无符号数的表示范围
0 ≤ X ≤ 2 n-1
若运算结果超出这个范围,则产生溢出。
无符号数的溢出判断准则:运算时,当最高位向更高位有进位(或借位)时则产生溢出。
设:二进制数 X有 n位,则 X的取值范围为微型原理与接口技术
17
[例 ]:
最高位向前有进位,产生溢出
000000001
00000001
11111111
+
微型原理与接口技术
18
1.4 带符号二进制数的表示及运算计算机中的符号数可表示为:
符号位 +真值机器数
,0” 表示正
,1” 表示负微型原理与接口技术
19
[例 ]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位 真值微型原理与接口技术
20
1,符号数的表示:
原码,真值 X的原码记为 [X]真,在原码表示法中不论数的正负,数值部分均保持原真值不变。
反码,真值 X的反码记为 [X]反。 正数的反码同原码。
负数的反码的数值部分为真值的各位按位取反。
补码,真值 X的补码记为 [X]补。 正数的补码同原码。
负数的补码的数值部分为真值的各位按位取反加 1。
微型原理与接口技术
21
原码:
最高位为符号位,用,0”表示正,用,1”表示负;其余为真值部分
优点,真值和其原码表示之间的对应关系简单,容易理解
缺点,计算机中用原码进行加减运算比较困难,0的表示不唯一
8位数 0的原码,+0=0 0000000
-0=1 0000000
微型原理与接口技术
22
对一个机器数 X:
若 X>0,则 [X]反 =[X]原
若 X<0,则 [X]反 = 对应原码的符号位不变,数值部分按位求反
[例 ]:
X= -52 = -0110100
[X]原 =1 0110100
[X]反 =1 1001011
反码
[+0]反 =00000000
[-0]反 =11111111
即:数 0的反码也不唯一微型原理与接口技术
23
补码定义:
若 X>0,则 [X]补 = [X]反 = [X]原若 X<0,则 [X]补 = [X]反 +1
[例 ]:
X= –52= – 0110100
[X]原 =10110100
[X]反 =11001011
[X]补 = [X]反 +1=11001100
微型原理与接口技术
24
0的补码,表示唯一
[+0]补 = [+0]原 =00000000
[-0]补 = [-0]反 +1=11111111+1
=1 00000000
对 8位字长,进位被舍掉微型原理与接口技术
25
特殊数 10000000
该数在 原码 中定义为,-0
在 反码 中定义为,-127
在 补码 中定义为,-128
对 无符号 数,( 10000000) B=128
微型原理与接口技术
26
带符号数的表示范围:
对 8位二进制数:
原码,-127 ~ +127
反码,-127 ~ +127
补码,-128 ~ +127
符号二进制数与十进制的转换对用补码表示的二进制数转换成十进制:
1)求出真值
2)进行二 ——十转换微型原理与接口技术
27
[例 ]:
将一个用补码表示的二进制数转换为十进制数
[X]补 =0 0101110B 真值为,0101110B
正数所以,X=+46
[X]补 =1 1010010B 真值为,-010010B
负数从而有,X=[[X]补 ]补 =[11010010]补
=-0101110 =-46
微型原理与接口技术
28
2,符号数的算术运算
通过引进补码,可将减法运算转换为加法运算即,[X+Y]补 =[X]补 +[Y]补
[X-Y]补 =[X+(-Y)]补
=[X]补 +[-Y]补微型原理与接口技术
29
[例 ]:
X=-0110100,Y=+1110100,求 X+Y=?
[X]原 =10110100
[X]补 = [X]反 +1=11001100
[Y]补 = [Y]原 =01110100
所以,[X+Y]补 = [X]补 + [Y]补
=11001100+01110100
=01000000
无论正负,真值不变微型原理与接口技术
30
对二进制数,乘以 2相当于左移一位二进制数的乘法运算
00001011× 0100=00101100B
[例 ]:
方法,1 按照十进制的乘法过程
2 采用移位加的方法微型原理与接口技术
31
对二进制数,除以 2则相当于右移 1位二进制数的除法运算
00001011÷ 0100=00000010B
即:商 =00000010B
余数 =11B
[例 ]:
微型原理与接口技术
32
1.5 二进制编码
BCD码,用二进制编码表示的十进制数,
计数规律与十进制相同,逢十进一,
ASCII码,美国国家标准信息交换码,用七位二进制编码表示 128个字符和符号微型原理与接口技术
33
BCD码
压缩 BCD码用 4位二进制码表示一位十进制数
扩展 BCD码用 8位二进制码表示一位十进制数微型原理与接口技术
34
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反之亦然
例,( 0001 0001,0010 0101) BCD
=11,25
=( 1011,01) B
微型原理与接口技术
35
例 3,写出十进制数 3590的非压缩 BCD码和压缩的 BCD码,
并分别把它们存入数据区 UNPAK和 PAKED.
例题讲解解:
0 0H
0 9H
0 5H
0 3H
UNPAK + 0
+ 1
+ 2
+ 3
+ 0
+ 1
9 0HPAKED
3 5H
返回微型原理与接口技术
36
ASCII码
字符的编码,一般用 7位二进制码表示。在需要时可在 D7位加校验位。
熟悉 0~ F的 ASCII码
参考附录 1
微型原理与接口技术
37
ASCII码的校验
奇校验加上校验位后编码中,1”的个数为奇数。
例,A的 ASCII码是 41H( 1000001B),
以奇校验传送则为 C1H( 11000001B)
偶校验加上校验位后编码中,1”的个数为偶数。
A若以偶校验传送则为 41H ( 01000001B)
微型原理与接口技术
38
1.6 计算机中常用术语
bit
1Kb=1024bit=210bit
1Mb=1024?1024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
Byte
1 Byte=8bit,1KB=1024 Byte
word,表示字长,有 1bit,4bit,8bit等微型原理与接口技术
39
习 题有一个 16位的数值 0101,0000,0100,0011:
( 1)如果它是一个二进制数,和它等值的十进制数是多少?
( 2)如果它们是 ASCII码字符,则是什么字符?
( 3)如果它们是压缩的 BCD码,它表示的数是什么?
20547答:
答,PC
答,5043
微型原理与接口技术
40
习 题
1、用除法将下列十进制数转换为二进制数和 16进制数。
( 1) 369
( 2) 32767
101110001
1000 0000 0000 0001
8001
171
二进制答:
16进制二进制
16进制答:
微型原理与接口技术
41
习 题
2、将下列二进制数转换为 16进制数和十进制数。
( 1) 101101
( 2) 11111111
十进制答:
16进制
45
2D
十进制答:
16进制
255
FF
微型原理与接口技术
42
3、什么叫原码、反码及补码?
答案,
凡是二进制的数都称为原码;原码的各位都取其非值则称为反码;补码则等于反码加 1。
习 题
2
授课教师:王德志 (计算机系 )
理论课,56学时,1-14周 周一,周四,周二
实验课,8学时,4次,14,15,16周
教材:微机原理及应用 徐晨
参考书,80X86微机原理及接口技术 —习题解答与实验指导余春暄等编著 机械工业出版社
答疑:周四 下午 1-309
wangdezhi20017@tom.com
考试:闭卷 16周以后
成绩:考试 70%,综合实验 10%,平时成绩 20%
微型原理与接口技术
3
授课内容
第一章至第十一章
重点:第三章,第六章,第八章,第九章微型原理与接口技术
4
汇编语言 及 接口 技术典型语言,INTEL 80X86
MASM32V5,80X86 编译器等
I/O接口电路及与外设的连接硬件--接口电路原理软件--接口编程方法微型原理与接口技术
5
先修课程数字逻辑提供硬件基础微型原理与接口技术第一章 基础知识王德志
wangdezhi20017@tom.com
微型原理与接口技术
7
本章重点
计算机中的常用计数制、编码及它们相互间的转换
二进制数的算术运算和逻辑运算
带符号二进制数的表示及补码运算
二进制数运算中的溢出问题
例题讲解微型原理与接口技术
8
1.1 计算机中的数制数制是人们利用符号来计数的科学方法。数制可以有很多种,但在计算机的设计和使用上常用的则为十进制、
二机制、八进制和十六进制。
数制的基和权数制所使用的数码的个数称为基,数制每一位所具有的值称为权微型原理与接口技术
9
十进制,基为,10”,权为以 10为底的幂,— D
二进制,基为,2”,权为以 2为底的幂,— B
八进制,基为,8”,权为以 8为底的幂,— O
十六进制:基为,16”,权为以 16为底的幂 — H
数制的基与权十进制数,
二进制数,
微型原理与接口技术
10
数 制 的 转 换十进制数 转换成二进制代码的方法:
对于十进制数整数部分采用除 2取余法对于十进制数小数部分采用乘 2取整法例 1:求十进制数 17的二进制代码例 2:求十进制数 0.25的二进制代码习 题返回思考:如何完成十进制数向十六进制数的转换?
微型原理与接口技术
11
例 1:求十进制数 17的二进制代码被除数 除数 商 余数
17 2 8 1
8 2 4 0
4 2 4 0
2 2 1 0
1 0 0 0 1
D0D1D2D3D4
方法总结:对于十进制数整数部分采用除 2取余法微型原理与接口技术
12
例 2:求十进制数 0.25的二进制代码被乘数 乘数 积 取整
0.25 2 0.5 0
0.5 2 1.0 1
0
0 1
D-1 D-2
0
D0
方法总结:对于十进制数小数部分采用乘 2取整法微型原理与接口技术
13
数 制 的 转 换二进制数 1 1 0 1 1,0 1 1 1
幂 24 23 22 21 20 2-1 2-2 2-3 2-4
权 16 8 4 2 1 0.5 0.25 0.125,0625
数 值 16 8 0 2 1 0 0.25 0.125,0625
十进制数 16 + 8 + 0 + 2 + 1 + 0 +,25 +,125 +,0625 = 27.4375
例 3:将二进制代码 11011.0111转换为十进制数微型原理与接口技术
14
数 制 的 转 换例 4,将下面给出的二进制数转换成十六进制的数注意 二进制数转换为十六进制数的方法,从小数点开始分别向左和向右把整数和小数部分每四位分段,每段分别转换为一位 。 若整数最高位的一组不足4位,则在其左边补零;若小数最低位的一组不足4位,则在其右边补零,
0010 0000 0101 1010 0111 1110 0100
十六进制数 2 0 5 A 7 E 4
二进制数微型原理与接口技术
15
数 制 的 转 换二进制 十进制 十六进制 二进制 十进制 十六进制
0000 0 0 1000 8 8
0001 1 1 1001 9 9
0010 2 2 1010 10 A
0011 3 3 1011 11 B
0100 4 4 1100 12 C
0101 5 5 1101 13 D
0110 6 6 1110 14 E
0111 7 7 1111 15 F
微型原理与接口技术
16
无符号数的表示范围
0 ≤ X ≤ 2 n-1
若运算结果超出这个范围,则产生溢出。
无符号数的溢出判断准则:运算时,当最高位向更高位有进位(或借位)时则产生溢出。
设:二进制数 X有 n位,则 X的取值范围为微型原理与接口技术
17
[例 ]:
最高位向前有进位,产生溢出
000000001
00000001
11111111
+
微型原理与接口技术
18
1.4 带符号二进制数的表示及运算计算机中的符号数可表示为:
符号位 +真值机器数
,0” 表示正
,1” 表示负微型原理与接口技术
19
[例 ]:
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位 真值微型原理与接口技术
20
1,符号数的表示:
原码,真值 X的原码记为 [X]真,在原码表示法中不论数的正负,数值部分均保持原真值不变。
反码,真值 X的反码记为 [X]反。 正数的反码同原码。
负数的反码的数值部分为真值的各位按位取反。
补码,真值 X的补码记为 [X]补。 正数的补码同原码。
负数的补码的数值部分为真值的各位按位取反加 1。
微型原理与接口技术
21
原码:
最高位为符号位,用,0”表示正,用,1”表示负;其余为真值部分
优点,真值和其原码表示之间的对应关系简单,容易理解
缺点,计算机中用原码进行加减运算比较困难,0的表示不唯一
8位数 0的原码,+0=0 0000000
-0=1 0000000
微型原理与接口技术
22
对一个机器数 X:
若 X>0,则 [X]反 =[X]原
若 X<0,则 [X]反 = 对应原码的符号位不变,数值部分按位求反
[例 ]:
X= -52 = -0110100
[X]原 =1 0110100
[X]反 =1 1001011
反码
[+0]反 =00000000
[-0]反 =11111111
即:数 0的反码也不唯一微型原理与接口技术
23
补码定义:
若 X>0,则 [X]补 = [X]反 = [X]原若 X<0,则 [X]补 = [X]反 +1
[例 ]:
X= –52= – 0110100
[X]原 =10110100
[X]反 =11001011
[X]补 = [X]反 +1=11001100
微型原理与接口技术
24
0的补码,表示唯一
[+0]补 = [+0]原 =00000000
[-0]补 = [-0]反 +1=11111111+1
=1 00000000
对 8位字长,进位被舍掉微型原理与接口技术
25
特殊数 10000000
该数在 原码 中定义为,-0
在 反码 中定义为,-127
在 补码 中定义为,-128
对 无符号 数,( 10000000) B=128
微型原理与接口技术
26
带符号数的表示范围:
对 8位二进制数:
原码,-127 ~ +127
反码,-127 ~ +127
补码,-128 ~ +127
符号二进制数与十进制的转换对用补码表示的二进制数转换成十进制:
1)求出真值
2)进行二 ——十转换微型原理与接口技术
27
[例 ]:
将一个用补码表示的二进制数转换为十进制数
[X]补 =0 0101110B 真值为,0101110B
正数所以,X=+46
[X]补 =1 1010010B 真值为,-010010B
负数从而有,X=[[X]补 ]补 =[11010010]补
=-0101110 =-46
微型原理与接口技术
28
2,符号数的算术运算
通过引进补码,可将减法运算转换为加法运算即,[X+Y]补 =[X]补 +[Y]补
[X-Y]补 =[X+(-Y)]补
=[X]补 +[-Y]补微型原理与接口技术
29
[例 ]:
X=-0110100,Y=+1110100,求 X+Y=?
[X]原 =10110100
[X]补 = [X]反 +1=11001100
[Y]补 = [Y]原 =01110100
所以,[X+Y]补 = [X]补 + [Y]补
=11001100+01110100
=01000000
无论正负,真值不变微型原理与接口技术
30
对二进制数,乘以 2相当于左移一位二进制数的乘法运算
00001011× 0100=00101100B
[例 ]:
方法,1 按照十进制的乘法过程
2 采用移位加的方法微型原理与接口技术
31
对二进制数,除以 2则相当于右移 1位二进制数的除法运算
00001011÷ 0100=00000010B
即:商 =00000010B
余数 =11B
[例 ]:
微型原理与接口技术
32
1.5 二进制编码
BCD码,用二进制编码表示的十进制数,
计数规律与十进制相同,逢十进一,
ASCII码,美国国家标准信息交换码,用七位二进制编码表示 128个字符和符号微型原理与接口技术
33
BCD码
压缩 BCD码用 4位二进制码表示一位十进制数
扩展 BCD码用 8位二进制码表示一位十进制数微型原理与接口技术
34
BCD码与二进制数之间的转换
先转换为十进制数,再转换二进制数;反之亦然
例,( 0001 0001,0010 0101) BCD
=11,25
=( 1011,01) B
微型原理与接口技术
35
例 3,写出十进制数 3590的非压缩 BCD码和压缩的 BCD码,
并分别把它们存入数据区 UNPAK和 PAKED.
例题讲解解:
0 0H
0 9H
0 5H
0 3H
UNPAK + 0
+ 1
+ 2
+ 3
+ 0
+ 1
9 0HPAKED
3 5H
返回微型原理与接口技术
36
ASCII码
字符的编码,一般用 7位二进制码表示。在需要时可在 D7位加校验位。
熟悉 0~ F的 ASCII码
参考附录 1
微型原理与接口技术
37
ASCII码的校验
奇校验加上校验位后编码中,1”的个数为奇数。
例,A的 ASCII码是 41H( 1000001B),
以奇校验传送则为 C1H( 11000001B)
偶校验加上校验位后编码中,1”的个数为偶数。
A若以偶校验传送则为 41H ( 01000001B)
微型原理与接口技术
38
1.6 计算机中常用术语
bit
1Kb=1024bit=210bit
1Mb=1024?1024bit=220bit
1Gb=230bit=1024Mb
1Tb=240bit=1024Gb
Byte
1 Byte=8bit,1KB=1024 Byte
word,表示字长,有 1bit,4bit,8bit等微型原理与接口技术
39
习 题有一个 16位的数值 0101,0000,0100,0011:
( 1)如果它是一个二进制数,和它等值的十进制数是多少?
( 2)如果它们是 ASCII码字符,则是什么字符?
( 3)如果它们是压缩的 BCD码,它表示的数是什么?
20547答:
答,PC
答,5043
微型原理与接口技术
40
习 题
1、用除法将下列十进制数转换为二进制数和 16进制数。
( 1) 369
( 2) 32767
101110001
1000 0000 0000 0001
8001
171
二进制答:
16进制二进制
16进制答:
微型原理与接口技术
41
习 题
2、将下列二进制数转换为 16进制数和十进制数。
( 1) 101101
( 2) 11111111
十进制答:
16进制
45
2D
十进制答:
16进制
255
FF
微型原理与接口技术
42
3、什么叫原码、反码及补码?
答案,
凡是二进制的数都称为原码;原码的各位都取其非值则称为反码;补码则等于反码加 1。
习 题