今天早上看了一些汇编相关的东西,特小结一下:
1. 使用了一下debug 程序, -a 100 表示从100偏移量开始输入汇编程序代码
输入完后,
用-g 参数执行刚输入的汇编程序代码
-w 参数将当前汇编程序代码写入到硬盘中
-u 100反汇编刚才输入的代码,可以查看输入的源代码
-r 查看寄存器的值
2. 汇编程序结构:
(1) 代码段: assume CS: code
code ends
(2) 数据段: data segment
db "hehe"
data end
(3) 附加段: ES
3. CPU与内存:CPU里有很多个寄存器(AX,BX,CX,DX),通过总线与内存连接,然后出现了寻址,IP寄存器用来查找内存中的代码段,SS堆栈段用来查找数据(?)
4. 对端口的理解:CPU通过总线来进行寻址
5. 汇编指令集: 每个CPU的电路结构都不同,用来驱动CPU工作的电平脉冲(即机器指令)也不同,因此存在有不同的汇编指令表示,有MMX汇编,有8086架构的汇编指令,有我们自己的龙芯(龙芯CPU)汇编指令;