数据传输示例 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 多线程传参和生产者消费者实现
- 下一篇: 我对汇编中进位和溢出的理解