【微机原理笔记】第 1 章 - 微型计算机基础概论

微机原理笔记 - 主页

第 1 章 微型计算机基础概论

1. 微型计算机系统

(1)微型控制机是嵌入计算机的一种 8 位或 16 位机,没有操作系统。

(2)计算机的基本组成( 3+1 结构):CPU 、储存器、I/O 和应用软件。

(3)冯·诺依曼计算机:以计算器为核心,以存储程序原理为基础。

  • 存储程序原理:CPU 控制程序逐条自动运行。
    在这里插入图片描述

(4)微机系统组成

在这里插入图片描述

2. 计算机中的数值及编码

(1)常用记数制

在这里插入图片描述

  • 二进制: 数字后面加 B ,如 1001B 等。

    eg. 1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3

  • 十进制: 一般不加,如 1001 等。

    eg. 1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1

  • 十六进制:数字后面加 H ,如 1001H(如果开头是字母,则需要加0,如0A5H)等。

    eg. DFC.8=13×162+15×161+12×160+8×16-1

  • 八进制: 数字后面加 O ,如 1001O 等。

(2)各数制之间的转换

  • 十进制与二进制

eg.

在这里插入图片描述

  • 二进制与十六进制

eg.

在这里插入图片描述

(3)二进制编码

  • BCD 码:只是为了方便认识十进制,用 0000 - 1001 表示 0 - 9 。

    eg. [0100 1001 0001.0101 1000]BCD = 491.58

    eg. 0101 1000B = 88D = [1000 1000]BCD

  • ASCII码(字母大小写的转化只需加减一个 20H 即可)

在这里插入图片描述

0 - 9 : 30H - 39H

A - Z : 41H - 5AH

a - z : 61H - 7AH

奇偶校验位: 由于 H 表示高 3 位,故剩下那一位就是奇偶校验位。比如 0100 0001 和 1100 0001 都表示 A,前面那个偶码,后面那个是奇码。

3. 无符号二进制数的运算

(1)逻辑运算

  • 与运算(&)

在这里插入图片描述

  • 或运算(|)

在这里插入图片描述

  • 非运算(~)

在这里插入图片描述

  • 异或运算(^)

在这里插入图片描述

(2)乘除法

  • 一个数乘以 2 相当于该数左移一位,除以 2 则相当于该数右移 1 位。

    eg. 00001011 × 0100(4) = 00101100B(相当于左移两位)

    eg. 00001011 ÷ 0100(4) = 00000010B(相当于右移两位)

(3)无符号数的表示范围

  • 一个n位的无符号二进制整数X,其表示范围为 0 ≤ X ≤ 2n-1(n = 8, 255)。

  • 如果发生溢出,则 Cn-1 = 1 。

    8 位可以编 256 个,0 - 255,C7 = 1

    16 位可以编 65536 个,0 - 6553515,C15 = 1

(4)74L138 译码器

在这里插入图片描述

4. 带符号二进制数的运算

(1)有符号二进制数的表示

  • 原码

    一个8位的二进制表示一个带符号数,最高有效位D7位为符号位。

    eg. +1 表示为:0000 0001 B

    eg. +127 表示为:0111 1111 B

    eg. -1 表示为:1000 0001 B

    eg. -127 表示为:1111 1111 B

    带符号二进制数不能用原码而是补码来表示,因为原码的 + 0 和 - 0 不一样,会少表示一个码。

  • 反码

    • 若 X > 0 ,则 [X] = [X]
    • 若 X < 0 ,则 [X] = 对应原码的符号位不变,数值部分按位求反

    eg. X = - 52 = - 0110100,则 [X] = 1011 0100,[X] = 1100 1011

  • 补码

    • 若 X > 0 ,则 [X] = [X] = [X]
    • 若 X < 0 ,则 [X] = [X] + 1

    eg.

在这里插入图片描述

[+0] = [+0]= 0000 0000

[-0] = [-0] + 1 = 1111 1111 + 1 = 0000 0000(对8位字长,进位被舍掉)

∴ [+0] = [-0] = 0000 0000,并且将 1000 0000 定义为 -128

原码: -127 ~ +127 补码: -128 ~ +127

(2)带符号数的运算

  • 通过引进补码,运算方法和二进制运算相同(可以将减法变成加法)。

    eg.

在这里插入图片描述

(3)补码与十进制数的转换

  • 正数

在这里插入图片描述

  • 负数(补码求补 = 原码)

在这里插入图片描述

真值转补码:

X = -46 = - 0010 1110

[X] = 1101 0010

(4)有符号数的溢出问题

  • 判断方法: 两个8位带符号二进制数相加或相减时,若 C7 异或 C6=1,则结果产生溢出。

    • 两负数相加可能溢出

在这里插入图片描述

  • 两正数相加可能溢出

在这里插入图片描述

  • 两负数相加可能没有溢出

在这里插入图片描述

无符号数的溢出系统不会报错,需要程序员自行处理。

有符号数的溢出系统会报错。

重点

  • 开头是字母的十六进制书写

  • 熟练字节十进制与二进制的相互转换

  • BCD 码的定义

  • ASC 码的注意事项

  • 二进制的乘除运算

  • 8、16 位数的表示范围

  • 带符号负数用补码

  • -128 的补码定义

  • 负数的补码求补才能求真值,方法。

  • 二进制数运算的溢出问题

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值