1樓:匿名使用者
cpu目標暫存器和結果暫存器都已有資料,需要第三個資料輸入;程式設計時某一邏輯訊號經常多次使用,中間結果需要暫時記憶;輸出介面單後設資料無閂鎖,需要暫存支援;例如轉移或跳轉指令、雙位元組及以上指令、移位或溢位,特殊定址等都有可能使用。
這道組合語言程式設計的程式的每一步是什麼意思啊,拜託詳細解釋一下,謝謝。
2樓:匿名使用者
;程式目的是
呼叫dos中斷在螢幕上顯示:(a)=10011010b
data segment ;資料段
a db 10011010b
;以a為標誌的**段偏移地址內容初始化為二進位制10011010用十六進位制就是 9ah 00h 兩個位元組
b db '(a)=$'
;以b為標誌的**段偏移地址內容初始化為字串'(a)=''$'為字串結束標誌
c db 'b',0dh,0ah,'$'
;以b為標誌的**段偏移地址內容初始化為字串'b',回車,換行,'$'為字串結束標誌
data ends;資料段結束
stack1 segment;堆疊段
db 200 dup(0);開闢200個雙位元組存空間
stack1 ends;堆疊段結束
code segment;**段
assume ds:data,ss:stack1,cs:code;把段名為data的段宣告為資料段,把段名為stack1的段宣告為堆疊段,把段名為code的段宣告為**段
;**段開始
start: mov ax,data;把資料段地址傳給ax暫存器
mov ds,ax;讓ds暫存器儲存資料段地址
lea dx,b;把以b為標誌的**段偏移地址傳給dx暫存器
mov ah,09h;09傳給ah
int 21h
;呼叫中斷,結合上一句,作用:在螢幕上顯示以dx暫存器內容為初始地址的字串,到'$'為字串結束標誌
mov bl,a
;把以a為標誌的**段偏移地址內容10011010(二進位制)傳給bx暫存器的低段
mov cl,8;初始化cl為8,為了迴圈8次,因為
next: mov dl,0;初始化dl
sal bl,1;把bl算數左移一位,相當於把最高位放入 cf(標誌暫存器的進位標誌位)
rcl dl,1
;把全0的dl暫存器帶cf迴圈左移,相當於把把bl的最高位從cf給dl最低位,同時cf清0
add dl,30h;
mov ah,2;02傳給ah
int 21h;呼叫中斷,結合上一句,作用:在螢幕上顯示以dl暫存器內容ascii的字元
dec cl;cl值減1
jne next;cl值不為0轉到next標識的語句
lea dx,c;把以c為標誌的**段偏移地址傳給dx暫存器
mov ah,9;09傳給ah
int 21h;呼叫中斷,結合上一句,作用:在螢幕上顯示以dx暫存器內容為初始地址的字串,到'$'為字串結束標誌
mov ah,4ch;4ch傳給ah
int 21h;呼叫中斷,結合上一句,作用:返回作業系統
code ends;**段結束
end start;程式結束
誰能解釋一下這些暫存器存的到底是什麼?通俗點,謝謝。高分送上… 100
3樓:
暫存器是cpu中的儲存單元,硬體位置當然是在cpu中了。
我們知道計算機工作需要**和資料,一般說來普通使用者認為**和資料都存放在計算機的記憶體中了,而這些**和資料要被cpu指令級別的訪問時,就必須通過暫存器來訪問。
cpu做指令運算時,大多數是在和暫存器打交道,記憶體中的資料也是調入暫存器才操作。運算結果儲存在寄存中,必要才儲存到記憶體中。
簡單說吧,在指令級任務中,暫存器是cpu和記憶體訪問的一道橋樑。
一般說來,暫存器的訪問速度比記憶體快,不是一個數量級。
ax bx cx dx一般都是通用暫存器,當然ax暫存器設計比其它暫存器更靠近cpu核心,它的速度是最快的。
哦,看到其它網友有回答具體暫存器用途,我就不多說了。
4樓:
ax,一般用來暫存處理器計算過程的中間結果bx,一般用來儲存地址的基址(參考基址定址)cx,一般在寫彙編程式的時候用來計算迴圈次數。
dx,一般就是用來儲存資料,也儲存資料地址的段地址ss,sp,用來指示棧的實體地址,ss表示段地址,sp表示段內地址cs,si,指示程式執行**的地址,cs表示段地址,si表示段內地址。
di,bp好久沒看我忘了。另外你參看一下各種定址方式。
誰能解釋一下這些暫存器存的到底是什麼?通俗點,謝謝。高分送上
暫存器是cpu中的儲存單元,硬體位置當然是在cpu中了。我們知道計算機工作需要 和資料,一般說來普通使用者認為 和資料都存放在計算機的記憶體中了,而這些 和資料要被cpu指令級別的訪問時,就必須通過暫存器來訪問。cpu做指令運算時,大多數是在和暫存器打交道,記憶體中的資料也是調入暫存器才操作。運算結...
微控制器中斷暫存器的作用是什麼
中斷暫存器就是用於存貯中斷狀態的 包含是否啟用中斷 或者是 是否發生中斷 include void inituart void void sendonebyte unsigned char c void main void void uartinterrupt void interrupt 4 el...
觀音菩薩的前世是什麼詳細解釋一下
觀音的前身 於婆羅門教的雙馬神童 他們是孿生兄弟 為人助善濟貧 有求必應 是在古印度最有 人緣 人情味的神仙 有化身無數 佛教初期時 為了普及的需要 尊為馬頭觀音菩薩 現在的藏傳佛教裡的 馬頭明王就是 因為普度眾生的原因 需要以多種化身 示人 所以觀音 具有 多種形象 最初傳到中國是美男子的模樣 後...