前言
该篇博客的目的是 反向冲刺到挂科
- 四代计算机的特点
第一代 : 电子管
第二代 ; 晶体管
第三代 : 半导体中小规模基础电路
第四代 : 大规模超大规模计算机
- 计算机存储数据的最小单位
位 是 存储数据的最小单位
字节 是 计算机的基本数据单位
- 指令寄存器(IR),程序/数据计数器和累加器
指令寄存器(IR) : 用于存放当前正在执行的指令
数据计数器 : 暂时不知
程序计数器 : 存放下一条指令所在的单元地址
累加器 : 用于存放计算产生的结果
- 划分计算机发展时代的标准
通常以 所有电子器件 对 计算机发展时代进行划分
- 二进制补码的标准移码
例题 :
字长8位的某二进制补码整数为11011010,则该数的标准移码是()
我们在知道补码的情况下,将符号位取反其他位不变即可
答案 : 01011010
- 浮点数二进制转换为十进制
例题 :
二进制数(11011.001)对应的十进制数是()。
整数部分任然是 :
x
∗
2
k
x*2^k
x∗2k次方的形式
但是小数部分是 :
x
∗
1
2
k
x*\frac{1}{2^k}
x∗2k1的形式
7.寻址方式
-
立即寻址
指令直接给出操作数, 例如Mov AX 100H
-
直接寻址
指令直接给出操作数地址 , 例如Mov AX [100H]
-
寄存器寻址
指令给出寄存器地址,在该寄存器内存放操作数 例如Mov AX BX
-
间接寻址
指令给出操作数所在的存储单元的地址 -
变址寻址
指令的地址部分给出一个形式地址,并指定一个寄存器作为变址寄存器
- 尾数规格化
不会考到就寄
- BCD码
BCD码就是用 四位表示一个二进制数
例题 :
将八进制数
(
37.2
)
8
( 37.2 )_8
(37.2)8 转换为十进制为___,BCD码为___
八进制转换为十进制 : ( 31.25 ) 10 (31.25)_{10} (31.25)10
然后 3 3 3对应 0011 0011 0011, 1 1 1对应 0001 0001 0001
依次类推 :
B C D : 00110001.00100101 BCD:00110001.00100101 BCD:00110001.00100101
10.定点小数的最大最小
某定点小数字长16位,含1位符号,补码表示,分别写出下列典型值的二进制代码与十进制真值(指数表示为
n
m
n^m
nm)。
(1)非零最小正数的二进制代码为
0.000000000000001
0.000000000000001
0.000000000000001,十进制真值为
2
−
15
2^{-15}
2−15。
(2)最大正数的二进制代码为 0.111111111111111,十进制真值为
1
−
2
−
15
1-2^{-15}
1−2−15。
(3)绝对值最小负数的二进制代码为 1.111111111111111,十进制真值为
−
2
−
15
-2^{-15}
−2−15。
(4)绝对值最大负数的二进制代码为 1.000000000000000,十进制真值为 -1。
首先二进制代码很好写
但是十进制真值有点诡异这里直接背过
- 寻址范围确定地址线数
例题 :
某微处理器的寻址范围为1MB,它的地址线数应为()
1
M
B
=
1
k
b
∗
1024
B
=
2
10
∗
2
10
=
2
20
1MB=1kb*1024B=2^{10}*2^{10}=2^{20}
1MB=1kb∗1024B=210∗210=220
则总共需要
20
20
20条
- MAR,MDR
MAR(主存地址寄存器) : 用于存放运行指令的地址
MAR(主存数据寄存器) : 用于存放从主存中存读取的数据
13.第三章的寻址方式
-
立即寻址方式
例如 :MOV AL,5H
-
寄存器寻址
例如 :MOV BL.AL
-
直接寻址方式
例如 :MOV AX,XS : [1000H]
,MOV BX,VAR
,MOV DA_BYTE,0FH
-
寄存器间接寻址
例如 :MOV CH,[SI]
,MOV [DI],BX
-
寄存器相对寻址
例如 :MOV AX,10H[SI]
小tips :
这里你会发现 间接和相对 差不多,这里给个过题小技巧,就是相对寻址是会在
[
B
X
]
[BX]
[BX]前面加一些东西,例如
10
H
[
B
X
]
,
A
R
Y
[
B
X
]
10H[BX],ARY[BX]
10H[BX],ARY[BX]
- 基址变址寻址
例如 :MOV 200[BX][SI]
,MOV [BP][DP],DL
- 通用寄存器
通用寄存器 指的是 可编程指定多种功能的寄存器
- MDR和MAR和存储单元的关系
MAR : 反映了存储的单元的个数
MDR : 反映了存储单元的 字长
16.指令集合
SBB
若AX=1020H,BX=1200H,CF=1,则SBB AX,BX的执行结果为()
这个不会,都减到负数了
DIV
若AX=2000H,CL=90H,则DIV CL执行后,AX=()
化为十进制之后再进行除法
ADC
带进位的加法
若BL=83H,CF=1,则ADC BL,90H执行后,BL=()
就是将结果相加之后,然后再将CF加上去
指令和寄存器
第三个因为
B
X
BX
BX是十六位,但是计算出来的结果只有
8
8
8位
所以我们根据小端方式需要向下扩展一个
则答案应该是
4
C
2
A
H
4C2AH
4C2AH
OK了这些也够挂科了
实迷途其未远,觉今是而昨非