汇编语言学习笔记05——寄存器(内存访问)

这篇博客介绍了汇编语言学习中的寄存器使用,特别是通用寄存器与段寄存器的区别。内容包括不能直接向段寄存器传立即数,栈操作的潜在越界问题,以及CPU执行push和pop指令的内部步骤。此外,还提到了Debug工具在单步调试时涉及的中断机制。

一、思维导图

二、关键内容摘录


注意:因为每个人记忆与思维的差异,对知识的理解在难易性、熟练度和重要性上带来很大差异,这些笔记是从我的视野出发进行的归纳,有些内容我觉得简单或潜移默化中已经掌握,所以可能并没有在思维导图和内容摘录中体现;反之亦然,有些内容可能读者觉得没有必要在笔记中呈现,却可能恰恰是我的短板或者偏重的地方。

一、思维导图

二、关键内容摘录

1、可以向通用寄存器中传入立即数,但是不可以向段寄存器中传入立即数。方法是立即数先入通用寄存器,再由通用寄存器存入段寄存器。

2、8086CPU不保证我们对栈的操作不会越界。CPU只知道我们栈顶在何处而不知道栈的大小是多少。

3、执行push时,CPU的两步操作是先改变SP(SP=SP-2),后向SS:SP处传送。执行POP时,CPU的两步操作是:先读取SS:SP处的数据,后改变SP(SP=SP+2)。

4.Debug的T命令在执行修改寄存器SS的指令时,下一条指令也紧接着被执行,这涉及到中断机制。单步调试的时候产生中断,需要保存标志寄存器、cs和ip的值等。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值