Родились сегодня:
vladymyrlem
antonovich


Лидеры рейтинга

ID: 226425

Konstantin Shvetski

Модератор

740

Россия, Северодвинск


ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

322

Россия, пос. Теплоозёрск, ЕАО


ID: 401284

Михаил Александров

Академик

277

Россия, Санкт-Петербург


ID: 325460

CradleA

Мастер-Эксперт

210

Беларусь, Минск


ID: 137394

Megaloman

Мастер-Эксперт

129

Беларусь, Гомель


ID: 400815

alexleonsm

6-й класс

129


ID: 400669

epimkin

Профессионал

119


8.8.15

09.05.2021

JS: 2.8.21
CSS: 4.5.5
jQuery: 3.6.0
DataForLocalStorage: 2021-05-13 03:16:01-standard


Создание программ на языке Assembler.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

Консультация онлайн # 200394

Раздел: Assembler
Автор вопроса: svo (Посетитель)
Дата: 07.03.2021, 19:43 Консультация закрыта
Поступило ответов: 1

Здравствуйте! У меня возникли сложности с таким вопрос:
Какой компилятор нужен под NASM в LINUX. И на каком аsм можно писать под linux?

Здравствуйте, svo!

NASM уже компилятор под linux.

Когда Вы задавали этот вопрос, У Вас перед глазами была информация:


Здравствуйте, уважаемый посетитель!

Вас приветствует команда экспертов рассылки "Assembler (Ассемблер)".
Мы поможем Вам найти ответ на Ваш вопрос по программированию на языке Ассемблера.
Для того, чтобы у экспертов не возникало дополнительных вопросов,
большая просьба прочитать памятку "Как задать вопрос".
Успехов в программировании на языке ассемблера!(И.В.Лысков)

Рекомендуемые ресурсы Интернета:
. . .
Книги по Ассемблеру
. . .
Книги по WinAPI (на С)
. . .

Информация от Администратора раздела:

Найдите их(желательно в твердом издании), тогда Вы будете иметь возможность, при их прочтении и изучении, оставлять свои комменты, которые Вам помогут потом.

Это минимум, который Вы должны прочесть, дальше будет больше, Одним словом Вам Читать, Изучать, Практиковать!.
Удачи!

Зенченко Константин Николаевич

Старший модератор
11.03.2021, 16:32
Мини-форум консультации # 200394

q_id

Сергей Фрост

Управляющий

ID: 143894

1

= общий =    07.03.2021, 20:59
svo:

Насколько я понимаю NASM работает и в видовс, и в линукс, и в макос, и в ДОС и даже в колибри.
А программировать можно не только в NASM, но и в FASM, и в GNU - тут уж выибать вам самому. На вкус и цвет товарищей нет.

=====
Устав – есть устав! Если ты устав – то отдыхай!

q_id

svo

Посетитель

ID: 404853

2

= общий =    08.03.2021, 00:39
Сергей Фрост:

прошу прощения! я наверно не правильно задал вопрос. хотел узнать! приложения или программы (для проверки кода) nasm. наверно так.
вообще куча вопросов?
есть разница если я буду писать на nasm под linux то программа будет делать то что мне надо под другой ос?
ДА!
супер!!! подскажите пожалуйтста какой язык проще и какого больше функционала?
или они все равны по функционалу?
калибри не знаю

q_id

Сергей Фрост

Управляющий

ID: 143894

3

= общий =    08.03.2021, 10:31
svo:

Как говаривали древние греки: "Правильно сформулированный вопрос - это 70% ответа".
Если у вас куча вопросов - попробуйте их однозначно сформулировать, что бы эксперты вас поняли, что вы хотите, а не догадывались. Потому, что если "дурной" вопрос, то и шанс получить "дурной" ответ высок.
Как говорили в КВН: "Потому что гладиолус". smile
На счет простого языка, то по моему разумению, следует начинать с JavaScript и Python. Ассемблер, по моему, не самый лучший язык для первоначального изучения.
А вообще, выбор языка определяет та область, в которой вы хотите чего-то достичь с помощью кодинга.
И в конце, раз вы не знате, что такое колибри, начинайте учить матчасть - без этого не стать вам прграммером. smile

