簡述8086CPU指令系統下的指令PUSH的操作過程,並說明棧資料的特點

2025-07-13 14:20:04 字數 3430 閱讀 1525

簡述8086cpu的堆疊操作原理

1樓:墨跡

ss*16+sp指向棧頂,和bp沒有任何關係,只不過bp定址時預設段暫存器是ss

8086堆疊中資料的操作方式是什麼?

2樓:網友

先進後出是正解!這是堆疊段的特點,與堆疊段不同的是指令序列緩衝器——先進先出。

push指令:將乙個字壓入堆疊同時sp-2;

pop指令:乙個字出棧,同時sp+2;

所以在寫彙編時,若要用到堆疊,務必注意進棧和出棧的順序:

例如寫現場保護:

push ax

push dx

恢復現場的時候一定要先pop dx,再pop ax……簡單地說就是上下對稱。

3樓:網友

棧定的資料總是最後進入堆疊的,出棧時,又是最先被取出,棧的這種操作規則稱為 後進先出。

舉例push ax

步驟:1、sp=sp-2

2、將ax內的資料送入ss:sp指向的記憶體單元pop ax

步驟:1、將ss:sp指向的記憶體單元的資料送入ax2、sp=sp+2

任意時刻,ss:sp總是指向棧定單元。

也可以理解為,入棧時,先減位址,後進資料;出棧時,先出資料,後減位址。

4樓:網友

先進後出,後進先出?

求助:在8086cpu中,執行堆疊操作指令push ax後,改變內容的暫存器是?

5樓:走路的蔥哥

sp壓棧後sp+2因為堆疊一般為了加快操作速度都是對字進行操作ax是放入堆疊裡被保護的。

bx不受影響。

si不變。

在8086cpu中,取指令和執行指令的過程是什麼?

6樓:sang_yi_平

直接mov al想要的資料,不需要他去讀io的資料多的空使用nop來**對齊。

一般你這指令,下面還有判斷指令,不相等就跳轉之類的,改為nop空操作或強制跳轉jmp

沒提交就不能用request物件了。

用js 把。寫個函式。

然後 在下拉框onchange的時候呼叫。。。

函式里這樣取下拉框的值document.表單名。下拉選單name沒有表單就直接document.

下拉選單namejs那個函式里再加個轉向的語句,把取得的值作為引數再傳遞到這個頁面,然後用request取值,判斷並輸出。。

不用ajax的話,就只能整頁重新整理了,不過這樣做使用者是體驗不到什麼不合適的,還是原來的頁面,沒有什麼不妥。

7樓:網友

匯流排是什麼型別就是什麼型別唄,取指就是,pc送位址經過位址匯流排。指令,dr——ir--—id。都是通過db資料匯流排。再發出相應的控制命令,經控制匯流排。

執行指令根據實際情況也是通過資料匯流排或位址匯流排或控制匯流排。

8086內部匯流排都為並行通訊。並行就是多根線,同時傳輸。

所以說都是並行。

8086cpu暫存器的特點和作用?

8樓:匿名使用者

8086/8088共有14個16位暫存器,按照其功能可以分為以下三組。

通用暫存器組。

這組暫存器含有8個暫存器,分別是:ax,bx,cx,dx,si,di,bp,sp

說明:1、通用暫存器ax,bx,cx,dx為4個16為暫存器,他們也可作為8個8位暫存器來使用。

2、堆疊指標暫存器sp用於在堆疊操作時,確定堆疊區在記憶體中的位置。但sp必須與堆疊段暫存器ss一起使用才能確定當前堆疊操作的實體地址。

3、基址指標暫存器bp、源變址暫存器si和目的變址暫存器di主用用於擴充了定址方式,和bx暫存器一樣,用於對運算元據的間接定址或變址定址。

段暫存器組。

這組暫存器含有4個暫存器,分別是:cs,ds,ss,es

段暫存器的主要用途說明:

8086/8088在執行取指令操作或跳轉執行或尋找儲存器運算元的位址時,採用了分段定址方式,在同一時刻可將記憶體分為4個邏輯段,段首位址即由段暫存器的內容給定。段暫存器內容為16位二進位數,稱為段位址,一條指令或運算元據的實體地址是由段位址和偏移位址共同確定。採用段位址的方式能使8086/8088在1mb的範圍對記憶體進行定址。

