組合語言中mov ds,ax移動的是ax中的資料還是隻是它的複製

時間 2021-05-07 20:00:26

1樓:念憶

對計算機而言,移動即是複製。移動一個檔案到其它地方,也是先複製過去,再把原檔案刪除。

mov ds,ax 將ax中的資料賦值給ds,ax中的值不會消失。mov ax,data這句,如果是前面有assume ds:data的情況,是將地址值傳給ax。

由於彙編指令系統龐大,因而需構建指令系統體系,其指令數量龐大,格式複雜,可記憶性差等。指令中最難的是指令所支援的定址方式,其實質就是指令中運算元如何獲取。對於處理器而言,就是如何找到他所需的資料。

但對於計算機底層的組合語言而言,這種定址方式將涉及大量的計算儲存格式,與 複雜的儲存管理方式緊密相關,因而難以理解。最後,彙編指令還關係到如何影響標誌位,但處理器標誌位非常複雜,因而對其機制掌握就比較困難。

2樓:匿名使用者

mov dx,ax ;只是將ax中的值傳遞給了dx而ax並沒有發生變化,這是一種暫存器定址方式,所有的mov語句都是傳值不傳址,傳址要用lat語句才行,希望對你有用。

3樓:楊騰

值傳遞 地址傳遞指令是lea lds les

4樓:匿名使用者

要從相應的記憶體地址取值,然後傳給ax。所以是複製的一個副本到ax中

5樓:匿名使用者

只是將data中的資料傳值給ax了,不傳送地址

6樓:破曉崇明

你說的那是lea

mov把內容給ax,要是lea的話,就是把他的地址送過去

組合語言的程式開始都有 push ds mov ax,0 push ax 這三段有什麼作用?

7樓:永恆

code  segment

assume    cs:code

main  proc      far

push      ds

mov       ax,0

push      ax

mov       ah,2

mov       dl,'l'

int       21h

retmain  endp

code  ends

end       main

8樓:做而論道

在程式的開始,bai

在堆疊中壓入了du兩次,分zhi別是ds和0;

在程式的末dao尾,使用了專ret,就用到了壓入屬的內容,這樣就能結束程式,安全的返回dos。

想要弄清這幾個操作,就必須瞭解「磁碟作業系統」,即dos才行。

這已經不是「組合語言」的內容了。

9樓:匿名使用者

壓棧保護,作業系統的規範,要了解其意義,就必須知道作業系統,這個是作業系統的程式設計的"標準"...當然不同的作業系統之間是不一樣的了,所以才說彙編是可移植性依存於系統的....

10樓:小裙裙

起到現場保護的作用,push ds是把ds壓入棧保護,,,,

彙編源程式中的mov ax,dataseg mov ds,ax是什麼意思

11樓:匿名使用者

mov ax,dataseg ;將dataseg的段址取出mov ds,ax ;將該段址賦與ds

;此後,資料段就變成dataseg

至於dw 32 dup(0)

是定義32 個dword,並預填充為0

就是:dw 0,0,...,0 ;32個0

12樓:匿名使用者

mov ax,dataseg 是將標識為dataseg的資料區首地址傳給ax

mov ds,ax 暫存器賦值。因為8068/8088規定段暫存器不能直接賦值,必須要由暫存器給他傳值,因此想初始化資料段首地址必須要由ax中轉一下。

dw 32 dup(0)告訴編譯器記憶體中預留32個4位元組,並全部填充為0

組合語言中的返回指令rst問題,組合語言中的返回指令Rst問題

先澄清一下你問得模糊的地方。1 你說的 rst 返回指令應該是 ret 吧?2 sp 不叫堆疊指令,它是堆疊指標,估計是stack pointer的首字母。該指標總是指向堆疊的棧頂,即始終存放的是棧頂的地址。堆疊的工作原理可簡述為 後進先出 即lifo,last in first out。具體解釋請...

組合語言buff什麼意思,組合語言中 BUFF DB 60 DUP 是什麼意思?

組合語言中buff這個關鍵字,所以出現這個字母組合應該是一個變數,從字面上理解應該是與儲存器相關的一個變數,比如開闢一個緩衝區用於收發串列埠資料等等。 君威 不帶引號的?指從buff的位置開始預留指定位元組數的記憶體空間 帶引號的?指從buff的位置開始連續存放指定位元組數的?字元 帶引號的 指從b...

關於組合語言移植性的問題,關於組合語言中的LOOP指令

兄弟,你理解錯了,首先你要明白,組合語言是一種針對具體機器的低階語言,這裡說的不同機器一般來講是指cpu指令系統不相相容的兩種機器,比如常用的8086與51,dsp,arm,等等,他們的指令系統都不是通用的。自然移植到別的機器上不行,舉個例子來說吧,假如51,的p0埠可以用來點亮一盞燈,但是對808...