Последнее редактирование 09.03.2021, 11:38 Сергей Фрост (Управляющий)

=====
Устав – есть устав! Если ты устав – то отдыхай!

q_id

svo

Посетитель

ID: 404853

4

= общий =    08.03.2021, 22:15
Сергей Фрост:

Согласен! Насчет не правильного вопроса!
Дело в том, что я отучился на программиста и даже закончил! Но так как не было практики (имеем что имеем)! теперь хочу восстановить упущенное!
Проходил другие языки программирования! И решил начать с асм!
Думаете рановато? Надо начать с верхнего уровня?! smile

q_id

Сергей Фрост

Управляющий

ID: 143894

5

= общий =    09.03.2021, 09:48
svo:

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

Ну и так далее.

Последнее редактирование 09.03.2021, 10:36 Сергей Фрост (Управляющий)

=====
Устав – есть устав! Если ты устав – то отдыхай!

svo

Зенченко Константин Николаевич

Старший модератор

ID: 31795

6

= общий =    09.03.2021, 10:47
svo:

Какой компилятор нужен под NASM в LINUX. И на каком аsм можно писать под linux?

svo

NASM - уже компилятор.

программа будет делать то что мне надо под другой ос?

svo

Несмотря на то, что он кроссплафоменный:

Операционная система Linux, Mac OS, Windows, DOS, KolibriOS


НЕТ.
Все эти ОСи используют разные принципы вызова системных функций
  • nux-ы используют SYSCAll(int 80h);
  • Windows -библиотеки;
  • DOS - прерывания;
  • Mac OS - ничего не скажу, т.к. не писал под неё, но там отличается процессор, он больше похож на ARM, чем на х86. Да некоторое время Mac OS портировалась под х86, но потом они снова вернулись к своему процессору.

Или другими словами под каждую ОСь Вам нужно будет пересобирать свою программу с учетом особенностей ОСи.

Проходил другие языки программирования! И решил начать с асм!
Думаете рановато? Надо начать с верхнего уровня?!

svo

Само программирование это больше занне алгоритмов, особенностей ОСи, чем синтаксиса.
Если говорить о кроссплатформенности то тут больше подходят скриптовые языки, т.к. они запускаются в виртуальных машинах, и каждую ОСь ВМ уже написана.

Последнее редактирование 09.03.2021, 12:35 Зенченко Константин Николаевич (Старший модератор)

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

svo

Сергей Фрост

Управляющий

ID: 143894

7

= общий =    09.03.2021, 14:21
Зенченко Константин Николаевич, svo:

Если уж копнуть совсем глубоко - программер должен знать и уметь.
Знать:
1. Дискретную математику.
2. Комбинаторную оптимизацию и методы оптимизации.
3. Функции и математическую индукцию.
4. Линейную алгебру.
5. Теорию вероятностей и математическую статистику.
ЭТО ФУНДАМЕНТ

Также не помешает:
6. Базовые знания об операционных системах.
7. Основные знания о платформе, на которой вы хотите работать.
8. Знание баз данных.
9. Знание английского языка на уровне Intermediate и выше.
И заметьте, что я нигде не написал изучить ЯП.

Теперь уметь (с этим как раз основные трудности):
1. Аналитически мыслить.
2. Знать как писать чистый код.
3. Стремится быть лучше, знать больше.
4. И главное, любить то, что делает.





Последнее редактирование 09.03.2021, 14:24 Сергей Фрост (Управляющий)

=====
Устав – есть устав! Если ты устав – то отдыхай!

Сергей Фрост

Зенченко Константин Николаевич

Старший модератор

ID: 31795

8

