انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: efd در 27 امرداد 1387، 08:02 ب‌ظ

عنوان: errدر linux در زبان اسمبلیerror segmentation
ارسال شده توسط: 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 اجرا می کنم
عنوان: پاسخ به: errدر linux در زبان اسمبلیerror segmentation
ارسال شده توسط: فاراب در 27 امرداد 1387، 08:28 ب‌ظ
اگه امکان داره به صورت خوانا تر توضیحات رو بفرمایید و کد برنامه رو هم چپ چین کنید.
عنوان: پاسخ به: errدر linux در زبان اسمبلیerror segmentation
ارسال شده توسط: علیرضا طالقانی در 30 امرداد 1387، 10:35 ق‌ظ
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 رو داریم راحت کامپایل می کنم و البته اجرا!  پس مشکل از سورس کد شما باید باشه!
و با توجه ب اینکه کد شما در موقع کامپایل مشکل نداره و فقط در زمان اجرا مشکل پیدا می کنه!‌ باید در تخصیص های دینامیک ب احتمال زیاد ب دنبال مشکل بگردی!
سعی می کنم کد ات رو ی بازخونی کنم! ببینم متوجه میشم یا نه!    ](*,)  سخت است! اسمبلی  ::)