机器码与汇编指令的对应关系(兼议好问题怎么成了傻问题)

简介: 题记:本文记录与一位同学的对话。重点在后面。如果是在QQ群中的交流,可以知道对我们这个群体的益处。但问题就在于,有些同学有点害羞。对话中我发现我们的同学们不该有的负担,这是个问题。以我的教学实践,老师作为对内容熟悉的人,思考问题的角度,常会忽略初学者遇到的障碍,而问题一旦由同学问出,常会耳目一新:这是个好问题。然而,同学们,却如本文同学一样,觉得是个傻问题。若就这样闭上嘴巴,

题记:本文记录与一位同学的对话。重点在后面。如果是在QQ群中的交流,可以知道对我们这个群体的益处。但问题就在于,有些同学有点害羞。对话中我发现我们的同学们不该有的负担,这是个问题。以我的教学实践,老师作为对内容熟悉的人,思考问题的角度,常会忽略初学者遇到的障碍,而问题一旦由同学问出,常会耳目一新:这是个好问题。然而,同学们,却如本文同学一样,觉得是个傻问题。若就这样闭上嘴巴,求知的大门也就变狗洞了。解决这个问题,将作为我在这个班上的教学目标。

【学生】老师啊~您现在忙吗?有点问题问一下……

【迂者】直接说

【学生】
这里写图片描述
B8代表的是 ax吗?

【迂者】
B82301完整的是一条3字节的指令
B8是操作码,内含了第一个操作数ax

【学生】那 mov 是由 哪个指令控制的?B吗?

【迂者】可以理解为B8对应的是mov ax

【迂者】这种对应关系并不是很机械的那种

【学生】这个和计算机组成原理有关么,

【学生】我翻出之前计算机组成原理实验的截图 ,,

【迂者】正是CPU内的连线,决定了指令的机器码

【学生】
这里写图片描述

【学生】
EA 就决定了 huo r2 , 对么

【迂者】
这里写图片描述
用我的这个截图,mov对应的机器码,有3种形式

【学生】那 mov cx 用什么指令机器码呢

【迂者】你进debug里做一下?这个会吗?

【学生】我以为有特定的码,有表格啥的。。。。。

【迂者】
这里写图片描述
表格应该有,我没找。但Debug在手,一切都有了

【学生】哦哦哦哦哦哦哦哦哦哦哦哦哦!明白了!

【学生】谢谢老师啊~~~

【迂者】学会我用的方法,你就可以自我解惑了。

【学生】好的。

【迂者】以后这类问题,能的话我们到群里聊,由你的提问受益的同学会特别多。这需要你没有思想负担。

【学生】老师~总觉得问你问题的时候~自己好傻啊

【迂者】你的问题相当好!一切疑问,都应该赞美。

【学生】在群里问 ……好……害羞……哈哈哈哈

【迂者】
  似乎我应该在全班和大家把这个话题聊一聊,认为自己的问题低级、不好意思。在大班环境中,我们需要同在群里的讨论,在大学中,真正要学好,靠的是同学之间的启发,要让老师一人对100人,黄花菜不是凉了,是烂了。

【学生】嗯嗯。

【迂者】帮你解决了一个疑问,我也找到了个周一课堂讲的话题。谢谢你!

【学生】嘿嘿

【迂者】
  我要带大家把这个认识误区打通,大家坦然地交流,学会欣赏自己提出的疑问,乐于把疑问分享出来,让大家都通了,我们的学习就无敌了。死要面子活受罪,这个面子要学会不要。

【学生】好!不要~

【迂者】
  周一我和同学们探讨这个话题后,我们都坦然地到群里研究。要求你一个人这样做,你不再问问题了,我就罪过了。

【学生】怎么会~~哈哈,

目录
相关文章
|
Android开发 Python
【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 反汇编二进制机器码 | 打印反汇编数据 )
【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 反汇编二进制机器码 | 打印反汇编数据 )
184 0
|
Android开发 Python
【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )
【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )
288 0
|
Java 编译器
JVM09_执行引擎概述、机器码|指令|汇编语言、解释器、Jlt编译器及分类、AOT编译器(三)
⑥. HotSpot VM 可以设置程序执行方式 ⑦. HotSpot VM中的JIT分类 ⑧. AOT编译器
128 0
JVM09_执行引擎概述、机器码|指令|汇编语言、解释器、Jlt编译器及分类、AOT编译器(三)
|
Java 编译器 程序员
|
11月前
|
存储 Java C++
汇编语言、寄存器分类及程序计数器
汇编语言、寄存器分类及程序计数器
84 0
|
11月前
|
C语言
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(三)
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(三)
|
11月前
|
编译器 C语言
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(二)
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(二)
|
11月前
|
存储 自然语言处理 程序员
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(一)
进阶C语言 第七章-------《程序的编译(预处理操作)+链接》 (预编译、编译、汇编、#define、条件编译,#include的包含)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(一)
|
存储 API C语言
从反汇编看恶意程序的C语言结构(二)
从反汇编看恶意程序的C语言结构
93 0