程式執行的過程分析 sky原創

2021-09-06 20:00:27 字數 548 閱讀 9635

程式執行的過程:

比如我們要執行3 + 2

程式計數器(pc) = 指令位址

指令暫存器(ir) = 正在執行的命令

累加器(ac) = 臨時儲存體

那麼實際上執行了三條指令

每條指令又分為兩部分:取址、執行

取址就是從暫存器裡取一條指令放在ir暫存器

左上角的圖,pc暫存器裡面放的值是300

那麼我們就從記憶體位址為300的位上取一條指令 1940的內容放到ir上去

一條指令 由操作碼+運算元組成

1940  中的 1代表操作碼,940代表運算元

1是從乙個記憶體中取資料放入ac暫存器裡面,即我要做什麼操作

把940記憶體位址裡面的資料0003放入ac暫存器

先取址,pc=300  執行時pc=301

pc會加1

歡迎交流

知乎:

程式執行的過程分析 sky原創

程式執行的過程 比如我們要執行3 2 程式計數器 pc 指令位址 指令暫存器 ir 正在執行的命令 累加器 ac 臨時儲存體 那麼實際上執行了三條指令 每條指令又分為兩部分 取址 執行 取址就是從暫存器裡取一條指令放在ir暫存器 左上角的圖,pc暫存器裡面放的值是300 那麼我們就從記憶體位址為30...

電腦程式的執行過程分析

linux核心分析 課程第一次作業 程式的正確執行靠堆疊來維持,堆疊是一塊儲存資料的連續記憶體。乙個名為堆疊指標 esp 的暫存器指向堆疊的頂部,乙個名為堆疊指標 ebp 的暫存器指向堆疊的底部。堆疊的底部在乙個固定的位址。堆疊的大小在執行時由核心動態地調整。cpu實現指令push和pop,向堆疊中...

程式執行的記憶體分析過程

1.將show方法存入方法區,構造person方法,初始化變數name age,構造方法移出棧 2.給main方法建立乙個棧,給name,age分別賦值,呼叫show方法,此時將物件的位址0x10傳遞給p1,p1.show 棧被移出 3.再次構造person方法,初始化變數name age,構造方法...