概述
语言
进制
进制运算
二进制
数据宽度
有符号数和无符号数
原码反码补码
位运算
汇编
寄存器
内存
汇编指令
内存复制
堆栈的指令
汇编如何写函数
堆栈传参
堆栈平衡
外挂
1、语言
人和人沟通? 语言 学习计算机的语言!
1.1、什么是机器语言
# 我们目前主流的电子计算机
状态: 0 和 1
假设:
加 0100 0000
减 0100 1000
乘 0100 1100 0111
除 0101 1000 0100
这些复杂的机器语言,能简化吗? 助记符! 汇编语言! 人能够理解的语言转换为机器能够理解的语言
加 INC -编译器-> 0100 0000
减 DEC 0100 1000
乘 MUL 0100 1100 0111
除 DIV 0101 1000 0100
离程序的本质:隔阂 ! 汇编一般用于底层的编写,单片机
1.2、C语言
加 A+B -编译器-> 0100 0000
减 A-B 0100 1000
乘 A*B 0100 1100 0111
除 A/B 0101 1000 0100
2、进制
二进制? 0 1
学习进制的障碍?
10进制!
人类天然的选择就是10进制,10个指头。跳出固有思维的方法! “屈指可数”
二进制
思想:每一种进制都是完美的,都有自己的计算方式
进制?
1进制: 1进1 结绳记数
2进制: 2进1 计算机
8进制: 8进1 8个符号组成:0 1 2 3 4 5 6 7
10进制:10进1 10个符号组成:0 1 2 3 4 5 6 7 8 9
16进制: 16进1 16个符号组成:0 1 2 3 4 5 6 7 8 9 a b c d e f
进制远远没有想的那么复杂。查数
测试
# 一进制 1-20
1
1 1
1 1 1
...
# 三进制 1-20
0 1 2
10 11 12
20 21 22
100 101 102
...
# 二进制 1-20
0 1
10 11
100 101
110 111
...
# 七进制 1-20
0 1 2 3 4 5 6
10 11 12 13 14 15 16
20 21 22 23 24 25 26
...
# 本质:一堆符号:逢几进几
问题:你真的理解进制了吗? 1+1=3 对吗? 如果你可以用进制来解答这个问题 那么你就学会了!
10进制: 0 1 2 3 4 5 6 7 8 9 十:10
自己的十进制 a b