1、汇编器、编译器、反汇编器和反编译器的全面解析

汇编器、编译器、反汇编器和反编译器的全面解析

1. 汇编器概述

汇编器比编译器显著简单,通常用于将汇编代码通过一对一的对应关系转换为二进制机器代码。汇编器很少进行超出选择最短指令形式或填充延迟槽的优化。

由于汇编过程相对简单,反汇编通常也不复杂。汇编指令和机器代码字存在一对一的对应关系,每个机器代码字都能精确映射到一条汇编指令。不过,反汇编也有一些问题,不能仅通过简单的代码字查找来解决。

汇编器的基本功能是将汇编指令一对一地转换为机器代码,还能把命名变量转换为硬编码的内存地址,将标签转换为相对代码地址。一般来说,汇编器不进行代码优化,输出的机器代码与输入的汇编指令等价。部分汇编器具备宏的高级功能。

在汇编过程中,程序的一些信息会丢失。首先,程序数据和机器代码指令以相同的原始二进制格式存储,难以确定程序的哪些部分是实际的指令。其次,汇编源代码文件中的文本信息,如变量名、标签名和代码注释,在汇编过程中都会被销毁。反汇编代码时,指令不变,但其他有用信息会丢失,代码虽准确但更难阅读。

2. 不同语法的汇编器
2.1 Intel 语法汇编器

由于基于 Intel 的 IA - 32 微处理器在家庭 PC 市场的普及,大多数汇编工作基于 x86 架构。

  • MASM :是 Microsoft 的汇编器,“Macro Assembler”的缩写,也常被用作“Microsoft Assembler”的缩写。它具有强大的宏功能,能编写低级语法和伪高级代码。MASM 6.15 可从 Microsoft 免费下载,MASM 7.xx 是 Micro
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值