= общий =    09.03.2021, 14:41
Сергей Фрост:

Если уж копнуть совсем глубоко

Сергей Фрост

Ну это advance level, и это прийдет современем и с накопленным опытом.
Я как-то писал(может и не на портале), что программирование - постоянное самобучение.
smile


Знание английского языка на уровне Intermediate и выше

Сергей Фрост

А что его учить там все слова с С/С++
smile

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Сергей Фрост

Сергей Фрост

Управляющий

ID: 143894

9

= общий =    09.03.2021, 19:42
Зенченко Константин Николаевич:

Костик, кто бы спорил. smile

Просто последнее время ты сам видишь на портале вопросы типа чё мне учить, чёбы быстро башлять. А башлять получается только профессионалам, которые все эти ступени проходят своим потом и кровью.

И если хочешь быть хорошим программистом, то я считаю, что главное не знания, а умения - с которыми как правило и возникают большие сложности.
Как, например, у того же САИДа, который и двух слов сформулировать не может, не говоря уже об умении логически мыслить - какой тут, млин, программист из него получится.

Последнее редактирование 09.03.2021, 19:46 Сергей Фрост (Управляющий)

=====
Устав – есть устав! Если ты устав – то отдыхай!

Сергей Фрост

Зенченко Константин Николаевич

Старший модератор

ID: 31795

10

= общий =    09.03.2021, 21:16
Сергей Фрост:

Костик, кто бы спорил.

Сергей Фрост

Я и не спорю.

Любой кодер, который хочет быть хорошим, должен понимать, что

Быстро только кошки плодятся




И если хочешь быть хорошим программистом, то я считаю, что главное не знания, а умения - с которыми как правило и возникают большие сложности.

Сергей Фрост

Знания, они приходят с опытом, к примеру я прочитал несколько книг по функциям, не важно каким, думаеш я на вскидку скажу какие параметры у той или иной функции, если я её постоянно не юзаю. Но я помню, что где-то там есть её описание, Пару раз, наступив на "грабли", я запомню, что там N параметров, а при постоянном использовании уже знаеш, что куда ложить.
smile

Меня еще в школе "приручили"(было у нас УПК(учебно производственный комплекс)) - любая последовательность действий реализованная в блок-схеме - является алгоритмом.
И алгоритмами мы занимаемся, даже не подозревая об этом. К примеру пришли гости, что делать: эврика - чаем напоить, ну или кофе(условие), напоняем чайник(в цикле -> полный = выход, иначе ждем), кипятим(в цикле -> закипело = выход, иначе ждем) разливаеш по чашкам, всем досталось(условие - нет снова goto => чайник).
Чем не блок-cхема, чем не алгоритм?

Delphi -код, вообще живет своей жизнью, в прочем как и любой код под "Окна", но в С/С++ этого "хлама" меньше.
smile
Если в Delphi кодер не прописывает свой обработчик события, компилятор подставляет свой - стандартный, в С/С++ - если обработчик не прописан, то его обрабатывает ОСь. Тем не мение я люблю Pascal, в любом его виде.
smile

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Сергей Фрост

svo

Посетитель

ID: 404853

11

= общий =    09.03.2021, 23:38
Экспертам раздела:

САПАСИБО ВАМ!
хоть где то мне ответили! А то все ищи сам! я ищу и ищу! и вас нашёл!!! ещё раз спасибо!!! уже прочитал пару книг по лунуксу! перед мной стоит выбор из трех языков python, c или c++ и асм!!! но как я думаю что истину я найду асм!!! и как понимаю не скоро!!! может год, а может...

Просто последнее время ты сам видишь на портале вопросы типа чё мне учить, чёбы быстро башлять. А башлять получается только профессионалам, которые все эти ступени проходят своим потом и кровью.


