Linux使用strlen编译,strlen in NASM Linux
對不起再打擾一下.我正在努力了解學習集會語言.但是我有很多問題.我正在嘗試使用NASM中的字符串.我已將字符串常量復制到字符串變量.最大大小為50.所以我想驗證這個綁定.但是這個程序會引發分段錯誤.我在MASM中使用了一個示例,因此可能存在使用NASM語法的使用錯誤.
我的計劃如下:
section .data
MAXTEXTSIZE equ 50
_cte_hola db "Hola",0
_cte_mundo db "Mundo",0
section .bss
MAIN_d resb MAXTEXTSIZE+1
section .text
global _start
strlen:
mov bx,0
strl01:
cmp WORD [SI+BX],0 t
je strend
inc bx
jmp strl01
strend:
ret
strcpy:
call strlen
cmp bx,MAXTEXTSIZE
jle copiarsizeok
mov bx,MAXTEXTSIZE
copiarsizeok:mov cx,bx
cld
rep movsb
mov al,0
mov BYTE [DI],al
ret
_start:
mov ds,ax
mov es,ax
mov si,[MAIN_d]
mov di,[_cte_hola]
call strcpy
mov eax,1
mov ebx,0
int 80h
提前謝謝,對不起.我的問題對于匯編程序員來說是愚蠢的.
總結
以上是生活随笔為你收集整理的Linux使用strlen编译,strlen in NASM Linux的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DirectX修复工具出现0xc0000
- 下一篇: 金格iweboffice axios上传