段暫存器內容左移4位是什麼意思

2021-10-09 15:12:57 字數 796 閱讀 4556

比如段地bai址為:1234h,將段位址左移4位,就是針對段du位址的二進位制形zhi式左移4位。而4個二進位制數dao剛好表示乙個16進製制數,也就是左移4位就相當於十進位制的乘16,十六進製制的乘10.

1234h = 1 0010 0011 0100b,然後左移4位,就加4個0

就得到 1 0010 0011 0100 0000b換算成16進製制就是12340h,就相當於成2的4次方,2的次方剛好是16,所以,就是相當於乘十進位制的16.不知道你有沒有看懂。

這是程式設計中所指的一bai個問題,一般情況下我們將du我們所寫的程式是zhi從位址0開始的,將這個內容在執行中並不能裝入到dao記憶體的0開始,具體裝載的位置每次執行時是不同的.這個位址是我們常說的邏輯位址.怎麼樣找到實體地址,這個是關於邏輯位址向實體地址的轉化.如果我們將段位址裝入cs暫存器中,這樣根據你的段位址與偏移位址就可以計算出實體地址了.

在386以前的機器中,只有實模式這一種工作方式,而定址是對實體地址的編址,最多乙個16位的暫存器只能編2的16次方個位址,這樣決定了定址的能力只有64k,但64k的內容還不足以讓程式執行,有些程式是大於64k的,所以這時採用了分段的方式,乙個程式中可以幾個不同的段組成,(com檔案是在乙個段中的),那麼我們就可以引入段位址.段位址是乙個程式段的開始部分,乙個段只能有64k的空間,而64k正好可以使用乙個16位暫存器進行編址,而對於段的編址也可以有很多個編址的,我們用段位址*16(4位二進位制),這樣可以得到段位址的具體位址.所以sa(有效位址)就是段位址向左偏移4位與偏移位址之和.這樣定址能辦可以達到20位,也就是說實模式下對實體地址可有20位的編址空間,最大支援1m定址.

這就是偏移4位的由來.

暫存器是什麼?記憶體 暫存器和儲存器的區別

什麼是暫存器?暫存器就是計算機中用來在操作時暫時儲存資訊的部件。說到儲存資訊,你是不是想到了記憶體卡和儲存器,那你知道它們之間的區別嗎?不知道的話,下面賢集網小編來給您說說暫存器是什麼?記憶體 暫存器和儲存器的區別。1 暫存器是什麼?暫存器是 處理器內的組成部分。暫存器是有限存貯容量的高速存貯部件,...

關於CPU暫存器的那些事兒(2) 暫存器是什麼

暫存器是cpu內部用來存放資料的一些小型儲存區域 主要是用於儲存資料的!主要是用於儲存資料的!主要是用於儲存資料的!當然,有時候也會儲存一些標誌資訊 控制資訊等,這些都可以看成一資料。x86架構cpu的指指令集是複雜指令集 cisc 提供了豐富的指令來實現強大的功能,與此同時也提供了大量暫存器來輔助...

32位機,CPU是如何利用段暫存器定址的

32位cpu 位址線擴充套件成了32位,這和資料線的寬度是一致的。因此,在32位機裡其實並不需要採用 實體地址 段 偏移 這種位址表達方式。原來在16位機裡規定的每乙個段不大於64kb在32位機裡也不是必要的。所以,對於32位機來講,最簡單的方法就是用乙個32位數來標識乙個位元組的儲存位址,定址時只...