我一直在尝试为 Game Boy Advance 的 Z80 处理器使用的自定义语言编写一个简单的脚本编译器。
我想要它做的就是查看一个人类可读的命令,获取它及其参数并将其转换为十六进制值到 ROM 文件中。而已。每个命令都是一个字节,每个命令都可以采用不同数量的参数 - 参数可以是 8、16 或 32 位,每个命令都有特定数量的参数。
所有这类代码都由游戏处理并在游戏内存中转换为可用的机器代码,所以如果你愿意的话,我不会编写一个完整的汇编编译器。游戏会自动知道一个命令有多少个 args,每个命令做什么,确切地如何执行它等等。
例如,您有命令 0x4E,它接受一个 8 位参数和另一个 32 位参数。在十六进制中,这显然是4E XX YY YY YY YY
. 我希望我的编译器从文本中读取它foo 0xXX 0xYYYYYYYY
并直接将其写入文件作为前者。
我的问题是,我将如何在 VB.NET 中做到这一点?我知道这可能是一个非常简单的答案,但我看到很多不同的选项可以将它写入文件——有些工作,但大多数不适合我。你能给我一些示例代码来说明我将如何做到这一点吗?