小编cra*_*dr4的帖子

x86内存访问分段错误

出于好奇,我正在学习x86程序集.我目前正在使用基于Linux的操作系统和NASM汇编程序.我很难理解为什么

SECTION .text

global _start

_start:

    nop
    mov ebx, 25
    mov [0xFFF], ebx

   ;Exit the program
   mov eax, 1
   mov ebx, 0
   int 0x80
Run Code Online (Sandbox Code Playgroud)

会导致分段错误(将ebx寄存器的内容移动到内存位置0xFFF时).我认为在纯asm中构建程序会让我无限制地访问我的进程的虚拟地址空间.这不是这种情况吗?

你会如何在汇编中实现类似堆的东西?

linux x86 assembly nasm segmentation-fault

5
推荐指数
1
解决办法
595
查看次数

x86-64管道是否像JMP RAX那样间接跳转?

在x86-64中,如果使用以下汇编代码:

MOV RAX, (memory address)
JMP RAX
Run Code Online (Sandbox Code Playgroud)

管道在执行分支之前是否停止(等待MOV完成RAX),还是像条件分支一样刷新管道?

assembly pipeline x86-64 intel nasm

2
推荐指数
1
解决办法
644
查看次数

标签 统计

assembly ×2

nasm ×2

intel ×1

linux ×1

pipeline ×1

segmentation-fault ×1

x86 ×1

x86-64 ×1