ورود

View Full Version : nasm error



amir_civil
سه شنبه 19 آذر 1387, 16:48 عصر
با سلام
من برای استفاده از یه api ویندوز باید مقداری رو به عنوان ورودی بهش بدم در nasm
همونطور که میدونید در nasm مثلmasm نمیشه از dup اشتفاده کرد و من هم اینو نوشتم از روی help nasm


stack resb 256
در قسمت _data ولی کار نمیکنه و برنامه بسته میشه
ایا اشتباه تعریف کردم؟


%include '..\..\..\inc\nasmx.inc'
%include '..\..\..\inc\win32\windows.inc'
%include '..\..\..\inc\win32\kernel32.inc'
%include '..\..\..\inc\win32\user32.inc'

entry demo1

[section .text]
proc demo1
invoke GetSystemDirectoryA,path,256
invoke ExitProcess, dword NULL
ret

endproc

_data

path: RESB 256

hoax3r
سه شنبه 19 آذر 1387, 17:57 عصر
یه مشکل اینه که سکشن data_ برای متغییر هایی هست که از قبل مقدار دهی شدن
شما از resb برای تعریف متغییری که مقدار دهی نشده استفاده کردین برای همین مشکل ساز شده
این قسمت باید در سکشن bss. تعریف بشه


[section .bss]
path: RESB 256

دوم اینکه بهتره هدر فایلها رو مسیرشون رو کامل بنویسی الان این که تعریف کردی از هر جایی قابل اجرا نیست

شاد باشید