انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: efd در 27 امرداد 1387، 08:02 بظ
-
errدر linux در زبان اسمبلیor segment
ation fault--------------------------------------------------------------------------------
برنامه را وقتی کامپایل میکنم در مرحله اجرا error segmentation fault می گیرد
به این صورت کامپایل می کنم که اول مسیر را میدهم 2. nasm -f elf file name.asm
3. ld -s -o file name file name.o
4.file name/. که error segmentation fault میدهد
section .data
message db 'salam','$',5
section .text
global _start
_start:
mov ax,0b800h
mov es,ax
jmp message1
mov ah,06
int 80h
int 80h
message1: mov cx,5
cld
back2: lodsb
mov ah,0eh
stosw
loop back2
mov eax,1
mov ebx,0
int 80h
فایل motif را هم می سازد
می توانید بگویید اشکال چیست
برنامه را با اسمبلی 8086 نوشتم و لینوکس را در fedora8 اجرا می کنم
-
اگه امکان داره به صورت خوانا تر توضیحات رو بفرمایید و کد برنامه رو هم چپ چین کنید.
-
section .data
message db 'salam','$',5
section .text
global _start
_start:
mov ax,0b800h
mov es,ax
jmp message1
mov ah,06
int 80h
int 80h
message1: mov cx,5
cld
back2: lodsb
mov ah,0eh
stosw
loop back2
mov eax,1
mov ebx,0
int 80h
این کد اتو رو هم روی nasm تست کردم و البته همون طوری که خودتون هم نوشتید ! اشکال در تخصیصی صفحه داریم!
با توجه ب اینکه برنامه هایی معمولی مثل HelloWord رو داریم راحت کامپایل می کنم و البته اجرا! پس مشکل از سورس کد شما باید باشه!
و با توجه ب اینکه کد شما در موقع کامپایل مشکل نداره و فقط در زمان اجرا مشکل پیدا می کنه! باید در تخصیص های دینامیک ب احتمال زیاد ب دنبال مشکل بگردی!
سعی می کنم کد ات رو ی بازخونی کنم! ببینم متوجه میشم یا نه! ](*,) سخت است! اسمبلی ::)