組合語言的AX,BX,CX,DX,分別表示什麼

2021-03-24 17:14:42 字數 1067 閱讀 9651

1樓:仁昌居士

ax暫存器稱為累加器(accumulator),使用時主要用於存放資料,如存放算術、邏輯運算中的運算元或結果。也可臨時時用於存放地址。

bx暫存器稱為基址暫存器(baseregister),常用來存放訪問儲存器時的地址。

cx暫存器稱為計數暫存器(countregister),常用於儲存計算值,如在移位指令,迴圈(loop)和串處理指令中用作隱含的計數器。

dx暫存器稱為資料暫存器(dataregister),常用於資料傳遞。在暫存器間接定址中的i/o指令中存放i/o埠的地址。

2樓:ooo蛛蛛

彙編彙編我就是不會編

組合語言的 ax bx cx dx都有什麼區別?

3樓:匿名使用者

ax稱為累加器(accumulator),是cpu中使用最多,功能最強,執行效率的暫存器.

bx稱為基地址暫存器(base register).

cx稱為計數暫存器(count register).

dx稱為資料暫存器(data register).

沒有本質上的區別,都是通用16位暫存器.

相應的通用32位暫存器是eax,ebx,ecx,edx.

至於怎麼用庫檔案裡的指令都有定義,只需瞭解指令格式即可.

4樓:文刀舍予

暫存器的不同主要體現在指令上

比如8086裡的mul和div指令,就是乘法和除法,哪個暫存器是幹什麼的都是定義好的

還有loop指令,是根據cx來判斷是否迴圈的最重要的就是有的暫存器可以用來定址而有的不能比如ax不能用於定址,就是說這樣的指令是錯誤的:

mov bx,[ax]

而bx可以用於定址,這條指令就是正確的:

mov ax,[bx]

這些說的只是在8086裡面,32位的cpu的eax,ebx,ecx,edx都能用於定址(這四個我試驗了,其他的沒試驗)

5樓:

我覺得提問的就不該問這個問題,除了ax在存取速度上稍比其他三個快點外,它們根本沒有本質區別

組合語言程序,組合語言程式

變數名 str1 str1 str1 str2 str2 str2 numb numb 偏移地址 0000h 0001h 0002h 0003h 0004h 0005h 0006h 0007h 單後設資料 00h 01h 02h 48h 49h 4ah 00h 00h 變數名 numb numw n...

組合語言中csdsss的區別,組合語言中 cs ds ss的區別是什麼?

cs ds ss 分別是 段暫存器 資料段暫存器 棧段暫存器。簡單的8086彙編程式可以直接使用系統棧 或者預設的棧 所以 可以不用 ss 暫存器。即簡單的程式通常包括一個 段和一個資料段。資料通常放在資料段中,一般只需在程式的開始對資料段暫存器ds賦值 mov ax,seg data mov ds...

關於組合語言,關於組合語言中的LOOP指令

簡單的說就是 如果時間充裕 先學彙編,因為彙編會極大的幫助你認識晶片的內部,具體在執行的時候它是怎麼工作的。如果時間不充裕 先學c,因為c編寫語言只需要極少的對晶片的瞭解即可。比較 組合語言 程式 效率最高。通俗的說,寫出來的東西佔空間小。缺點 開發週期較長 c語言 程式 效率比較高。通俗的說,佔的...