控制暫存器組。

這組暫存器含有2個暫存器,分別是:指令指標暫存器ip和狀態標誌暫存器psw組成。

1、指令指標ip暫存器的內容為下一條將要執行的指令的偏移位址,ip暫存器應與**段暫存器cs相配合,才能形成操作指令的實體地址。

2、狀態標誌暫存器psw用以反映系統狀態和運算結果的特徵。它共有6個狀態位和3個標誌位。詳情如下:1、狀態位:

of:溢位標誌。

cf:進位標誌。

af:輔助進位標誌。

zf:結果為零標誌。

sf:符號標誌。

pf:寄偶標誌。

2、標誌位。

tf:跟蹤標誌。

if:中斷標誌。

df:方向標誌。

簡述8086 cpu的暫存器組織。

9樓:網友

【解】:(1)通用暫存器:通用暫存器又稱資料暫存器,既可作為16位資料暫存器使用,也可作為兩個8位資料暫存器使用。

當用作16位時,稱為ax、bx、cx、dx。當用作8位時,ah、bh、ch、dh存放高位元組,al、bl、cl、dl存放低位元組,並且可獨立定址。這樣,4個16位暫存器就可當作8個8位暫存器來使用。

2)段暫存器:段暫存器共有4個cs、ds、ss、es。**段暫存器cs表示當前使用的指令**可以從該段暫存器指定的儲存器段中取得,相應的偏移值則由ip提供;堆疊段暫存器ss指定當前堆疊的起始位址;資料段暫存器ds指示當前程式使用的資料所存放段的起始位址;附加段暫存器es則指出當前程式使用附加段位址的起始位置,該段一般用來存放原始資料或運算結果。

3)指標和變址暫存器:堆疊指標sp用以指出在堆疊段中當前棧頂的位址。入棧(push)和出棧(pop)指令由sp給出棧頂的偏移位址。

基址指標bp指出要處理的資料在堆疊段中的基位址,故稱為基址指標暫存器。變址暫存器si和di用來存放當前資料段中某個單元的偏移量。

4)指令指標與標誌暫存器:指令指標ip的功能跟z80 cpu中的程式計數器pc的功能類似。正常執行時,ip中存放的是biu要取的下一條指令的偏移位址。

它具有自動加1功能,每當執行一次取指令操作時,它將自動加1,使它指向要取的下一記憶體單元,每取乙個位元組後ip內容加1,而取乙個字後ip內容則加2。某些指令可使ip值改變,某些指令還可使ip值壓入堆疊或從堆疊中彈出。標誌暫存器flags是16位的暫存器,8086共使用了9個有效位,標誌暫存器格式如圖所示。

其中的6位是狀態標誌位,3位為控制標誌位。狀態標誌位是當一些指令執行後,表徵所產生資料的一些特徵。而控制標誌位則可以由程式寫入,以達到控制處理機狀態或程式執行方式的表徵。

CPU指什麼,CPU指的是什麼?

處理器 cpu,central processing unit 是一塊超大規模的積體電路,是一臺計算機的運算核心 core 和控制核心 control unit 它的功能主要是解釋計算機指令以及處理計算機軟體中的資料。處理器主要包括運算器 算術邏輯運算單元,alu,arithmetic logic ...

CPU是指計算機的什麼,電腦中的CPU指的是什麼?

cpu是 處理器。是計算機的運算器與控制器。cpu內部結構大概可以分為控制單元 運算單元 儲存單元和時鐘等幾個主要部分 運算器是計算機對資料進行加工處理的中心,它主要由算術邏輯部件 alu arithmeticandlogicunit 暫存器組和狀態暫存器組成 控制器是計算機的控制中心,它決定了計算...

cpu的外頻指什麼 cpu的工作原理是什麼

cpu主頻和外頻的區別。cpu頻率,就是cpu的時脈頻率,簡單說是cpu運算時的工作頻率 1秒內發生的同步脈衝數 的簡稱。單位是hz。它決定計算機的執行速度,隨著計算機的發展,主頻由過去mhz發展到了現在的ghz 1g 1024m 通常來講,在同系列微處理器,主頻越高就代表計算機的速度也越快,但對與...