小编Car*_*ral的帖子

如何将C中的NULL推入汇编中的堆栈?

我正在用汇编语言编写用于冒泡排序的冒泡排序,并且正在使用strtok()对字符串进行标记化。但是,在第一次调用strtok(str,“”)之后,我需要将NULL作为参数传递,即strtok(NULL,“”)

我已经在.bss段中尝试了NULL equ 0,但这没有任何作用。

[SECTION .data]

[SECTION .bss]

string resb 64
NULL equ 0

[SECTION .text]

extern fscanf
extern stdin
extern strtok

global main

main:

    push ebp        ; Set up stack frame for debugger
    mov ebp,esp
    push ebx        ; Program must preserve ebp, ebx, esi, & edi
    push esi
    push edi

    push cadena
    push frmt
    push dword [stdin]      ;Read string from stdin
    call fscanf
    add esp,12              ;clean stack

    push delim
    push string             ;this works
    call strtok
    add esp,8               ;clean stack …
Run Code Online (Sandbox Code Playgroud)

c x86 assembly nasm

0
推荐指数
1
解决办法
200
查看次数

标签 统计

assembly ×1

c ×1

nasm ×1

x86 ×1