1.了解寄存器
寄存器:暂存 指令 地址 数据
MOV AH 21H
通用寄存器
AX:(accoumulator
CX:(count):计数
DX:(data):数据
段寄存器:
CX:(代码段)Code
DX:(数据段)Data
SX:(堆栈段)Stack
EX:(附加段)Extra
2.内存存储
bit
Byte
1B=8b
千字节:1KB=1024B=2^10B
兆字节:1MB=1024KB=2^20B
吉子节:1GB=1024MB=2^30B
太字节:1TB=1024GB=2^40B
3.进制转换(位运算)
为什么用二进制:
易于物理计算
运算规则简单
可靠性高
通用性强
进制越大数表达长度越短
n进制---->十进制:每位数字乘上权得到乘积之和就是十进制表示的数:
二进制为例:
1
千
3
1x23+0x22+0x21+1x20=9
3
百 十
2
3*82+4*81+5*80=5+32+192=229;
每位数字乘上权得到乘积之和就是十进制表示的数
每位数字*(n进制)k
K:从右到左,从0开始,依次类推
十进制------->其他进制
辗转相除法
29转换2进制 余数
29/2=14
14/2=7 0
7/2=3 1
3/2=1 1
1/2=0 1
以后数据结构:栈里面实现进制转换
29
(降幂法)
N=198=(1
1
D0
0
256>198>128
70-64=6 8>6>4 D2=1 6-4=2 2=2
二进制、八进制、十六进制转换
每三位二进制位可以转换为一位八进制、每四位二进制位可以转换为一位十六进制
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
4.原码、补码、反码
机器数:在计算机中,一个数有二进制表示的数
真值:二进制所要表达十进制数
编码方式:原码 反码 补码
符号位:整数 0 负数 1
机器数=真值(正数)
例:1000 0001 但是计算机中-1;通过转换这个不是-1
计算机做一个有符号位的计算
电路复杂度远远加大
计算机中只有+的存在
1-1=0;计算机里面 1+(-1)=0
原码:1000 0000 负数:反码:符号位不变,其他位取反 1111 1111
想要会这种计算,必须记住下面的:
原码:第一位是符号位,其他位表示数值
反码:正数:就是原码
负数:符号位不变,其他取反
补码:正数:就是原码
负数:符号位不变,其他位取反 ,在加1(反码+1)
转码练习:-2 =1000 0010原=1111 1101反=1111 1101反+0000 0001=1111 1110补
原码计算: 0000 0001原 + 1000 0001原=1000 0010原码=-2D
反码计算: 0000 0001反+1111 1110反=1111 1111反=1000 0000原=-0D;
补码计算:0000 0001补+1111 1111补=0000 0000补
5.存储模式
大端模式:地址由小向大增加,而数据从高位往低位放(类似字符串存储)
小端模式:数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中(正常思维)
(不做详细讲解,有兴趣的可以自行找资料学习)
6.逻辑运算符
真值表:成立为真,值为1;不成立为假,值为0.
逻辑与(A&&B)
(联想物理中的电路图,亮灯为1,不亮为0)
逻辑或(A||B)
逻辑非(!A)
以上就是我觉得计算机原理中要掌握的一些知识点,欢迎补充,谢谢