資料定址位址碼尋找物件
定址方式位
位址碼 = 定址特徵 + 形式位址
形式位址 -> 有效位址(ea)
立即定址:
立即數,補碼表示,位址碼就是運算元
取指令1次,立即執行,一共訪存一次,執行時間最快
缺點:立即數範圍被限制,如果有n位,補碼只能表示-2^n-1 ~ 2^n-1 - 1
直接定址:
形式位址是運算元的真實位址,定位到記憶體中的定址範圍
ea = a
優點:簡單,a限制了大小範圍,不能修改
間接定址:
a 位址內容 是 ea的位址
ea = (a)
取指一次訪存,根據形式位址找出ea一次訪存,根據ea找出運算元一次訪存
一共3次訪存
如果是多次定址,當記憶體中的位址前面一位為0說明是ea
優點:擴大了定址範圍,便於編址程式
每次間址都要訪問儲存器,時間消耗很多
暫存器定址:
類似直接定址,位址是暫存器位址
取指令一次,尋找到運算元
操作物件有限
暫存器間接定址:
暫存器當中是運算元的位址
一般間接定址要快,執行需要訪問主存
隱含定址:
一位址指令,另外乙個位址在acc當中,用操作碼字段表明
不用給出另乙個位址
操作碼佔一定位數
定址方式
有效位址
訪存次數(執行指令期間)
隱含定址
程式指定
0立即定址無0
直接定址a1
一次間接定址
ea = (a)
2暫存器定址
ea = r
0暫存器間接定址
ea = ®
1
4 2 2 常見的資料定址方式
1.隱含定址 在指令中隱含著運算元的位址。如單位址的指令格式,就不是明顯地在位址欄位中指出第二運算元的位址,而是規定累加器acc作為第二運算元,指令格式明顯指出的僅是第一運算元的位址。因此,累加器acc對單位址指令格式來說是隱含位址。隱含定址的優點是有利於縮短指令字長 缺點是需增加硬體。2.立即 數...
4 2 3偏移定址(19)
基址定址 基址暫存器的內容加上形式位址a,形成運算元的有效位 可以用基址暫存器存放偏移量,也可以採用通用暫存器 如果使用基址暫存器,不需要指明 如果使用通用暫存器存放偏移量,需要再指令中尋找出一段作為暫存器編號來定址 基址暫存器是面向作業系統,只能調整形式位址,不能調整基址暫存器當中的內容優點 可以...
4 2 2 計算資料
4.2.2 計算資料 在這個應用程式的第乙個版本中,我們將只列印標籤,以及圖表中每一項所佔比例 百分比 要計算百分比,就需要知道列表中所有專案數值總和,這個值用清單 4.4 中的函式 calculatesum 來計算。清單 4.4 計算列表中的數值和 f interactive let rec ca...