資料傳送指令時組合語言程式設計中最常用的指令。分為4類:
格式:mov 目的運算元,源運算元
功能:把乙個位元組或字從源運算元傳送到目的運算元。
1、目的運算元可以是:
2、源運算元可以是:
說明:
1、以上目的運算元和源運算元,除了不能從儲存器到儲存器以外,可以任意搭配。
例如:mov a,b ;錯!!
應該:
mov al,a
mov b,al
2、mov指令不影響狀態標誌。
將以s1為起始位址的30個字元依次傳送到同資料段的以s2為起始位址的一片位元組儲存單元裡。
分析:資料塊是用db定義的乙個字串s1。用變址暫存器間接定址方式訪問s1和s2,即用[si]表示s1中各位元組的位移量,用[di]表示s2中各位元組的位移量。
datas segment
s1 db 'abcdefghijklmnopqrstuvwxyz0123'
s2 db 30 dup(?)
datas ends
codes segment
assume cs:codes,ds:datas
start:
mov ax,datas
mov ds,ax
mov si,offset s1 ;s1的位移量=>si
mov di,offset s2 ;s2的位移量=>di
mov cx,30 ;迴圈次數30=>cx,下面的迴圈會執行一次就減1
next:
mov al,[si]
mov [di],al
inc si
inc di
loop next ;隱含了(cx)-1=>cx,(cx)=0時退出迴圈
mov ah,4ch
int 21h
codes ends
end start
8086彙編 資料傳送指令
於ibm pc組合語言程式設計 沈美明 溫冬嬋 編著 負責把 資料,位址或立即數傳送到暫存器或者儲存單元中.1.通用資料傳送指令 mov,push,pop,xchg mov指令在cpu內或cpu和儲存器之間傳送位元組或字,目的運算元不允許使用立即數,也不能用cs暫存器,不允許用mov指令在兩個儲存單...
彙編指令之資料傳送指令續集 三
4 堆疊指令 在8086 8088系統中,堆疊實際是一段隨機訪問ram區域。稱為棧底的一端位址較大,稱為棧頂的一端位址較小。堆疊的段值在堆疊暫存器ss中 堆疊的指標暫存器sp始終指向棧頂 堆疊是以 後進先出 方式工作 堆疊的訪問必須以字為單位 16bit 2btye 堆疊的指令分為如下兩種 1 進棧...
彙編批量傳送指令
檢視linux核心 時,常常看到下面八個彙編指令,下面簡單講解一下它們的含義和用法。這8個是彙編常用的批量傳送指令,用來載入或者儲存幾個連續的記憶體。ldmib ldmia ldmdb ldmda stmib stmia stmdb stmda 觀察指令時可將指令分兩部分解釋 ldm load me...