Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Assembler

Страница: 1 |

 

  Вопрос: [NASM] Переправть "Привет Мир" с Линукс Добавлено: 04.09.08 06:03  

Автор вопроса:  Morpheus | Web-сайт: xury.zx6.ru
Хотелось бы узнать, какие различия в программировании и компилировании под винду и под линукс? Нам показали как делать под линукс (ну, показали - сказали скомпилировать вот ЭТО и всё). Под Линухом идёт, а под виндой нет. Мне интересно что не так - несовместимости в коде или в методе компилирования? и какие могут быть налоги для винды во втором случае? Вот мой "привет Мир": (использую NASM)

segment .data ; data segment
msg db 'Hello World! Please enter your ID', 0xA
len equ $ - msg ; length of message

segment .bss ; uninitialized data segment
id resb 10 ; reserve 10 bytes

segment .text
global _start
_start: mov eax, 4 ; select system call 4
mov ebx, 1 ; default output
mov ecx, msg ; pointer to message buffer
mov edx, len ; message length
int 0x80 ; invoke selected system call

mov eax, 3 ; select system call 3
mov ebx, 0 ; default input
mov ecx, id ; input buffer
mov edx, 10 ; length of input
int 0x80

mov eax, 4
mov ebx, 1
int 0x80

exit: mov eax, 1 ; select system call 1
int 0x80


Под линухом, запускается так:

[huron] [/home/y/y_kita] > nasm -f elf fuck.asm
[huron] [/home/y/y_kita] > ld -s -o fuck fuck.o
[huron] [/home/y/y_kita] > ./fuck
Hello World! Please enter your ID
Ender
Ender
[huron] [/home/y/y_kita] >


А как это же запустить под винду? особенно у меня подохрения по поводу " ld -s -o fuck fuck.o". Буу оч признателен - я в асме вообще нуб

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #1 Добавлено: 04.09.08 10:01
ld - это динамический линковщик. В ТАСМе кажись было link.exe.

У тебя должно быть что-то вроде:
c:\>nasm.exe -f win32 fuck.asm
c:\>alink.exe -oPE fuck.obj win32.lib -entry _start

Мог напортачить, но мысль должна быть понтяна.

Остальное читай здесь http://www.wasm.ru/forum/viewtopic.php?pid=254482

Ответить

Номер ответа: 2
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #2
Добавлено: 04.09.08 16:26
Да, я всё думал как слинковать под виндой, ведь в NASM нет никаких других екзешников. Попробую скачать TASM.

А есть разница формата win32 и bin?

как ты, наверное, успел заметить, в комплект поставки насма линкер вообще-то не входит

Вот это уже из цикла "наш народ непобедим!" :-)

А вообще, спасибо!!! Их файлы работают, а линуховские, почему то нет :-\

Ответить

Номер ответа: 3
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #3
Добавлено: 04.09.08 17:40
Ой блин Suse меня убъёт скоро... На ней не было "acceptable C compiler in $PATH" да ещё и RPM -ки ставить не хочет (YaST, на море уехал на лето :))

Ответить

Номер ответа: 4
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #4
Добавлено: 05.09.08 13:48
Убунту ставь =)

Ответить

Номер ответа: 5
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #5
Добавлено: 05.09.08 21:44
ага, есчо FreBSD s KDE2 :))

Уже поставил Федору 9 :))
Настроил nasm, запихал ей какую-то dll-ку в кишки чтоб она поддерживала mp3 формат :) теперь всё ништяк

Ответить

Номер ответа: 6
Автор ответа:
 VerhoLom



Вопросов: 20
Ответов: 285
 Профиль | | #6 Добавлено: 07.09.08 16:27
На www.lowlevel.ru есть пара статей как программить на НАСМе под виндой

Ответить

Номер ответа: 7
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #7
Добавлено: 07.09.08 19:30
"Разработка операционных систем. Выпуск 25. -- 16.02.2004 NEW! " гыгы :)))

Под виндой у меня пока тяжеловато... Хотя в Delphi вставки работают и ладно. главное изучить архитектуру и всё будет пучком.

Ответить

Номер ответа: 8
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #8
Добавлено: 19.09.08 15:17
Программирование под виндой на ассемблере я тебе бы посоветовал начинать с MASM'а, а вернее пакета MASM32 SDK:
http://www.masm32.com/masmdl.htm

После первых hello-world'ов можешь переходить на nasm/fasm/wasm словом на что хочешь, если конечно захочешь уходить с masm )))

Ответить

Номер ответа: 9
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #9
Добавлено: 19.09.08 15:18
Да, и не пользуйся встроенным редактором кода в masm32, скачай и поставь сразу себе IDE RadASM - будет тебе счастье!

Ответить

Номер ответа: 10
Автор ответа:
 VerhoLom



Вопросов: 20
Ответов: 285
 Профиль | | #10 Добавлено: 28.09.08 15:24
mc-black пишет:
Да, и не пользуйся встроенным редактором кода в masm32, скачай и поставь сразу себе IDE RadASM - будет тебе счастье!

А мне под MASM32 нравится WinASM Studio ...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам