linux - 当我将 esp 移入 ebp 时,我在程序集中遇到分段错误(核心转储),我该如何解决这个问题?
问题描述
所以我开始学习汇编,到目前为止只是基础知识。我一直在测试我能做什么,我正在测试的其中之一是堆栈,但每次我尝试将 esp 移动到 ebp 以保留堆栈的状态时,我都会在终端中收到一条消息,提示“分段错误(核心转储)”。
section .data
msg: db "line 1 executed", 10
msg_L: equ $-msg
msg_M: db "line 2 executed", 10
msg_ML: equ $-msg
section .text
global _start:
thing:
mov eax, 4
mov ebx, 1
mov ecx, msg_M
mov edx, msg_ML
int 80h
mov ebp, esp
mov esp, ebp
ret
_start:
mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, msg_L
int 80h
call thing
jmp end
end:
mov eax, 1
mov ebx, 0
int 80h
正如你在这里看到的,我只是在测试如果我将 esp 移到 ebp 会发生什么。无论如何,如果有人能告诉我这个问题,那将是一个很大的帮助。
PS这是我运行它时所说的:
line 1 executed
line 2 executed
.shstrtab.textSegmentation fault (core dumped)
解决方案
推荐阅读
- javascript - 即使 localStorage 为空,也超出了 localStorage 配额
- javascript - 为什么我不能在 useEffect 之外创建订阅?
- css - 如何通过一些装饰将 div 放入更大的 div 中?
- ag-grid - Ag Grid 错误:找不到 bean 引用 focusController
- php - 无法使用 laravel 应用程序和 unix 套接字从应用程序引擎 php 标准环境连接到云 mysql
- java - 在运行时使用 Eclipse 编译外部 Java 文件
- google-apps-script - 如何在 Google 表格的 3 张表格之间有条件地移动行?
- javascript - 根据布尔值更改几个CSS
- python - 从 Python (ctypes) 向 PARI/GP 发送多项式
- python - 我正在尝试排序并设置一个字符串以查看它是否与字母表匹配。如果是,我想返回 True 但它返回 False