SIC汇编器I / O.

时间:2009-06-02 15:40:40

标签: c assembly

我编写了一个SIC汇编程序,除了它的I / O方面外,一切似乎都运行正常。

我已将目标代码加载到内存中(将转换后的char格式转换为机器表示形式),但是当我调用SICRun()时;为了执行代码,我收到一条错误,指出“无法找到devf1”。

我知道这与源代码中的输入/输出设备指令有关。
c文件声明它依赖于外部文件,最值得注意的是Dev [6]。我应该自己创造吗?我的导师没有给我们任何其他文件。有什么见解吗?

示例:TD OUTPUT; TEST OUTPUT DEVICE

This目录包含源代码(source.asm),头文件(sic.h)和SIC模拟器(sicengine.c)

1 个答案:

答案 0 :(得分:3)

sicengine.c源文件看起来好像存在devf1(也是dev2 / dev3)文件,因此可以读取此“输入设备” from(fopen传递"r"作为参数):

if (opcode == 216) {  /* RD */
    /* ... */
    if ((Dev[Devcode] = fopen(SICFile[Devcode],"r")) == NULL) {
        printf("cannot open file %s\n", SICFile[Devcode]);
        exit(1);
    }

代码中关于依赖文件Dev[6]的注释含糊不清。它实际上意味着Dev数组中的文件名称,devf1devf2devf3(输入设备)和devf04,{{1 }和devf05(输出设备)。

我建议您创建文件devf05devf1devf1