Родились сегодня:
Бойко Елена Сергеевна


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

ID: 259041

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

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

313

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


ID: 401284

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

Советник

300

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


ID: 400669

epimkin

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

248


ID: 405049

vsetin

Студент

177


ID: 137394

Megaloman

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

120

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


ID: 226425

Konstantin Shvetski

Модератор

102

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


ID: 325460

CradleA

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

76

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


8.9.7

28.07.2021

JS: 2.9.14
CSS: 4.5.14
jQuery: 3.6.0
DataForLocalStorage: 2021-07-31 11:16:20-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 Сергей Фрост (Управляющий)

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

q_id

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

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

ID: 31795

6

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

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


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

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


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

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


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

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

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


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

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

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

q_id

Сергей Фрост

Управляющий

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 Сергей Фрост (Управляющий)

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

q_id

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

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

ID: 31795

8

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

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


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


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


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

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

q_id

Сергей Фрост

Управляющий

ID: 143894

9

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

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

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

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

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

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

q_id

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

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

ID: 31795

10

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

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


Я и не спорю.

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

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




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


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

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

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

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

q_id

svo

Посетитель

ID: 404853

11

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

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

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


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

q_id

Сергей Фрост

Управляющий

ID: 143894

12

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

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

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

q_id

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

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

ID: 31795

13

= общий =    10.03.2021, 11:03
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

q_id

Сергей Фрост

Управляющий

ID: 143894

14

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

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


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

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

q_id

svo

Посетитель

ID: 404853

15

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


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

q_id

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

q_id

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

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

ID: 31795

17

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

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


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

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

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



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

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

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

q_id

svo

Посетитель

ID: 404853

18

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

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

q_id

svo

Посетитель

ID: 404853

19

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

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

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

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

q_id

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

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

ID: 31795

20

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

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


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

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


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



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

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


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


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

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

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

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

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

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

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

Рейтинг: 130

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

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

Рейтинг: 40

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

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

Рейтинг: 0

Evgen aka Chuma

6-й класс

Рейтинг: 0

cain52

3-й класс

Рейтинг: 0

Kdsfofwe21

2-й класс

Рейтинг: 0