Программирование и не только

Объявление


!!

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Assembler

Сообщений 1 страница 14 из 14

1

Сейчас не так много людей шарят в Assembler, просьба отозваться тем, кто в нем разбирается) :cool:

0

2

Assembler - язык програмирования, с помощью которого можно написать такие программы, которые невозможно, или очень сложно написать на других языках програмирования. Например: генераторы ключей(keygen), системные мониторы, драйвера для оборудования или даже операционные системы. Конечно есть и такие языки програмирования как "C","Pascal","Delphi" и т.д., но они не обеспечивают надёжного контроля за потоками данных, адресами памяти или регистрами процессора, а также: все языки высокого уровня ("C","Pascal","Delphi" и т.д.) были разработаны под определённый вид операционной системы (на Turbo Pascal для DOS невозможно написать даже самую элементарную программу, которая работала бы под MacOS или Linux, также Pascal не предусматривает работу с загрузочными секторами диска или перекомпиляцию самого себя под определённую платформу.), assembler же (не все особи) может стать этим-же ассемблером, но работающим на неизвестной науке платформе, и делающий программы под эту-же платформу. И это ещё не всё!

   Программы на Ассемблере получаются в десятки раз меньше, а работают в десятки раз быстрее. Примером может послужить операционная система MenuetOS, которая написана на Flat Assembler и умещается на одной дискете (1.44 M), причём в комплект входят прикладные программы, такие как: редактор ассемблерного кода с подсветкой, работа с файловой системой, 3d заставки, некоторое колличество игр, просмоторщик картинок, компилятор Flat Assembler, терминал, CD плейер и многое другое. Преимущество состоит в том, что его можно быстро скачать с интернета (даже при маленькой скорости соединения). Так, что я думаю создатель MenuetOS не промахнулся, когда выбирал язык, для своего детища. Также маленькие программы проще распространять, т.к. диски с ними не надо высылать по почте, а достаточно, поместить на скачивание, и сделать платную регистрацию этой программы. Таким образом, это правильный шаг в смысле Internet маркетинга, и его нельзя упустить.
История создания Ассемблера

   Появление микропроцессоров в 60-х годах cвязано с разработкой интегральных схем (ИС). Интегральные схемы объединяли в себе различные электронные компоненты в единый элемент на силиконовом "чипе". Разработчики установили этот крошечный чип в устройство, напоминающие сороконожку и включили его в функционирующие системы. В начале 70-х микрокомпьютеры на процессоре Intel 8008 возвестили о первом поколении микропроцессоров.

   К 1974 году появилось второе поколение микропроцессоров oбщего назначения Intel 8080. Данный успех побудил другие фирмы к производству этих или аналогичных процессоров.

   В 1978 году фирма Intel выпустила процессор третьего поколения - Intel 8086, который обеспечивал некоторую совместимость с 8080 и являлся значительным продвижением вперед в данной области. Для поддержки более простых устройств и обеспечения совместимости с устройствами ввода/вывода того времени Intel разработал разновидность процессора 8086 - процессор 8088, который в 1981 году был выбран фирмой iВМ для ее персональных компьютеров.

   Более развитой версией процессора 8088 является процесcор 80188, а для процессора 8086 - процессоры 80186, 80286 и 80386, которые обеспечили дополнительные возможности и повыcили мощность вычислений. Микропроцессор 80286, установленный в компьютерах IBM AT появился в 1984 году. Все эти процессоры имеют отношение к развитой архитектуре процессоров фирмы Intel и обозначаются как iAPX 86, iAPX 88, iAPX 186, iAPX286 и iAPX386, где APX - Intel Advanced Processor Architecture.

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

Особенности MenuetOS

    * Вытесняющая многозадачность, многопоточность, защита памяти ring-3
    * Графический интерфейс (разрешение до 1280x1024, 16 миллионов цветов)
    * Интегрированная среда разработки: редактор, макро-ассемблер для сборки ядра и приложений
    * TCP/IP стек с драйверами loopback, ethernet и PPP
    * Сетевые приложения включают в себя серверы ftp/http/smtp и клиенты irc/http/nntp/tftp
    * Окна приложений произвольной формы
    * Выборка данных в реальном времени
    * Помещается на одной дискете в неупакованном виде
    * Возможность русификации
    * Для запуска MenuetOS достаточно 16 МБ памяти и видеокарты, поддерживающей стандарты VESA 1.2 или VESA 2.0

Отредактировано Delpher (2008-01-02 17:17:28)

+1

3

NGASM 8086 8088 Assembler  - компилятор асм-кода, можно взять тут

0

4

http://cracklab.ru/download.php?action=list&n=NjU=
MASM и FASM. Также на этом сайте есть куча интересного, что может понадобиться, а также много статей.

http://wasm.ru
Пожалуй, лучший сайт по низкоуровневому программированию.

0

5

Delpher!!
Зачем засорять форум!
Пройдет лет 10 и форум заполнится..
И зачем тупо списывать с Википедий..
Можно просто дать ссылку

0

6

Я в ассемблере 6 лет назад шарил :D

0

7

Exmap написал(а):

Я в ассемблере 6 лет назад шарил :D

Ну и как тебе этот язык? сложный?  :huh:

0

8

Язык так себе... Не сильно сложный. Но у нас он почему-то очень сложным считался... Прибегали ко мне всё спрашивали. Покою не давали. Но в итоге оказалось, что он мне и не нужен. И я его забыл. Но не совсем.
З.Ы. Настоящий программер умеет при помощи редактора FAR писать EXE файлы ... вручную :D

0

9

Exmap написал(а):

З.Ы. Настоящий программер умеет при помощи редактора FAR писать EXE файлы ... вручную :D

и как это сделать?  :dontknow:  :D

0

10

Exmap написал(а):

З.Ы. Настоящий программер умеет при помощи редактора FAR писать EXE файлы ... вручную

1) на фига?
2) долго;
3) возможно, компилятор это лучше сделает?

0

11

в языке нет ничего сложного просто нудный.
например тупорылая команда
  for(int i = 0,i < 10,i++)
  {     
    cout<<i<<endl;
  }
в ассембли будет выглядеть так
         lw  $t1,0
         lw  $t2,10
loop:  slt $t3,$t1,$t2
         beq $t3,$zero,exit
         move $a0,$t1
         li $v0,1
         syscall
         addi $t1,$t1,1
         j loop
exit:  li $v0,10
         syscall

+1

12

for(int i = 0,i < 10,i++)
  {     
    cout<<i<<endl;
  }

Ай-ай-ай!!!
Я когда си изучал тоже в for запятые вместо точек с запятой ставил :-)

0

13

это когда такая каша в голове из акшонскрипта,джавы,перла,верилога,си что ваще синтакс забываешь
самый дибилизм это в верилоге
integer i;
for (i = 0;i < <reg_value>;i = i+1)
begin
end
вот это жесть

0

14

argon-swm, и правда, каша. Зачем писать здесь на диалектах ассемблера? Сомневаюсь, что люди, желающие изучить ассемблер, начнут изучать его с ассемблера для MIPS.

0