英语法语西班牙语

Ad


OnWorks 网站图标

crasm - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 crasm

这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 crasm,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


crasm - 6800/6801/6803/6502/65C02/Z80 的交叉汇编程序

概要


急功近利 [-要么 代码文件] [-slx] asm文件

组装微处理器程序 asm文件 并生成输出文件 代码文件 在英特尔十六进制
或摩托罗拉 S 代码格式。 程序列表和符号表也生成在
标准输出。 当前版本的 急功近利 可以为
65C02,Z80 处理器。 调用时会打印完整列表 急功近利
没有论据。

配置


-o 代码文件
指定输出文件的名称。 没有这个就不会产生输出文件
选项。

-s 禁用警告。

-l 禁用程序列表输出。

-x 禁用符号表输出。

句法


汇编程序的每一行都应遵循以下模板之一,其中
括号界定可选部分。

[;评论]
标签 = 表达 [;评论]
[标签] 助记符 操作数 [;评论]

注释由分号 (;) 并延伸到行尾。 标签是
包含最多 36 个字母数字字符(包括句点和下划线)的标识符。
标签不能以数字开头。 助记符和操作数字段的格式取决于
在选定的微处理器上。 一些助记符对所有处理器都有效,并且
用于向组装者发出指令。 这些被称为“伪助记符”。

标签
标签是代表的标识符
— 绝对地址,
— 相对地址(位置无关代码),
— 一个寄存器,
— 寄存器列表,
— 特定地址的特定位,
- 或助记符。

大多数标签最多由 36 个字母数字字符、句点 (.),或
下划线 (_)。 标签不能以数字开头。 它们不区分大小写。

以句点开头的标签 (.) 是局部标签,其范围要么限于
定义它们的宏,或由伪助记符分隔的代码段
守则 or .

预定义的“星”标签(*) 代表当前的程序计数器,也就是说,
下一条汇编代码指令将被编码的地址。 其他预定义
标签包括所有伪助记符、微处理器特定助记符和寄存器
名称。

常量
汇编识别以十进制、十六进制、八进制、
二进制,或 ascii。

┌─────────────────────────────────────────────────── ────────────┐
Type 格式 国际私人包机价格项目范例
├──────────────────────────────────────────────────── ────────────┤
│十进制 DDDD 1234, 675, 12, 1, 但不是 0.12。 │
├──────────────────────────────────────────────────── ────────────┤
│十六进制 $DDDD $fd12, $2AC, $0。 │
DDDDH 03H, 2da7H, 0FC84H, 但不是 FC84H。 │
0XDDDD 0x03, 0x2交流, 0Xfc84。 │
├──────────────────────────────────────────────────── ────────────┤
│八进制 DDDDQ 377Q, 012412Q。 │
├──────────────────────────────────────────────────── ────────────┤
│二进制 %DDDD 01110110%, 1100%。 │
DDDDB 01110110B, 1100B。 │
0BDDDD 0b1100
├──────────────────────────────────────────────────── ────────────┤
│ ascii '中交建' '一种', 'AB', '"', '\n', '\''。 │
"中交建" “\t”, "\"", “啊”。 │
└──────────────────────────────────────────────────── ────────────┘
表达式
与标签一样,表达式可以表示绝对地址(ABS),一个相对地址
位置无关代码(REL), 一个寄存器 (),或寄存器列表 (注册表)或a
引用特定地址处的特定位 (规范).

以下运算符可在表达式中识别。

┌─────────────────────────────────────────────────── ────────────┐
句法 结果 产品描述
├──────────────────────────────────────────────────── ────────────┤
ABS{ABS} 规范 位参考,例如 皮亚{3}
地址(ABS) ABS 位参考地址│
少量(ABS) ABS 来自位参考的位号│
├──────────────────────────────────────────────────── ────────────┤
- ABS ABS 补码│
~ ABS ABS 补体│
├──────────────────────────────────────────────────── ────────────┤
ABS << ABS ABS 左移│
ABS >> ABS ABS 右移│
├──────────────────────────────────────────────────── ────────────┤
ABS | ABS ABS 按位或│
ABS & ABS ABS 按位和│
ABS ^ ABS ABS 按位异或 │
├──────────────────────────────────────────────────── ────────────┤
ABS * ABS ABS 乘法│
ABS * ABS ABS 师│
├──────────────────────────────────────────────────── ────────────┤
ABS + ABS ABS 加法│
REL + ABS REL 加法│
ABS - ABS ABS 减法│
REL - ABS REL 减法│
REL - REL ABS 减法│
├──────────────────────────────────────────────────── ────────────┤
- 注册表 寄存器范围│
注册表 \ 注册表 报名名单│
└──────────────────────────────────────────────────── ────────────┘
该表按优先级递减的顺序列出了运算符。 括号可用于
避免歧义。 当整个表达式被包围时会产生警告
括号,并且可能与微处理器寻址模式混淆。

例子:

(基础+12美元) >> 8 & 0xff00
'A'-80H
(基数+0x12)

最后一个示例会导致警告,因为括号不是必需的,并且可能
建议采用微处理器寻址方式。

所有算术表达式都以 32 位计算。 算术运算溢出
默默。 然后将算术值截断为微量隐含的大小
处理器助记符。 此截断可能会导致警告消息。

示例:以下所有说明

(6502) LDA #1234美元
(6800) 1234 美元,x
(Z80) ld (ix+0C2H),b

