汇编学习笔记(小甲鱼)

汇编学习

一、在计算机中专门有连接CPU和其他芯片的导线,按照逻辑上划分为:

地址总线:在地址总线上传播就为地址,CPU是通过地址总线爱指定存储单元的

 

发到内存之后,改地址指向数据

数据总线:数据传递

控制总线:CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线是个总称,控制总线是一些不同控制线的集合,控制总线的宽度决定了CPU对外部器件的控制能力(正相关)。命令!

 

寄存器

寄存器结构

 

AH:高位寄存器   AL:地位寄存器

 分开存储

汇编指令例子

 物理地址的形成:段地址+偏移地址

 

 

 

 CS、IP寄存器:

CS存放了指令的段地址,IP存放指令的偏移地址

 Mov指令的格式:

   Mov 寄存器名,内存单元地址

栈:

栈是一种具有特殊的访问方式的存储空间。它的特殊性就在于最后进入这个空间的数据,最先出去

入栈:将一个新的元素放到栈顶。

出栈:从栈顶取出一个元素。

栈的操作规则:LIFO(Last In First Out,后进先出)

PUSH(入栈)   POP(出栈)

段寄存器SS   存放栈顶的段地址

寄存器SP     存放栈顶的偏移地址(任意时刻,SS:SP指向栈顶元素)

PUSH指令的执行过程:

 栈顶越界问题:

 重复的push实现栈的溢出,数据泄露

POP指令的执行过程:

 

[bx]和Loop指令:

[bx]存放loop结果

Cx的值影响着loop语句的执行结果,cx存放着循环次数

 段前缀:

 lea指令:

1、lea eax,[addr]

就是将表达式addr的值放入eax寄存器,示例如下:

lea eax,[401000h]; 将值401000h写入eax寄存器中

lea指令右边的操作数表示一个精指针,上述指令和mov eax,401000h是等价的

2、lea eax,dword ptr [ebx];将ebx的值赋值给eax

3、lea eax,c;其中c为一个int型的变量,该条语句的意思是把c的地址赋值给eax;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值