CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

谁有机器码和汇编的对照表??

楼主zhgwbzhd()2006-03-05 10:30:46 在 其他开发语言 / 汇编语言 提问

我知道intel有一个表,可以对照。可是有些东西还是没弄出来  
  哪位高人能不能告诉我一下,C盘引导扇区的引导代码的汇编??  
  机器码00   1E   对应什么?  
  机器码c6   45   对应什么? 问题点数:10、回复次数:16Top

1 楼mydo(侯佩|hopy|ks)回复于 2006-03-05 11:52:37 得分 0

下载   masm32v8.2   安装完毕后,其中的   help   文件夹中有Top

2 楼zhgwbzhd()回复于 2006-03-05 15:02:46 得分 0

你说的是OPCODES.HLP吧,我看了一下,有汇编转换成机器码很不错。可是知道机器码怎么转换成汇编。我就没看出门道来。Top

3 楼fhb13(游途道标)回复于 2006-03-05 16:03:25 得分 0

机器码转成汇编代码需要直到指令的第一个字节在哪里  
  也就说只能挨个的转,不能和汇编一样跳着转。  
  一跳指令结束后紧接的第一个字节就是下一条指令的第一个字节,当然跳转语句例外。Top

4 楼zhgwbzhd()回复于 2006-03-05 22:57:08 得分 0

这个我知道,比如研究的好对象就是MBR.  
  或者分区的引导扇区中的机器码。  
  可是有些还是分析不出来,  
  比如:  
  机器码00   1E   对应什么?  
  机器码c6   45   对应什么?Top

5 楼DelphiGuy()回复于 2006-03-06 11:50:36 得分 10

00   1E/C6   45虽然可以勉强反汇编成指令(长度不够),但是看起来这不可能是MBR中出现的指令,甚至在任何程序中都不太可能有这样的指令。  
  估计这不是代码,而是数据,或者是从指令的中间截断了,比如1E就是push   ds。  
  Top

6 楼zhgwbzhd()回复于 2006-03-06 21:30:36 得分 0

高,真想把分送给delphiguy。不知怎么送。  
  1e确实是push   ds。00呢是前面的数。  
  不过c6   45应该是一个语句。  
  这个里面虽然不是MBR中的但是是win98   C盘的引导程序。  
  MBR中的东东研究的差不多了。可是这个C盘的东东还要分析分析。  
  c6   45   是偏移量为129处的代码。如果delphiguy兄能指点一下,在下感激不尽。Top

7 楼D0J88F()回复于 2006-03-07 06:15:10 得分 0

DTop

8 楼DelphiGuy()回复于 2006-03-07 14:23:21 得分 0

c6   45   xx   yy是mov   byte   ptr   [di+xx],yy。xx是一个signed   char,所以有可能是负的。  
  我看了一下我的电脑的引导扇区,和你说的位置不太一样,ntfs分区的boot代码和这个差别很大,但是xp格式化的FAT32分区的boot代码和win98的应该差别很小,这条指令的位置在+81字节处。  
  boot代码一开始读了一下BIOS默认的diskette   parameter   table,也就是int   1Eh指向的位置,然后把它复制到了DOS   Data   Area(0050h段),并且设置新的int   1Eh指向这个位置(我看到的代码是设置到了0050:0022,不过DOS的引导代码总是使用0000:0522这种表达方式)。然后这句mov   byte   ptr   [di-02],0f(c6   45   fe   0f)设置了diskette   parameter   table的head   settle   time为0F(15ms),其实很久以来BIOS默认的head   settle   time就是15ms,估计以前的老PC有所不同。  
  Top

9 楼zhgwbzhd()回复于 2006-03-08 21:45:10 得分 0

哇塞,高人,确实高人。我现在正在努力看这个东东。想学习NTFS的,但是看着比fat更难,所以就先找了一个简单的。  
  有什么简单的办法,可以能把这些代码转成汇编呢??  
  从intel的表一个一个扣,真的太难了。  
  能不能指点一下。另外您是北京的吗?我请客。呵呵真心的哦。Top

10 楼zhgwbzhd()回复于 2006-03-08 21:48:29 得分 0

另外,你说的应该和我说得一样,我说的偏移是十进制的129就是十六禁止的81。呵呵Top

11 楼zhgwbzhd()回复于 2006-03-08 22:05:07 得分 0

真是的,佩服佩服了。  
  我原来把fe   0f看作是dec   byte[bx].  
  始终理解不了这个c6   45.  
  听君一席话,胜读十年书呀。Top

12 楼icbm(雪狼)回复于 2006-03-09 13:45:33 得分 0

汇编教程里,有机器码的含义。可以参考一下。  
   
  机器指令码一般是固定的,可以查表。  
  机器操作数码有8位,排列如下:7,6,5,4,3,2,1,0  
  2,1,0三位表示源寄存器;5,4,3三位表示目标寄存器;7,6两位表示是寄存器到寄存器寻址、立即数寻址、存储器寻址等。机器指令码后,紧跟着操作数。  
   
  根据指令部分、操作数部分,就可以写出对应的汇编语言代码了。Top

13 楼zhgwbzhd()回复于 2006-03-09 18:42:25 得分 0

问一下,在8086的代码中,寻址方式有如下三种情况,俺不能很准确的理解他的含义,请朋友解释一下。  
  oo   :   Function    
   
   
  00   :   If   mmm   =   110,   then   a   displacement   follows   the   operation;   otherwise,   no   displacement   is   used    
   
  01   :   An   8-bit   signed   displacement   follows   the   opcode    
   
  10   :   A   16-bit   signed   displacement   follows   the   opcode    
   
  11   :   mmm   specifies   a   register,   instead   of   an   addressing   modeTop

14 楼zhgwbzhd()回复于 2006-03-10 21:24:06 得分 0

高人呀,给详细的解释一下吧Top

15 楼icbm(雪狼)回复于 2006-03-11 14:08:44 得分 0

 
  00   :   If   mmm   =   110,   then   a   displacement   follows   the   operation;   otherwise,   no   displacement   is   used    
  01   :   An   8-bit   signed   displacement   follows   the   opcode    
  10   :   A   16-bit   signed   displacement   follows   the   opcode    
  11   :   mmm   specifies   a   register,   instead   of   an   addressing   mode  
   
  大哥,这不都已经告诉你了啊。莫非要帮你翻译不成?  
  Top

16 楼tfrist(tfrist)回复于 2006-03-11 16:02:46 得分 0

打开一个ollydbg,然回随便打开一个文件,你去修改就好了!非常的方便,  
  可以将指令转换成机器吗,也可以将机器码转换成指令!对应的非常的方便!Top

相关问题

  • 怎么得到汇编代码的机器码?
  • 高分求汇编与机器码对应表
  • Delphi可以内嵌汇编,我想知道它可以内嵌机器码吗?
  • 急问机器码:81 26 17 04 f8是和含义??
  • 请问那里有调试.DCU机器码的东东,或者有反汇编.DCU的东西???
  • 关于在 C/C++ 的内联汇编中直接插入机器码的问题.
  • 高分求 X86下的 机器码转换成 汇编语的 源代码 或者库!
  • 深入机器码...
  • 请教:既然每条汇编代码都对应着一条机器指令,那为什么不能通过机器码获取微软源代码?
  • 初学问题 两个语句机器码长度不同?mov ax,dw_var+1 和 mov dx,dw_var+1

关键词

  • win98
  • 汇编
  • 指令
  • 代码
  • 引导
  • 转换
  • 机器码
  • c645
  • displacement
  • 寄存器

得分解答快速导航

  • 帖主:zhgwbzhd
  • DelphiGuy

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo