as86 - 8086..80386 处理器的汇编器

概要

as86是 8086…80386 处理器的汇编器,它的语法更接近 intel/microsoft 形式,而不是更普通的 unix 系统汇编器的通用形式。

描述

as86 [ -0123agjuw ] [ -lm [列表]] [ -n 名称] [ -o obj ] [ -b [ bin ]] [ -s sym ] [ -t textseg ] src

as86_encap prog.s prog.v [ prefix_ ] [ as86_options ]

src文件可以是“-”来组装标准输入 。

该汇编器可以编译为支持 6809 cpu,甚至可以工作。

as86_encap是一个 shell 脚本,用于调用 as86 并将创建的二进制文件转换为 C 文件prog.v以包含在或与引导块安装程序等程序链接。prefix_参数是要添加到源定义的所有变量的前缀,它默认为源文件的名称。定义的变量包括用于定义和包含代码的prefix_startprefix_sizeprefix_data ,以及包含所有导出标签值的整数。prog.sprog.v参数中的一个或两个都可以是标准输入/输出的“-”。

选项

-0
从 16 位代码段开始,警告所有指令 > 8086

-1

从 16 位代码段开始,警告所有指令 > 80186

-2

从 16 位代码段开始,警告所有指令 > 80286

-3

从 32 位代码段开始,不要警告任何指令。(甚至不是 486 或 586)

-one

启用与 Minix asld 的部分兼容性。这交换了圆括号和方括号的解释,并更改了 16 位跳转和调用的代码生成和语法。(“jmp @(bx)” 是一个有效的指令)

-G

只将全局符号放在对象或符号文件中

-j

用类似的 16 位或 32 位跳转替换所有短跳转,16 位条件分支被编码为一个短条件分支和一个长无条件分支。

-O

这会导致汇编器添加额外的传递以尝试使用前向引用来减少某些指令所需的字节。如果标签在最后一遍移动,则汇编器将继续添加遍,直到标签全部稳定(最多 30 遍) 将其与手写汇编器一起使用可能不是一个好主意 使用8086的显式br bmi bcc样式操作码条件 i386 指令的代码或jmp near样式,并确保在使用之前定义所有变量。

-l

生成列表文件,文件名可能跟在后面

-m

在列表中打印宏扩展

-n

模块名称如下(进入对象而不是源名称)

-o

生成目标文件,文件名如下

-b

生成一个原始二进制文件,文件名可能会跟随。这是一个没有标题的“原始”二进制文件,如果没有-s选项,文件从位置 0 开始。

-s

生成一个 ASCII 符号文件,文件名如下。此表的格式旨在易于解析与使用-b选项创建的二进制文件相关的封装和相关活动。如果二进制文件不是从位置零开始,则表中的前两项是二进制文件的开始地址和结束地址。

-u

假设未定义的符号是用未指定的段导入的。

-w-

允许汇编器打印警告消息。

-tn

移动段 n+3 中的所有文本段数据。

As86 源
特殊字符

*
当前行的开始地址。

; !

其中任何一个都标志着评论的开始。此外,行首的任何“意外”字符都被假定为注释(但它也显示在终端上)。

$

十六进制数字的前缀,“C”语法,例如 0x1234,也被接受。

%

二进制数的前缀。

#

立即操作数的前缀。

[ ]

指定一个间接操作数。

与 MASM 不同,汇编器在标签上没有类型信息,只有段和偏移量。这意味着该运算符和直接前缀的工作方式类似于传统的汇编程序。
例子:mov ax,bx

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhugenmi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值