1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xiaowuzxc-Yduck-processor

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
大黄鸭汇编器.md 2 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
xiaowuzxc Отправлено 3 лет назад 26e1be0

大黄鸭汇编器

简介

大黄鸭汇编器是使用python3编写的汇编脚本,可以将大黄鸭指令集的汇编指令转换为处理器可以执行的二进制代码,并具备基本的注释解析和语法检查功能。

使用

使用前请确保你的系统已经安装了python3.x版本,python2.x是不支持的。
汇编操作前请进入tools/asm目录。
请在asm.txt编写你的汇编程序,汇编器默认读取此文件。

  1. windows
    运行cmd,输入python,即可看到当前python版本。低于python3.x请到python官网下载最新版本。
    完成汇编程序编写后,双击run.bat运行,即可看到目录下生成了out.txtobj.txt
    obj.txt是被RTL代码读取的,作为处理器实际执行的指令。
  2. linux
    终端执行python3即可看到当前python版本。命令错误请执行sudo apt install python3安装最新版。
    完成汇编程序编写后,终端执行make,即可看到目录下生成了out.txtobj.txt
    obj.txt是被RTL代码读取的,作为处理器实际执行的指令。

预处理

预处理可以做以下工作:

  • 解析注释并去除
  • 去除多余空格、行、TAB
  • 在SV-LD指令间插入NOP 预处理后生成out.txt。

语法检查

语法检查分为指令检查、立即数检查,读取的是经过预处理的指令。
指令检查:汇编器会检查指令类型是否符合相应格式,是否存在非法字符。
立即数检查:汇编器会检查带有立即数的指令中立即数的数据范围。
语法检查中如果出现语法错误,请按照asm.txt与错误信息进行比对。

汇编脚本

Assembler.py是汇编脚本的本体,内含非常详细的注释和非常友好(看了就明白了)的变量命名。
脚本采用结构化设计,将基本功能封装为函数,依次进行文件读取、预处理、写中间文件、语法检查、汇编、写输出文件。
后期可能会扩展更多功能,如更好的语法检查、打印日志等。

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/xiaowuzxc-Yduck-processor.git
git@gitlife.ru:oschina-mirror/xiaowuzxc-Yduck-processor.git
oschina-mirror
xiaowuzxc-Yduck-processor
xiaowuzxc-Yduck-processor
v3.1