計算機概論第二次作業

請運用課本第二章的 CPU 架構及附錄 C 的指令設計下列程式。

請在模擬器上執行過了以後, 存檔,並將組合語言之檔案列印出來, 以 "手寫" 說明暫存器內資料所代表的意義, (如果過程複雜的話,請畫出流程圖輔助說明), 組合語言之檔案請在測試完畢後以 email 寄到 pyting@cs.ntou.edu.tw, 標題請註明 "計算機概論第二次作業", 內文請註明: 姓名,學號,並直接附上程式 (請不要以附加檔案的形式寄送)

繳交日期:88/11/24 (三)

題目

  1. 請將記憶體位址 E0, E1, E2, .... FF 共 32 個位元組內以 8 個位元 2 的補數法記錄的資料加起來:

    在每一個加法完成後請測試是否有溢位的情形發生, 如果有溢位發生的話, 請將導致溢位的那個數字的位址記錄在記憶體 D0 的地方, 並且將未發生溢位前的累加結果放在記憶體 D1 的地方, 如果都沒有發生溢位, 請將記憶體位址 D0 內設為 0, 並將結果置於記憶體位址 D1 內。

    測試資料檔案 (請存檔後載入模擬器內測試): add_data1.mm add_data2.mm add_data3.mm add_data4.mm

  2. 在下面連續加法的程式中, 我們將兩個記憶體內的資料個別載入暫存器 R1, R2 中, 相加到暫存器 R0 中, 然後再存放到記憶體中, 這樣子的程式片段連續出現兩次在程式當中, 請製作一個函式, 並修改程式來呼叫此函式。

    注意:

計概課程 首頁

製作日期: 99/11/10 by 丁培毅 (Pei-yih Ting)
E-mail: pyting@cs.ntou.edu.tw