汇编入门笔记
汇编语言是一名高级工程师的必经之路
语言
人和人沟通/?语言! 计算机语言!
什么是机器语言?
# 我们目前主流的电子计算机!>3~5年 量子计算
# 状态: 0 和 1
# 最早的程序员:穿孔卡带!
加 0100 0000
减 0100 1000
乘 0100 1000 0100 1000
除 0100 1000 1100 1000
这些复杂的机器语言,能简化吗?>助记符 !
加 INC -编译器-> 0100 0000
减 DEC 0100 1000
乘 MUL 0100 1000 0100 1000
除 DIV 0100 1000 1100 1000
汇编一般用于底层的编写,单片机....
C语言
加 A+B -编译器-> 0100 0000
减 A-B 0100 1000
乘 A*B 0100 1000 0100 1000
除 A/B 0100 1000 1100 1000
进制
二进制? 0 1
学习进制的障碍?
10进制!!!
人类天然的选择就是10进制!一定要跳出固有思维!
计算机是二进制
思想: 每一种进制都是完美的都有自己的计算方式。
进制是什么?
1进制:一进一,结绳记事。1111
2进制:2进一,计算机
八进制:8个符号组成: 0 1 2 3 4 5 6 7
十进制:10进一,0 1 2 3 4 5 6 7 8 9
十六进制: 16进一,16个符号组成: 0 1 2 3 4 5 6 7 8 9 a b c d e f
进制没有那么复杂!查数
测试
#一进制 1~20
1
11
111
1111
11111
111111
.。。
#三进制 1~20
0 1 2
10 11 12
22 100 101
102 110 120
121 122 1000
#七进制 1~20
0 1 2 3 4 5 6
10 11 12 13 14 15 16
20 21 22 23 24 25 26
30 31 32 33 34 35 36
40 41 42 43 44 45 46
50 51 52 53 54 55 56
60 61 62 63 64 65 66
100 101 102 103 104 105 106
110 111 112 113 114 115 116
120 121 122 123 124 125 126
#二进制 1~20
0 1
10 11
100 101
111 1000
进制:一组符号,逢几进几 可以自己随便定义 跳脱出传统思维
进制如何运算
# 八进制计算下面的结果
2+3=5
2*3=6
4+5=11
4*5=24
#运算的本质就是查数
0 1 2 3 4 5 6 7
10 11 12 13 14 15 16 17
20 21 22 23 24 25 26 27
# 八进制计算下面的结果
277+333=632
277*54=20250
237-54=163 = 237 +(-54)=163 -----减法的本质就是加法!
234/4=57 -----除法的本质,除数乘以那个数最接近结果即可!
#运算的本质就是查数!
#结论 : 无论是什么进制,本身都有一套完美的运算体系,我们都可以通过列表的方式将他计算出来!
八进制加法表
八进制乘法表
二进制
计算机使用二进制 0 1 ! 状态! 电子! 物理极限:摩尔定律!硬操作!追求语言的极限!并发语言!软操作!
量子计算机:
可以实现量子计算的机器。
传统计算机:集成电路!0 1 硅晶片!
量子计算机的单位:昆比特。(量子比特)量子的两态来表示。
光子:正交偏振方向。
磁场:电子的自旋方向。
21世纪。计算力。快到尽头了!【落伍】本质问题
量子计算机! 提高计算机的计算力。
量子比特/量子叠加态/量子纠缠/量子并行/
电子计算机---量子计算机!
回到我们的电子计算机,
二进制: 0 1 1111
0 1 10 11 100 101 111 1000 1001 1011 1111
二进制这么些很麻烦,能否可以简写!
0 1 2 3 4 5 6 7 8 9 a b c d e f
这就是我们的16进制!
课本上的教学!2进制转换为10进制。然后计算!
为什么要学习理解二进制?
寄存器,内存,底层的每一个位都是有含义的。汇编入门理解的基础!
汇编高级:了解程序的深层!操作系统的内核?
数据宽度
有符号数和无符号数
原码反码补码
位运算
位运算计算
汇编
寄存器
内存
汇编指令
内存复制
堆栈的指令
汇编如何写函数
堆栈传参
堆栈平衡

浙公网安备 33010602011771号