gpt4 book ai didi

linux - 汇编程序段失败

转载 作者:太空宇宙 更新时间:2023-11-04 09:00:31 24 4
gpt4 key购买 nike

伙计们,我遇到了问题。我只是想改变这个简单字符串“Hello World”中的一个字母所以我正在尝试像这样给内存单元赋值

.section    .text
string:
.ascii "Hello, world!"
length:
.quad . -string #Dot = 'here'

.globl _start #Make entry point visible to linker
_start:
movl $4, %eax #4=write
movl $1, %ebx #1=stdout
movl $string, %ecx
movl length, %edx
int $0x80 #Call Operating System



movl $98,4(%ecx) #Critical moment why cannot I do this?
movl $98,string(,%ebx,1) #cannot do this too ;(


movl $4, %eax #4=write
movl $1, %ebx #1=stdout
movl $string, %ecx
movl length, %edx
int $0x80





movl $0, %ebx #Make program return syscall exit status
movl $1, %eax #1=exit
int $0x80 #Call System Again

和其他信息我在 x64(linux) 上工作,并通过 linux gas 在 x32 仿真模式下组装它,所以应该没问题,TY 回复

最佳答案

您已将您的字符串放入.text 部分,该部分是只读的。您应该将其放入 .data 部分(但不要忘记为程序代码切换回 .text)。

关于linux - 汇编程序段失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22314223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com