位置:首頁 > 高級語言 > Assembly彙編 > Assembly彙編 MOVS指令

Assembly彙編 MOVS指令

MOVS指令是用來複製一個數據項(字節,字或雙字)從源字符串到目標字符串。源字符串指出由DS:SI和ES:DI指向目標字符串。

下麵的例子解釋了這個概念:

section	.text
    global _start         ;must be declared for using gcc
_start:	;tell linker entry yiibai
	mov	ecx, len
	mov	esi, s1
	mov	edi, s2
	cld
	rep	movsb
	mov	edx,20	;message length
	mov	ecx,s2	;message to write
	mov	ebx,1	;file descriptor (stdout)
	mov	eax,4	;system call number (sys_write)
	int	0x80	;call kernel
	mov	eax,1	;system call number (sys_exit)
	int	0x80	;call kernel
section .data
s1 db 'Hello, world!',0 ;string 1
len equ $-s1
section	 .bss
s2 resb	20              ;destination

上麵的代碼編譯和執行時,它會產生以下結果:

Hello, world!