我是大神哥哥 发表于 2017-8-7 17:54:29

汇编指令与机器码一一相对应

本帖最后由 我是大神哥哥 于 2017-8-7 17:57 编辑

  续前面两节笔记

  B8 01 00代表的是mov ax,1

  BB 02 00代表的是mov bx,2

  B9 03 00代表的是mov cx,3

  也就是说,机器指令与汇编指令是一一相对应的。机器码的优点是运算速度快,无需编译,但是大量的话,很容易编写出错。汇编语言因此而产生,但需要编译器将汇编指令翻译成机器码。

  打开你的Debug,输入mov ax,1,再用U命令查看,找到机器码的那块区域,就可以查看到机器码
       http://i4.bvimg.com/597404/15c25fbc24b01929.png
  这样得到的机器码,你可以输入到FlexHEX,在另存为1.exe,用Debug加载1.exe。

巫进 发表于 2017-8-10 21:05:30

机器码和指令不是一一对应

我是大神哥哥 发表于 2017-8-11 15:03:18

巫进 发表于 2017-8-10 21:05
机器码和指令不是一一对应

大部分是一一对应的,但是有一部分不是,如伪指令就没有对应的机器指令。

巫进 发表于 2017-8-11 21:22:28

好像跟伪指令没啥关系,你参考下罗聪的opcode的文章。

我是大神哥哥 发表于 2017-8-12 16:52:57

巫进 发表于 2017-8-11 21:22
好像跟伪指令没啥关系,你参考下罗聪的opcode的文章。

关于你说的这个罗聪,描述也不是很清楚。你参考下http://bbs.csdn.net/topics/340019301
页: [1]
查看完整版本: 汇编指令与机器码一一相对应