電腦是如何工作的進行

來源:互聯網
上載者:User

標籤:

電腦是如何工作的進行一、實驗過程及分析

 

**指令先從main函數開始---eip所指向的位置 ** `

main:

pushl   %ebp           ;將ebp的值(0)壓入堆棧,esp指向下一個(編號1的位置)movl    %esp, %ebp     ;將esp賦給ebp,ebp的指向位置變了,也指向(編號2的位置)subl    $4, %esp       ;esp向下移動一個編號(2)的位置movl    $18, (%esp)    ;立即數18放到esp當前指向的位置(編號2)call    zheng          ;{對應兩條指令1.pushl eip 2.movl zheng eip}  執行call指令的時候,eip實際上指向下一條指令(程式碼數是23的代碼)將eip(23)壓棧,而 eip指向zheng   指令從zheng函數開始執行addl    $1, %eax       ;eax=24+1=25leave           ;1.movl %ebp,%esp esp與ebp都指向編號1 2.popl %ebp ebp,esp都指向0,堆棧回到了最初的狀態ret`                   ;最後return是回到main函數之前的堆棧

zheng:

pushl   %ebp           ;ebp當前指向為編號1,將ebp(編號1)壓入棧,esp指向編號4movl    %esp, %ebp    ;ebp也指向編號4subl    $4, %esp      ;esp指向下一位置編號5movl    8(%ebp), %eax ;變址定址8,ebp向上+2個編號位置,值為18,將18賦給eaxmovl    %eax, (%esp)  ;eax=18,把18放到編號5的位置call    wei          ;1.pushl eip(esp移到編號6,eip為15行)2.eip指向wei函數的位置leave    ;1.movl %ebp,%esp ebp指向4,esp也指向編號4  2.popl %ebp ebp指向編號1的位置,同時esp上移指向編號3ret      ;popl eip,把esp上移指向編號2,eip指向行號23,main中call的下一條指令

wei:

pushl   %ebp         ;當前ebp指向編號4,esp指向編號7的位置movl    %esp, %ebp   ;把ebp也指向當前編號7的位置movl    8(%ebp), %eax ;ebp+8,即向上移動兩個編號的位置,eax=18addl    $6, %eax      ;eax=18+6=24popl    %ebp  ;將ebp(4)的內容放回ebp,效果是ebp指向原來4的位置,同樣,esp減4,指向編號6的位置ret     ;return就是popl eip,esp指向編號5,同時eip指向了行號15的位置,執行zheng函數裡call指令的下一條。

 此處的0-8是編號,實際上應是0-32, 4個位元組

二、總結部分:電腦大部分都是用馮諾依曼體繫結構,即儲存程式電腦。

兩個層面:

1.硬體 cpu(IP寄存器:指標,指向記憶體的某塊地區)——匯流排——記憶體(代碼與資料)

2.程式員 記憶體儲存指令與資料, CPU解釋執行指令

電腦在執行程式時須先將要執行的相關程式和資料放入記憶體儲器中,在執行程式時CPU根據當前程式指標寄存器的內容取出指令並執行指令,然後再取出下一條指令並執行,如此迴圈下去直到程式結束指令時才停止執行。其工作過程就是不斷地取指令和執行指令的過程,最後將計算的結果放入指令指定的儲存空間地址中。

註明: 姓名:鄭偉 + 原創作品轉載請註明出處 + 《Linux核心分析》MOOC課程http://mooc.study.163.com/course/USTC-1000029000

電腦是如何工作的進行

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.