彙編學習筆記 2 10 CS和IP

2021-09-28 15:33:32 字數 630 閱讀 4519

cs和ip是8086cup中兩個最關鍵的暫存器。它們用來指示cpu當前要讀取的位址。cs(code segment)為**段暫存器,ip是指令指標暫存器。

在8086cpu中,任意時刻,cpu將從 (cs) x 16 + (ip) 單元開始讀取一條指令並執行。也就是說:cpu 將 cs:ip 指向的內容當作指令執行。如下圖所示:

請大家仔細看圖,當我看到這個圖的時候,我想到了乙個問題:當cpu去記憶體去取指令的時候,如何知道取多少長度的記憶體呢?因為在圖中,取 mov ax,0123h 和 mov ax,bx 的長度是不一樣的。cpu是怎麼知道要取多少長度的呢?在我查詢資料之後,終於得到答案:

指令解碼一般有幾個過程(部件):指令預取、指令預分析(預解碼)、解碼。預取是從cache或者記憶體取一系列的位元組(大小可以保證至少包含一條指令),並設定乙個待分析的位置,預分析從此位置逐字節分析,如果是字首就設定分析狀態(因為字首可能改變預設位址尺寸和運算元的大小,影響後續指令長度),直到不是字首,就認為是操作碼,x86的op code長度一般為1位元組,某些2位元組,查表就可以直接找出指令長度了。

彙編學習筆記 2 3 CS和IP

1,cs和ip是8086cpu中兩個最關鍵的級才能起,指示了cpu當前要讀取指令的位址。其中cs表示 段暫存器,ip表示指令指標暫存器。在8086pc機器中,任意時刻,假設cs中的內容是m,ip中的內容是n,8086cpu將從記憶體mx16 n單元開始讀取一條指令並執行。當8086cpu加電啟動或者...

CS231n 學習總結(筆記和作業)

歷時兩個月,終於學完了這門計算機視覺的神課 回顧整個學習歷程,不得不說這門課真的設計的如此之好,不論是講師justin深入淺出的講解,還是頗有難度的課後作業,都讓我真正對深度學習這一領域有了一定的了解。我是一開始在b站上看2017年的cs231n,但是在看完cnn的部分後發現justin在umich...

IP位址和子網劃分學習筆記

一 子網掩碼 ip位址是以網路號和主機號來標示網路上的主機的,我們把網路號相同的主機稱之為本地網路,網路號不相同的主機稱之為遠端網路主機,本地網路中的主機可以直接相互通訊 遠端網路中的主機要相互通訊必須通過本地閘道器 gateway 來傳遞 資料。1 子網掩碼的概念及作用 子網掩碼 subnet m...