彙編批量傳送指令

2021-08-22 19:21:33 字數 1373 閱讀 1387

檢視linux核心**時,常常看到下面八個彙編指令,下面簡單講解一下它們的含義和用法。

這8個是彙編常用的批量傳送指令,用來載入或者儲存幾個連續的記憶體。

ldmibldmia

ldmdbldmda

stmibstmia

stmdbstmda

觀察指令時可將指令分兩部分解釋:

ldm:load memory  載入記憶體,意思是將記憶體載入到cpu暫存器中;

stm:store memory  儲存記憶體,意思是將暫存器內容儲存到記憶體中,跟ldm是相反的傳送方向;

例:ldmib   r3,     @將 [r3+4]、[r3+8] 的內容分別載入到 r5、r7;

ldmia   r3,  @將 [r3]、[r3+4]、[r+8] 的內容分別載入到 r5、r6、r7;

ldmdb   r3,  @將 [r3-4]、[r3-8]、[r3-12] 的內容分別載入到 r5、r6、r7;

ldmda r3,    @將 [r3] 、[r3-4]、[r3-8] 的內容分別載入到 r5、r6、r7;

stmib   r3,     @將 r5、r7 的內容分別儲存到 [r3+4]、[r3+8];

stmia   r3,  @將 r5、r6、r7 的內容分別儲存到 [r3]、[r3+4]、[r+8];

s***b   r3,  @將 r5、r6、r7 的內容分別儲存到 [r3-4]、[r3-8]、[r3-12];

s***a r3,    @將 r5、r6、r7 的內容分別儲存到 [r3] 、[r3-4]、[r3-8]。

8086彙編 資料傳送指令

於ibm pc組合語言程式設計 沈美明 溫冬嬋 編著 負責把 資料,位址或立即數傳送到暫存器或者儲存單元中.1.通用資料傳送指令 mov,push,pop,xchg mov指令在cpu內或cpu和儲存器之間傳送位元組或字,目的運算元不允許使用立即數,也不能用cs暫存器,不允許用mov指令在兩個儲存單...

組合語言 傳送指令

一.傳送指令 1.通用傳送指令mov mov dst,src 將src傳送到dst中 dstsrc操作位數 mem reg imm8 16 mem reg seg reg8 16 reg seg mem 8 16 mem reg seg 8 16 imm是立即數,reg是暫存器,seg是段暫存器,m...

32位彙編指令 條件傳送指令

條件傳送指令如下 cmoves,d 等於 0時傳送 cmovzs,d 同cmove cmovnes,d 不等於 0時傳送 cmovnzs,d 同cmovne cmovss,d 負數時傳送 cmovnss,d 非負數時傳送 cmovgs,d 有符號大於時傳送 cmovnles,d 同cmovg cmo...