志豪家裡有一部很珍貴的骨董電腦。這部電腦只有四個16-位元 (bit) 的暫存器和八個字組 (word,每個字組亦為16-bit) 的主記憶體。它的中央處理器的部份指令格式如下:
指令 | 指令格式 | 指令意義 |
LOAD | LOAD RD MS | 將記憶體位址MS的字組數值載入暫存器RD |
STORE | STORE MD RS | 將暫存器RS的數值存回記憶體位址 MD的字組 |
ADD | ADD RD RS1 RS2 | 將暫存器RS1 和RS2 的數值和存入暫存器RD |
MOVE | MOVE RD RS | 將暫存器RS的數值存入暫存器 RD |
假設暫存器的編號從0開始,主記憶體位址也同樣從0開始。若已知主記憶體位址0和1的數值為123和456,以下程式片段執行後會將579 (123 + 456) 存入主記憶體位址2的字組。
LOAD 0 0 LOAD 1 1 ADD 2 0 1 STORE 2 2 |
請你撰寫一個程式,讀入一串指令(只會出現上述四種指令),模擬這串指令執行的結果,並將執行後第一個暫存器和第一個記憶體字組的內容顯示出來。
假設1:所有暫存器的初始數值皆為0。
假設2:計算過程中不會有溢位情形發生。第一行至第八行為八個記憶體字組的初始數值。
第九行有一個正整數N (1≤ N ≤ 50),代表指令個數。
第十行開始有N行,每一行為一個指令。
請依序輸出第一個暫存器(編號0號)和第一個記憶體字組(編號0號)的數值內容。
輸入範例一 123 456 0 0 0 0 0 0 4 LOAD 0 0 LOAD 1 1 ADD 2 0 1 STORE 2 2 輸入範例二 100 200 300 400 0 0 0 0 7 LOAD 0 0 LOAD 1 1 ADD 2 0 1 LOAD 0 2 MOVE 3 2 ADD 0 3 1 STORE 3 0
輸出範例一 123 123 輸出範例二 500 100
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
44170 | toseanlin@gm ... (Dr. SeanXD) | a349 | 22 | 2024-11-09 10:09 | |
40959 | seancai78@gm ... (風月春秋) | a349 | 135 | 2024-06-21 19:24 | |
40668 | n0970616056@ ... (CIOU-HE-CHEN) | a349 | 121 | 2024-06-04 22:07 |