データ転送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 = 20000h

INVOKE ExitProcess, 0
main ENDP
END main
公開された105元の記事 ウォン称賛24 ビュー40000 +

おすすめ

転載: blog.csdn.net/Kwansy/article/details/104883759