指令名 :MOV
我希望你能写一个笔记,把将来教的各种指令记录下来.这对学习有好处,指令手册什么的,只有手册作者的理解,无法写入你自己的理解.人家写的你不一定看的懂.
DeBug并不是汇编编译器,所以对汇编代码是有限支持,标号是不给用的,只支持十六进制,至于二进制和十进制,反正我是没在这里用到过.[page]
好了,来试试MOV指令吧,用MOV往寄存器AX里写入数据1234H.
把1234H写入AX,那么1234H就是"源操作数"了,AX就是"目标操作数"了,代码这么写(注意指令名和第一个操作数之间的空格,不要漏了!):
MOV AX,1234
输入指令后回车,你会看到DeBug还在代码编辑模式.在么退出代码编辑模式呢?直接空代码回车即可:
代码编辑成功,如何执行刚才输入的代码呢?不急,先看看寄存器内容吧,R指令:
首先看,AX寄存器.内容是0000,接着看内容的最下方.之前看不懂的一行.现在已经基本能看懂了.这里显示的是即将执行的代码(地址为:CS段寄存器:IP偏移寄存器)格式如下:
内存地址(段:偏移) 机器码(数字代码) 反汇编(汇编代码转机器码了,机器码转回汇编代码叫反汇编)
由上可见MOV AX,1234的机器码是B8 34 12(这个34 12就是第2个操作数了,至于为啥会反过来,这是高位低位排序原因,请自行翻阅之前的章节)好了,来执行代码看看吧(终于执行代码了TAT),在 DeBug中,用T指令可以执行一行代码.执行看看:
T 回车
好了执行完毕.看看AX寄存器的内容:
成功了,我们用汇编指令把一个数字写入到了AX寄存器里.
这一章就讲到这里,给个小作业,试试看把1234H写入BX寄存器,然后把BX寄存器的内容复制到AX寄存器,成功后把代码回复上来~
上一篇:第8章 加法减法指令(X86汇编教程)
下一篇:第4章 内存数据(X86汇编教程)
推荐阅读最新更新时间:2024-03-16 14:02