反汇编11111111111111111

一般来说 汇编指令分为纯汇编指令和伪汇编指令, 一般来说
纯汇编指令和机器指令是一一对应的,也就是编译器看见纯汇编指令会直接转成机器指令。
常见的纯汇编指令
mov ax 立即数
mov ax 寄存器
mov ax 内存地址
如果是编译器碰见伪汇编指令 就会把伪汇编指令 先转换成 纯汇编指令 再到机器指令

比如 mov ax (100+300)D 就是个伪汇编指令

编译器在看到这条指令的时候
1 有可能优化此指令变成纯汇编指令
mov ax(100+300)D ------> mov ax 400D
2 有可能分解此指令
mov ax 100D
add ax 300D 变成纯汇编指令

一般来说 随着编译器的升级 现在的伪汇编指令可能将来会变成纯汇编指令

C语言---->混合汇编---->纯汇编 ---->机器指令
一般来说 你给我一个汇编指令(包含纯 伪) 给个编译器就能轻轻松松变成机器指令
但是
反过来想
我要是给你一个纯汇编指令 mov ax 300D 你能知道它的伪指令吗
1 有可能是mov (100+200)D
2 有可能是mov (150+150)D
当然不一定是伪指令变成 mov ax 300D
还有可能是多种纯指令的结合
mov ax 100D
add ax 200
所以正向的时候简单 反向的时候难 特别是C语言到混合汇编再到纯汇编的时候 已经丢失了一些信息 再从编译器做过手脚后的 纯汇编 回过去 就非常难了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值