看板 Grad-ProbAsk 關於我們 聯絡資訊
(一)假設一計算機(只能儲存整數),2 個連續bytes 構成一個word, 整數以二進位數方式儲存,資料表示則以2'的補數方式表示。一指令由16 位元組成, 指令格式如下: opcode (4) x(1) y(1) address /disp (10) 其中x=0 採用直接定址, x=1 採用間接定址; y=0 採用程式計數(Program-counter Based)定址, y=1 採用基底(Base-relative Based)定址, 請問假設只考慮直接定址, 記憶體可定址到的大小為何?每一記憶體位置可儲存資料的長度為何? 可儲存整數的範圍、指令暫存器(Instruction Register, IR)的長度為何? (二)在一計算機結構中,一指令由24位元組成,其中6個位元為操作碼(Operation Code) 6個位元為各種定址方式之表示,12個位元為位址(Address)或位移(Displacement) 給予記憶體和暫存器資料(以16 進位表示)如下: (3300)=001800 /*表示記憶體位址3300 之內容為001800*/ (3630)=003300 (6690)=103000 (0300)=003630 (B) =006000 (PC) =003000 (X) =000000 假設LDA 指令係將指定的記憶體位址內資料載入累積器,請寫出執行 i. LDA 300(採用直接定址); ii. LDA300(300 為memory address,採用PC-relative 定址, 目標位址(TargetAddress)的值為PC 的值加上位移值(Displacement)); iii.LDA@630, X (630 為memory address,採用PC-relative,X 表示索引,@表示間接定址); iv. LDA#630 後暫存器A 之內容。 謝謝,麻煩各位了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.109.120 ※ 編輯: wakke 來自: 61.231.109.120 (08/18 01:15)