Nasm MOVS指令

MOVS指令是用来复制一个数据项(字节,字或双字)从源字符串到目标字符串。源字符串指出由DS:SI和ES:DI指向目标字符串。

下面的例子解释了这个概念:

section    .text
global _start ;must be declared for using gcc
_start:    ;tell linker entry bytekits
    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!
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by bytekits.com,汇天下文字,成非凡梦想!!!