作爲一個小項目,我一直在創建一個老式的微型計算機CPU仿真器,主要基於8080的架構。它的8位通用寄存器可以(「according to wikipedia」)用作「三個16位寄存器對」,以及常規的8位模式。這是我的問題。建模微機寄存器在內存中?
我的第一次嘗試建模這是個人命名的字節和短褲,它工作正常,直到我重新閱讀specs頁面,發現16位寄存器實際上並不是他們自己的東西。哎呀。
我現在想要的是一個字節數組,每個8位寄存器有一個位置,並且爲堆棧/指令指針保留兩個位置。這對於8位寄存器來說非常好用,而且管理起來很麻煩,但我實際上並不知道如何將兩個字節轉換爲內存中的短暫內容。這甚至有可能嗎?如果沒有,你有什麼建議如何做到這一點?
考慮使用聯合。或者如果你想直接使用內存表示,一個指針。 –
呃,我將如何去做一個指向不同類型的兩個變量的指針?我仍然在學習C++魔術。 – Lexusjjss
基本上你會有兩個不同類型的指針和相同的內存地址。我不確定C++有多少推薦它用於這個任務。然而,這在C中是微不足道的,因爲在C中裸露的編程模型與您試圖模擬的那種硬件架構之間存在相似之處。當然,這種指針方法需要你的仿真和主機結構具有相同的字節序列......在目前這個時候很有可能。 –