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

تازه کار => انجمن تازه‌کاران => نویسنده: efd در 29 امرداد 1387، 03:14 ب‌ظ

عنوان: اشکال کامپایل در لینوکس
ارسال شده توسط: efd در 29 امرداد 1387، 03:14 ب‌ظ

--------------------------------------------------------------------------------

[bits 32]
txbuffer db 0
rxbuffer db 0
crc db 0
command db 0
frame db 0
framewritecompleted db 0
frameRead_7_16 db 0
header db 02h
jmpstart32:
;writefram:
start32:
call make_txbuffer
call make_txbufferdefaultdata
call make_rxbuffer
call make_rxbufferdefaultdata
mov ax,header
;read framebufferfor16channels
;write framebufferfor16channels
call make_frame
call make_framedefaultdata
call add_frametorxbuffer
call read_byteofframefromrxbuffer
call write_byteframetotxbuffer
call display_on_monitor
call make_crc
call add_crctoframe
call check_crc
call send_crctotxbuffer
call set_frameintxbufferwritecompletevalue
call speakeron
end_writeframe:
exit:



وقتی این برنامه را در لینوکس کامپایل می کنم فایل obj را می سازد ولی در قسمت ساختن فایل اجرایی که ld -s -o my file my file.o است پیغام زیر را می دهد

ld: warning : cannot find entry symbol _start;defaulting to 08048080
myfile.o: In function 'start32
frame2.asm:(.text+0x1e):relocation truncated to fit: R_386_16 against .text ):frame2.asm

این برنامه برنامه ی نوشتن روی فریم است به زبان اسمبلی 8086 است وبا NASM روی fedora8کامپایل می شود