引起警告

>>> 警告: 操作数 溢出

然而表达

$1123454 * 1298992

无声地溢出。

伪助记符
以下伪助记符始终被识别。

中央处理器 名称
指示选择的微处理器类型。 这必须出现在 anu micro-
处理器特定指令。 可能的值 名称 当你列出
调用 急功近利 没有论据。 目前的名单包括
65C02,Z80

OUTPUT 二进制格式
表示输出文件的格式。 争论 二进制格式 可以取值 编码
使用摩托罗拉的 S 代码生成输出文件,或 HEX 对于英特尔的十六进制
格式。 默认值取决于所选的微处理器。

守则
划定局部标签的范围,引入程序段。

划定本地标签的范围,引入一个虚假的节目部分,其唯一的
效果是定义标签而不生成代码。

标签 骑马 表达
标签 = 表达
定义标签的值 标签. 使用这些指令定义的标签可以是
稍后在程序中重新定义。

[标签] DB 表达[,……,表达]
插入指定的数据字节(8 位)。

[标签] DW 表达[,……,表达]
插入指定的数据字(16 位)。 字节顺序取决于
选定的微处理器。

[标签] DL 表达[,……,表达]
插入指定的数据 longs(32 位)。 字节顺序取决于
选定的微处理器。

[标签] DDB 表达[,……,表达]
插入指定的双字节(16 位)。 字节顺序是相反的
所选微处理器的常用字节顺序。

[标签] ASC 字符串常量
插入字符串的 ascii 表示 字符串常量 . 字符串必须是
由双引号分隔。 C 转义序列 \r, \n, \t, \0, \', \"\\
被认可。

[标签] DS 计数表达式,[瓦勒表达式]
插入 计数表达式 带值的字节 瓦勒表达式. 默认值为零。

[标签] ALIGN 即使
[标签] ALIGN
插入一个空字节以使程序计数器为偶数或奇数。

IF 压缩
...
ELSE
...
终点站
条件汇编:If 表达式 压缩 非零,处理位于
之间的 IFELSE 伪助记符。 否则处理位于的行
之间的 ELSE终点站 伪助记符。 有条件的汇编指令
可以嵌套。 这 ELSE 部分可以省略。

标签 MACRO
...
终端机
定义一个新的助记符 标签 相当于所有指令之间的
MACRO终端机 伪助记符。 宏的调用可以指定一个列表
逗号分隔的操作数。 字符序列 \1, \2... \N 在宏观上
定义由提供的操作数替换。 字符序列 \0 is
替换为提供的操作数的数量。

出口
此伪助记符可用于宏定义内以退出宏。 这个
与条件程序集伪助记符结合使用时很有用。

包括 文件名
强制汇编器处理名为 文件名 在当前点。

清单 ON
清单 OFF
启用或禁用列表的生成(默认为打开。)

清单 ON
清单 OFF
启用或禁用为非活动分支生成列表
条件程序集构造(默认为打开。)

列表 ON
列表 OFF
启用或禁用为包含的文件生成列表(默认为关闭。)

列表 ON
列表 OFF
启用或禁用宏扩展列表的生成(默认为
离开。)

NAM 标题
提供姓名 标题 用于列表页面的标题。


开始一个新的列表页面。

,
指定列表页面的大小。

SKIP
跳至 线。

失败 的话
生成错误信息 的话.


这是一个小的 6502 程序:

CPU 6502
COUT = $fed ; 显示、 a 字符
* = $300 ; 聚集 at $300

字符串 莱迪 #0
.1 LDA 消息,y
贝克 .2
jsr COUT
INY
.2 .1
RTS
的话 ASC “这 is 的话 "


鸣谢


莱昂·博图,1987 年 XNUMX 月。

使用 onworks.net 服务在线使用 crasm


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    移相器
    移相器
    Phaser 是一个快速、免费且有趣的开放式
    源 HTML5 游戏框架,提供
    WebGL 和 Canvas 渲染
    桌面和移动网络浏览器。 游戏
    可以共...
    下载移相器
  • 2
    附庸引擎
    附庸引擎
    VASSAL 是一个游戏引擎,用于创建
    电子版传统板
    和纸牌游戏。 它提供支持
    游戏块渲染和交互,
    和...
    下载 VASSAL 引擎
  • 3
    OpenPDF - iText 的分支
    OpenPDF - iText 的分支
    OpenPDF 是一个 Java 库,用于创建
    以及使用 LGPL 编辑 PDF 文件和
    MPL 开源许可证。 OpenPDF 是
    iText 的 LGPL/MPL 开源继承者,
    一个...
    下载 OpenPDF - iText 的分支
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - 自动化系统
    地球科学分析 - 是地理
    信息系统 (GIS) 软件
    地理数据的强大功能
    加工和分析...
    下载 SAGA GIS
  • 5
    Java/JTOpen 工具箱
    Java/JTOpen 工具箱
    IBM Toolbox for Java / JTOpen 是一个
    Java类库支持
    客户端/服务器和互联网编程
    模型到运行 OS/400 的系统,
    i5/OS, 哦...
    下载 Java/JTOpen 工具箱
  • 6
    D3.js
    D3.js
    D3.js(或数据驱动文档的 D3)
    是一个 JavaScript 库,它允许你
    生成动态的交互式数据
    Web 浏览器中的可视化。 与D3
    您...
    下载 D3.js
  • 更多 ”

Linux 命令

Ad