小编eva*_*njs的帖子

通过x86程序集从argv读取文件名

我正在尝试读取传递给我的可执行文件的文件名并使用程序集写入该文件.它编译时没有错误但在执行时失败.我的代码到底有什么问题?

BITS 32
segment .data
text db "text"

segment .text

global main

main:
pop ebx 
pop ebx
pop ebx    ; pop pointer to filename into ebx
mov eax,0x5  ;syscall open
mov ecx,0x2   ;flag read/write
int 0x80   ;call kernel
mov ebx,eax   ;save returned file descriptor
mov eax,0x4 ; write syscall
mov ecx,text ;mov pointer to text into ecx
mov edx,0x4 ;string length
int 0x80  ;exit syscall
mov eax,0x1
int 0x80
Run Code Online (Sandbox Code Playgroud)

x86 nasm argv

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

标签 统计

argv ×1

nasm ×1

x86 ×1