首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

请求赞助翻译一个 32 位汇编指令到机器码

2013-10-03 
请求协助翻译一个 32 位汇编指令到机器码.我编一个动态内存固定需要 mov mov [0003B5B0], ebx 这样的代码,

请求协助翻译一个 32 位汇编指令到机器码.
我编一个动态内存固定需要 mov mov [0003B5B0], ebx 这样的代码, 我查询 80x86 Opcodes 表认为这是个 Mov Mem,Reg 格式的代码, 该翻译成 1000100woorrrmmm 模样, 但是我看不懂 80x86 Opcodes 表中如下的说明:

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 mode 

mmm : Function  

? 000 : DS:[BX+SI] 

? 001 : DS:[BX+DI] 

? 010 : SS:[BP+SI] 

? 011 : SS:[BP+DI] 

? 100 : DS:[SI] 

? 101 : DS:[DI] 

? 110 : SS:[BP] 

? 111 : DS:[BX] 

请告诉我这句怎么翻译成机器码. 汇编 function 机器码 机器语言 机器指令
[解决办法]
89 1d b0 b5 03 00

opcode    ModR/M      displacement
10001001  00 011 101  b0 b5 03 00

在32位模式下:
Mod=00 RM=101 有效地址在附加的32位displacement中给出。
reg=011 ebx

[解决办法]
命令行工具disasm反汇编由命令行参数给出的起始地址和字节序列内容。
C:\>disasm 1000 89 1d b0 b5 03 00
00001000 891db0b50300     mov     [0003b5b0],ebx

http://download.csdn.net/detail/zhao4zhong1/6312905

热点排行