数据传输示例 Moves.asm
生活随笔
收集整理的這篇文章主要介紹了
数据传输示例 Moves.asm
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
;//數據傳輸示例
.386
.model flat, stdcall
.stack 4096
ExitProcess PROTO, dwExitCode:DWORD.data
val1 WORD 1000h
val2 WORD 2000h
arrayB BYTE 10h, 20h, 30h, 40h, 50h
arrayW WORD 100h, 200h, 300h
arrayD DWORD 10000h, 20000h.code
main PROC
;// 演示 MOVZX 指令(零擴展)
mov bx, 0A69Bh
movzx eax, bx ;// EAX = 0000A69Bh
movzx edx, bl ;// EDX = 0000009Bh
movzx cx, bl ;// CX = 009Bh;// 演示 MOVSX 指令(符號位擴展)
mov bx, 0A69Bh
movsx eax, bx ;// EAX = FFFFA69Bh
movsx edx, bl ;// EDX = FFFFFF9Bh
mov bl, 7Bh
movsx cx, bl ;// CX = 007Bh;// 內存 - 內存交換
mov ax, val1 ;// AL = 1000h
xchg ax, val2 ;// AX = 2000h, val2 = 1000h
mov val1, ax ;// val1 = 2000h;// 直接 - 偏移量尋址(字節數組)
mov al, arrayB ;// AL = 10h
mov al, [arrayB + 1] ;// AL = 20h
mov al, [arrayB + 2] ;// AL = 30h;// 直接 - 偏移量尋址(字數組)
mov ax, arrayW ;// AX = 100h
mov ax, [arrayW + 2] ;// AX = 200h;// 直接 - 偏移量尋址(雙字數組)
mov eax, arrayD ;// EAX = 10000h
mov eax, [arrayD+4] ;// EAX = 20000hINVOKE ExitProcess, 0
main ENDP
END main
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的数据传输示例 Moves.asm的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++11 多线程传参和生产者消费者实现
- 下一篇: 我对汇编中进位和溢出的理解