好吧,這是非常令人困惑的我,對大會的每個教程說,有數目較少內置於CPU的,寄存器那麼,如果我創建了使用寄存器來計算,這樣的程序:CPU如何在有限數量的寄存器中同時運行多個應用程序?
global _start
section .text
_start:
reStrt: ; Label, Restart...
MOV ah, 0 ; Initialise ah to 0
INC ah ; ah++ [OR] ah=1
JMP reStrt ; Unconditional jump to label "reStrt"
後使用子系統:CONSOLE組裝和鏈接此代碼,我將啓動它,並將看到永不退出的程序。
要關閉它,我們必須按下控制檯窗口的[X]按鈕,並且在本程序運行的同時,使用寄存器ah增加1並減少1,我再次啓動該應用程序,現在同一個程序在同一時間運行2次。
但是這怎麼可能呢?如果AH寄存器是CPU中的一個,那麼兩個程序如何共享該寄存器,但是不會與另一個共享一個值? B'cause我甚至沒有創建一個變量(標籤)來存儲內存(RAM)的值。另外,如果有數百個寄存器但應用程序被限制使用每個寄存器的一個副本,那麼我怎麼能說我的計算機可以處理多少進程?
你不需要大寫這麼多的單詞。 – 2015-01-21 06:11:00