# An example of the REP instructions (逐字节地传送字符串)
#
# REP : 按照特定次数重复执行字符串指令,由ECX中的值进行控制。
#
# 和使用循环类似,但是不需要额外的LOOP指令。
#
# REP称为前缀指令。
#
.section .data
value1:
.ascii "This is a test string.\n"
.section .bss
.lcomm output, 23
.section .text
.globl main
main:
nop
leal value1, %esi
leal output, %edi
movl $23, %ecx
cld
rep movsb
push $output
call printf
add $4, %esp
movl $1, %eax
movl $0, %ebx
int $0x80
# gcc -g -o 04 04-rep.s -m32