Where is my way?

 

汇编学习笔记(13)MOVZA、MOVSX,XCHG练习

          TITLE Data Transfer Example
INCLUDE irvine32.
inc

.data

val1 WORD 1000h
val2 WORD 2000h
arrayB BYTE 10h,20h,30h,40h,50h
arrayW WORD 100H,200H,300H
arrayD DWORD 100000h,20000H

.code

main PROC

;MOVZX(move with zero-extend)

mov bx,0A69Bh
movzx,eax,bx ;0000A69BH
movzx edx,bl ;00000009H
movzx,cx,bl ;0009H

;MOVSX(move with sign-extend) 没搞懂

mov bx,0A69BH
movsx eax,bx ;FFFFA69BH
movsx edx,bl ;FFFFFF9BH
mov b1,7BH ;bx=FF7BH
mov cx,bl ;cx=007BH


;XCHG(exchange data)
mov ax,val1 ;ax=1000h
XCHG ax,val2 ;ax=2000h,val2=1000h
mov val1,ax ;val1=2000h

;直接偏移寻址

mov al,arrayB ;ax=0010h
mov al,[arrayB+1] ;ax=0020h
mov al,[arrayB+2] ;ax=0030H

;如果是字就加2,双字就加4

main endp

posted on 2011-08-13 00:13  ManLoveGirls  阅读(398)  评论(0)    收藏  举报

导航