Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2011, 16:18   #1
lomo4el
Новичок
Джуниор
 
Регистрация: 02.01.2011
Сообщений: 8
Восклицание Вопрос по софту (не судите строго)

Всем доброго дня и с новым годом))
Пару дней назад начал изучать asm. По многочисленным советам курю книжку Калашникова. Дошел до того самого момента где компилится 1ая программа, а именно

Код:
CSEG segment
org 100h

Begin:
mov ah, 9
mov dx, offset Message
int 21h

int 20h

Message db 'Hello, world!$'
CSEG ends
end Begin
А теперь о проблемах, скорее всего они все возникли из за недопонимания какой asm где работает))
Как я понял компиляторов для asm (популярных) 3 штуки FASM TASM WASM. FASM замечательно запустился ввел код программы, жму run он предлагает куда сохранить -я указываю путь, и выскакивает окно с ошибкой и в графе intstruction 'CSEG segment' и все исходники которые я пытаюсь запустить вылетают с ошибкой где указана первая строка кода.
Tasm вообще не хочет запускаться не из под под win7 32 win 7 64, жму на exe и в долю секунды появляется и исчезает окно cmd. В wasm работает все, даже слишком много, так и не понял каким из 20 exe запускается программа. Теперь по поводу debug, у меня Ollydbg, asm файлы он открывать отказывается (моей первой программы), а как сделать exe в мануале я не нашел >_< представляю как опытные ребята будут смеяться прочитав мой пост, но я уже просил не судить строго))) я в этом 2ой день. Надеюсь что поможете. Заранее благодарю.

Поменял код программы на
Код:
 org 100h
 mov ah, 9
 mov dx, Message
 int 21h

 int 20h

 Message db 'Hello, world!$'
Теперь при попытке запуска выскакивает окно что это 16ти битная программа и на 64х разрядных системах она не работает.



зы: моя ос windows7 x64 хочу писать для всего linux windows x32 x64

Последний раз редактировалось lomo4el; 02.01.2011 в 17:02.
lomo4el вне форума Ответить с цитированием
Старый 02.01.2011, 16:54   #2
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Для начала ответьте для какой ОС вы хотите писать - для ДОС или винды. Почти все начинающие, кого спрашивают, говорят что под винду, а в итоге оказывается что под дос
Код, который вы привели, а так же все то что описывается в статьях калашникова - все для доса. А конкретно для компиляторов tasm или masm.
Надеюсь как пользоваться консолью cmd вам не нужно рассказывать, поэтому сразу к делу. Я пользуюсь компилятором масм, поэтому все описанное для него. Скачать можно на оффсайте - http://www.masm32.com/masmdl.htm
Это новый масм и чтобы писать на нем программы для дос нужен старый линковщик. Можете скачать тут - http://programmersforum.ru/attachmen...1&d=1269195049 Положите его в папку bin вместе с остальными exe.

Положите асм файл в папку, где находится exe у компилятора. Далее в консоли перейдите нее и наберите :
Цитата:
ml /c proga.asm
doslnk /t proga.obj
Если на какой-либо команде возникла ошибка, то ее нужно почитать попробовать понять самому, поискать в гугле что она означает ну или спросить тут на крайняк
Ну и тут еще можете почитать - http://www.cyberforum.ru/assembler/thread57107.html
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 02.01.2011, 17:12   #3
lomo4el
Новичок
Джуниор
 
Регистрация: 02.01.2011
Сообщений: 8
По умолчанию

ms dos это же старая ОС, честно говоря не понимаю смысл на ней программировать((
lomo4el вне форума Ответить с цитированием
Старый 02.01.2011, 17:17   #4
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

В ней проще учится. Ну хотя бы потому что литературы гораздо больше.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 02.01.2011 в 17:20.
Goodwin98 вне форума Ответить с цитированием
Старый 02.01.2011, 17:22   #5
lomo4el
Новичок
Джуниор
 
Регистрация: 02.01.2011
Сообщений: 8
По умолчанию

а как из win перейти в dos?
Изучаю книги так- сначала читаю до конца ,потом уже внимательно перечитываю. И там подразумевается что я уже работаю в ms dos, но я никогда в нем не работал(( может есть мануалы какие нибудь по нему, буду курить.

Программирование на Ms-dos не сильно отличается от программирования в win? Стою на том самом месте когда пытаюсь вникнуть что именно изучать.

И что за папка bin ? ее нужно самому создать или она уже где то создана? если самому то где?)

Последний раз редактировалось lomo4el; 02.01.2011 в 17:26.
lomo4el вне форума Ответить с цитированием
Старый 02.01.2011, 17:26   #6
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
а как из win перейти в dos?
В винде есть встроенный эмулятор доса. Достаточно просто запустить дос программу. Если этот эмулятор не справляется(в нем много косяков на самом деле, но для большинства задач хватало), тогда использовать программы вроде DosBox.

А знать по нему вам нужно разве что про команды dir(показать содержимое текущего каталога) и cd(перейти в нужный каталог), ну и что такое параметры командной строки.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 02.01.2011 в 17:29.
Goodwin98 вне форума Ответить с цитированием
Старый 02.01.2011, 17:28   #7
lomo4el
Новичок
Джуниор
 
Регистрация: 02.01.2011
Сообщений: 8
По умолчанию

Кое что дописал в предыдущем посту) дос файлы это как я понял файлы .com , у меня вообще не один не запускается при нажатии на него((
masm тоже из под доса нужно запускать? он вообще не запускается
lomo4el вне форума Ответить с цитированием
Старый 02.01.2011, 17:34   #8
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
masm тоже из под доса нужно запускать? он вообще не запускается
Нет из под доса не обязательно, но в консоли нужно. Я же написал.
В win7 x64 не работал, так что ничего сказать не могу, но в любом случае эмулятор поможет.
"Он вообще не запускается" - это не описание проблемы.
Программирование в дос, в windows и linux абсолютно разные вещи. Так что все сразу не охватите никак.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 02.01.2011, 17:39   #9
lomo4el
Новичок
Джуниор
 
Регистрация: 02.01.2011
Сообщений: 8
По умолчанию

Цель изучения языка - написание драйверов, крякинг/защита по, написание вирусов/антивирусов или хотя бы понимание как они функционируют. Это dos?)
lomo4el вне форума Ответить с цитированием
Старый 02.01.2011, 18:07   #10
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

В досе вы поймете основы. При написании программы под винду много лишнего отвлекает внимание. Вы конечно можете и сразу начать там, но вот лично я не припоминаю полноценной литературы для начинающего, которая помогла бы вам.

Да все то что вы перечислили можно делать и в досе, но понятно что это будут драйвера и программы, написанные для этой ос, которые неактуальны
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ Ток начал несудите строго Donatello Помощь студентам 16 27.12.2010 00:46
Ввод и обработка строго одного символа Кипящий чайник Общие вопросы C/C++ 16 04.12.2010 16:43
Посмотрите мою первую прогу(я новичок, не судите строго:)) просто Слава Софт 3 07.11.2010 12:49
Поиск значения по строго заданным условиям поиска (Excel 2003) Vladsgs Microsoft Office Excel 1 25.05.2010 14:53