2009-06-02 130 views
1

我編寫了一個SIC彙編程序,除了I/O方面外,一切似乎都正常工作。SIC彙編程序I/O

我已經加載的對象代碼轉換成存儲器(轉換char格式成機表示),但是當我打電話SICRun();要執行代碼,我得到一個錯誤,指出「devf1無法找到」。

我知道這與源代碼中的輸入/輸出設備指令有關。
c文件聲明它取決於外部文件,最值得注意的是Dev [6]。我應該自己創造這個嗎?我的導師沒有給我們任何其他文件。任何見解?

實施例:TD輸出;測試輸出DEVICE

This目錄包含的源代碼(source.asm),頭文件(sic.h)和SIC模擬器(sicengine.c)

回答

3

sicengine.c源文件,它看起來好像devf1(也dev2/dev3)文件預期存在所以這「輸入裝置」可以由被讀取(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陣列中的文件名稱爲devf1,devf2devf3(輸入設備)和devf04devf05devf05(輸出設備)。

我會建議創建文件devf1,devf1devf3

+0

完美!這工作。 – 2009-06-09 01:06:22