rip相对寻址问题
答案:1 悬赏:0 手机版
解决时间 2021-11-26 11:02
- 提问者网友:聂風
- 2021-11-26 00:42
rip相对寻址问题
最佳答案
- 五星知识达人网友:鱼忧
- 2021-11-26 00:58
NASM x86_64的装配在32位模式下:为什么这个instuction产生的RIP相对寻址的代码?
linux assembly x86-64 nasm relative
[bits 32]
global _start
section .data
str_hello db "HelloWorld", 0xa
str_hello_length db $-str_hello
section .text
_start:
mov ebx, 1 ; stdout file descriptor
mov ecx, str_hello ; pointer to string of characters that will be displayed
mov edx, [str_hello_length] ; count outputs Relative addressing
mov eax, 4 ; sys_write
int 0x80 ; linux kernel system call
mov ebx, 0 ; exit status zero
mov eax, 1 ; sys_exit
int 0x80 ; linux kernel system call
这里的事情是,我需要有个招呼字符串的长度传递到Linux的SYS_WRITE系统调用。现在,我很清楚地知道,我可以恶趣,它会工作得很好,但我真的想明白是怎么回事。 所以,基本上 CodeGo.net,当EQU它加载的价值,这很好。str_hello_length equ $-str_hello
linux assembly x86-64 nasm relative
[bits 32]
global _start
section .data
str_hello db "HelloWorld", 0xa
str_hello_length db $-str_hello
section .text
_start:
mov ebx, 1 ; stdout file descriptor
mov ecx, str_hello ; pointer to string of characters that will be displayed
mov edx, [str_hello_length] ; count outputs Relative addressing
mov eax, 4 ; sys_write
int 0x80 ; linux kernel system call
mov ebx, 0 ; exit status zero
mov eax, 1 ; sys_exit
int 0x80 ; linux kernel system call
这里的事情是,我需要有个招呼字符串的长度传递到Linux的SYS_WRITE系统调用。现在,我很清楚地知道,我可以恶趣,它会工作得很好,但我真的想明白是怎么回事。 所以,基本上 CodeGo.net,当EQU它加载的价值,这很好。str_hello_length equ $-str_hello
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