彙編 學習筆記(七) 資料傳送指令

2021-08-01 15:25:52 字數 1068 閱讀 8371

資料傳送指令時組合語言程式設計中最常用的指令。分為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...