單片機編程入門基礎(chǔ)知識 在匯編語言的串操作中,MOV DI, DS MOV ES, DI這兩條指令到底有什么作用?
在匯編語言的串操作中,MOV DI, DS MOV ES, DI這兩條指令到底有什么作用?(1)沒有上下文,你無法判斷這兩個指令的實際含義。你看不到任何與字符串操作的直接關(guān)系。在字符串操作中,通常將兩
在匯編語言的串操作中,MOV DI, DS MOV ES, DI這兩條指令到底有什么作用?
(1)沒有上下文,你無法判斷這兩個指令的實際含義。你看不到任何與字符串操作的直接關(guān)系。在字符串操作中,通常將兩個字符串分別放在由ds:Si和es:Di尋址的存儲器單元中,以便于字符串比較、移動和其他操作。
(2)MOV,Si,DS指令的意義是將數(shù)據(jù)段寄存器的段地址值賦給Si,執(zhí)行后:Si=DS
(3)MOV,Di,ES指令的意義是將擴展數(shù)據(jù)段寄存器的段地址值賦給Di。也就是說,在執(zhí)行之后,di=es
一般來說,這種指令很少在程序中使用。如果要保護DS和ES的值,通常使用push-DS和push-ES指令。如果要計算物理地址,還需要將段地址放入ax寄存器。當然,8086CPU給出了這樣的指令。在某些情況下,可以使用您提到的兩個說明。
x86匯編語言的MOV指令?
Mov是匯編語言中的數(shù)據(jù)傳輸指令。
用法如下:
mov move(操作碼:88、89、8a、8b、8C、8e…)
mov指令將第二個操作數(shù)(可以是寄存器的內(nèi)容、內(nèi)存中的內(nèi)容或值)復(fù)制到第一個操作數(shù)(寄存器或內(nèi)存)。Mov不能用于直接從內(nèi)存復(fù)制到內(nèi)存。其語法如下:
mov
mov
mov
示例
mov eax,ebx-將ebx的值復(fù)制到eax
mov byte PTR[var],5-將5保存到var指示的內(nèi)存中的一個字節(jié)