Я согласен с высказываниями с Сергеем про пот и кровь!!! Я упустил 10 лет. и не жалею другой опыт тоже опыт!! не суть.
есть ещё один вопрос!!! наверно ключевой!!!
в языке асм как я понимаю выполняется то что я написал, что мне надо (к примеру я хочу что бы программа которую я написал выполняла: при нажатии пробела выводила ПРИВЕТ ДРУГ ....) и опять как я понимаю что программы написанные на асм выполняют те задачи которые прописаны в коде!!! и роли не играет какая ОС стоит!!!!
другое дело если я хочу писать под определённую ОС программу. тогда мне надо знать её архитектуру!!!

Сергей Фрост

Сергей Фрост

Управляющий

ID: 143894

12

= общий =    10.03.2021, 10:46
svo:

Мне не совсем понятно какую истину вы собрались искать в асме, но это ваше решение. Я обычно смотрю на цели, которые и определяют выбор.
Упущенных лет уже конечно не вернешь, а 10 лет (если вам около 40) - это большой срок, так что готовьтесь начинать все с нуля.

=====
Устав – есть устав! Если ты устав – то отдыхай!

Зенченко Константин Николаевич

Зенченко Константин Николаевич

Старший модератор

ID: 31795

13

= общий =    10.03.2021, 11:03
svo:

и роли не играет какая ОС стоит!!!!

svo

Вы наверное не читаете, что Вам пишут.

НЕТ. Все эти ОСи используют разные принципы вызова системных функций

Зенченко Константин Николаевич


код *NIX:
Код [Assembler]
mov ax, 4
mov bx, 1
mov cx, PlInNumMsg
mov dx, LenPlInNumMsg
int 0x80


код DOS:
Код [Assembler]
mov ah,0x40
mov bx,1
mov cx, LenPlInNumMsg
mov dx, PlInNumMsg
int 0x21


Два этих кода делают одно и тоже - выводт на экран строку, но под разные ОСи. Заметьтев в регистрах разные значения, единственное, что совпадает, это StdOut = 1 в ВХ, но это наследие от общего предка.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Зенченко Константин Николаевич

Сергей Фрост

Управляющий

ID: 143894

14

= общий =    10.03.2021, 14:23
svo:

Вы наверное не читаете, что Вам пишут.

Зенченко Константин Николаевич

Что-то мне подсказывает, что трудно вам придется в программировании smile
Нет системности и скрупулезности (дотошности) - зачем лезть в программеры?

=====
Устав – есть устав! Если ты устав – то отдыхай!

Зенченко Константин Николаевич

svo

Посетитель

ID: 404853

15

= общий =    10.03.2021, 22:42
Зенченко Константин Николаевич:


То что вы описываете. про вызовы функций, это замечательно! я понимаю о чём идёт речь! меня интересует вызовы функций протоколов TCP/UDP (IP) под которые хочу написать код (состав)!
программу которую я представляю это целый поезд который состоит из составов (блоков) которые работают отдельно но в тоже время взаимодействуют друг с другом дистанционно и если надо все составы собираются в один поезд (это всё абстрактно)

Зенченко Константин Николаевич

svo

Посетитель

ID: 404853

16

= общий =    10.03.2021, 22:51
Сергей Фрост:


Что-то мне подсказывает, что трудно вам придется в программировании smile
Нет системности и скрупулезности (дотошности) - зачем лезть в программеры?

я знаю! то что я задумал! это точно!

Если уж копнуть совсем глубоко - программер должен знать и уметь.
Знать:
1. Дискретную математику.
2. Комбинаторную оптимизацию и методы оптимизации.
3. Функции и математическую индукцию.
4. Линейную алгебру.
5. Теорию вероятностей и математическую статистику.
ЭТО ФУНДАМЕНТ

Также не помешает:
6. Базовые знания об операционных системах.
7. Основные знания о платформе, на которой вы хотите работать.
8. Знание баз данных.
9. Знание английского языка на уровне Intermediate и выше.
И заметьте, что я нигде не написал изучить ЯП.

