1.了解不同进制之间的转化方法
十进制->二进制
除二得商及余数,再用商除②得第二个商及余数,以此类推,直至商为零,按位数将余数从右往左排入,得到二进制数。
二进制->十进制
第一位数乘2∧0,第二位数乘2∧1……第n位数乘2∧n,累加得十进制数。
十进制->十六进制
第一位数乘16∧0,第二位数乘16∧1……第n位数乘16∧n,累加得十六进制数。
十六进制->十进制
十六进制数除16,得商,根据十进制数表转化为十进制数,一直除16,直至无法整除,将每一个商依位数增进排序。
2.了解字长与端序
1字=2字节=8比特,字长指二进制位的位数。
端序:
大端位序和小端位序。
二者区别在于前者高位在左,低位在右,后者则相反。从而导致进制转化顺序不同,大端位序从右往左,小端位序从左往右。
大端字节序和小端字节序。
二者区别在于前者排序为高位字节数据存放在内存低地址处,低位数据存放在内存高地址处,后者则相反。
3.了解汇编基础指令
MOV 传送字或字节。
MOVSX 先符号扩展,再传送。
MOVZX 先零扩展,再传送。
PUSH 把字压入堆栈。
AND 与运算。
OR 或运算。
XOR 异或运算。
DW 定义字(2字节).
ENDS 段结束.
END 程序结束
4.完成buuctf题目情况
6.冯诺依曼体系结构
包括五大部件:存储器,运算器,控制器,输入设备,输出设备
寄存器
是cpu内部用来存储数据的小型存储区域
栈是数据暂时储存的地方,先入栈的数据后输出,后入栈的数据先输出。
堆是存储内存空间的地方,程序执行完毕后要释放,否则会出现内存泄漏。
进程空间布局
含六大段:内核空间,栈,内存映射段,堆,BSS段,数据端,代码段。
练习:略。