Ale*_*eev 5 assembly nasm x86-16
我想用'#'字符替换dbyte中的空格,并且db应该通过堆栈传递给过程。
我已经写了下一个代码片段,并且替换可以正常工作,但是我不明白如何func
正确地将db传递给过程。
org 0x100
push array
call func
mov bp, sp
mov bx, [bp]
ret
loop:
mov al, byte[bx+si]
cmp al, 0
jz func
cmp al , ' '
jnz loop
mov byte[bx+si], '#'
inc si
jmp loop
ret
func:
push bp
mov bp, sp
mov bx, [bp + 4]
call loop
mov [bp + 4], bx
pop bp
ret 4
array db "a b c", 0
Run Code Online (Sandbox Code Playgroud)