Теперь уметь (с этим как раз основные трудности):
1. Аналитически мыслить.
2. Знать как писать чистый код.
3. Стремится быть лучше, знать больше.
4. И главное, любить то, что делает.

и то что вы здесь перечислили это наверно 1/3 , а может 1/5 того что мне нужно изучить!!!
Спасибо!!!


Прошу прощение за то, что не всё суть излагаю!!!

а по линукс я с вами согласен что могу загубить ж/д! время мало!! smile

svo

Зенченко Константин Николаевич

Старший модератор

ID: 31795

17

= общий =    10.03.2021, 23:34
svo:

то что вы здесь перечислили это наверно 1/3 , а может 1/5 того что мне нужно изучить!!!

svo

Да ВЫ просто оптимист!!!!!!
smile

Для Ваших целей:

программу которую я представляю это целый поезд который состоит из составов (блоков) которые работают отдельно но в тоже время взаимодействуют друг с другом дистанционно и если надо все составы собираются в один поезд

svo


Из того, что Вы перечислили: это не 1/3, не 1/5 и даже не 1/10, это 1/1'000, если не 1/1'000'000.

Вам нужно изучить уровни протоколов TCP(их больше чем ОДИН), сами протоколы, т.к. асм позволяет принять кучу байт, а вот как из этой кучи хлама извлекать полезную информацию, тут нужен опыт. Без него никак.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

svo

svo

Посетитель

ID: 404853

18

= общий =    15.03.2021, 22:37
Зенченко Константин Николаевич:

наверно оптимист?!
я везде вижу закономерности! к примеру возьмем машину! вся инфо. записана в виде 1 и 0 (роли не играет какие символы +/-, м/ж., мастер -подченёный не суть)
ВОПРОС? какая разница какая ОС стоит на том или ином (сервере, ПК) если мне нужно знать что происходит на машине??? в первую очередь я смотрю на эти вещи примитивно (да либо нет)! то что мне надо (для души) это не написание программ под определённую ОСЬ!!! я смотрю шире!
и ещё раз спасибо за то что вы отвечаете!!!!!

svo

svo

Посетитель

ID: 404853

19

= общий =    15.03.2021, 22:45
Сергей Фрост:

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

Ну и так далее.

машинный язык? он есть! но я думаю проще будет асм! ведь асм тоже написан как-то? конечно я не собираюсь изучать ядерную физику или квантовую ...

svo

Зенченко Константин Николаевич

Старший модератор

ID: 31795

20

= общий =    16.03.2021, 00:15
svo:

какая разница какая ОС стоит на том или ином

svo

Помните моё сообщение

Вы наверное не читаете, что Вам пишут.

Зенченко Константин Николаевич

Два этих кода делают одно и тоже - выводт на экран строку, но под разные ОСи. Заметьтев в регистрах разные значения,

Зенченко Константин Николаевич


регистрДОСЛИНУКС
АХномер функцииномер функции
ВХустройство выводаустройство вывода
СХдлина текстаадрес текста
DXадрес текстадлина текста

Где:
  • в Дос используется прерывание 0х21, которого нет в Линукс и наоборот.
  • в Дос используется только ренистр АН- номер функции, в Линукс весь АХ


я везде вижу закономерности!

svo

Забудьте об этом - разные ОСи, разные особенности, разные принципы, совпадений нет.

В Windows - Все ЕСТЬ ОКНА, в Linux - Все ЕСТЬ ФАЙЛ. Хотя с точки зрения юзера - различий НЕТ - Мышкой кликнул, что-то заработало, что-то запустилось и т.д.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

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

Лучшие эксперты раздела

Коцюрбенко Алексей Владимирович

Старший модератор

Рейтинг: 80

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 72

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Evgen aka Chuma

6-й класс

Рейтинг: 0

cain52

3-й класс

Рейтинг: 0

Kdsfofwe21

2-й класс

Рейтинг: 0