Assembly彙編 STOS指令

STOS指令使用AL(字節 - STOSB),AX(字 - STOSW)或EAX(對於雙 - STOSD的)數據複製目標字符串,在內存中通過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
loop_here: lodsb or al, 20h stosb
loop loop_here
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 ;source
len equ $-s1
section .bss
s2 resb 20 ;destination


hello, world