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

二、关键内容摘录
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的值等。
这篇博客介绍了汇编语言学习中的寄存器使用,特别是通用寄存器与段寄存器的区别。内容包括不能直接向段寄存器传立即数,栈操作的潜在越界问题,以及CPU执行push和pop指令的内部步骤。此外,还提到了Debug工具在单步调试时涉及的中断机制。
&spm=1001.2101.3001.5002&articleId=108287989&d=1&t=3&u=71d641b56b2642458c3d465494bbeec9)
982

被折叠的 条评论
为什么被折叠?



