---
# System prepended metadata

title: Untitled

---

逆向学习笔记

寄存器间接寻址，数组操作

```
# moving_immediate_data: move immediate data between registers & memory


.section .data
	constants:
		.int 5, 8, 17, 44, 50, 52, 60, 65, 70, 77, 80

.section .text
    .global _start

_start:
    nop             # used for debugging purpose

jian_jie_xun_zhi:
    movl constants, %eax	# 将constants的值移动到eax中
	movl $constants, %edi	# 将constants变量的内存地址移动到edi中
	movl $25, 4(%edi)		# 将立即数25移动到edi指针
	movl $1, %edi			# load 2nd index constants 
	movl constants(, %edi, 4), %ebx

exit:
    movl $1, %eax   # sys_exit system call
    movl $0, %ebx   # exit code 0 indicates successful execution
    int $0x80       # call sys_exit


