LINUX.ORG.RU
ФорумTalks

[Опрос] Когда вы в последний раз брали в руки ассемблер?

 


0

2

На дворе 21-й век, засилие Явы или в лучшем случае С++, низкоуровневые штуки мало нужны. Интересно, когда вы в последний раз брали в руки ассемблер и зачем (необходимость, работа или просто так)?

На работе у меня не востребован вообще, периодически пописываю для себя, чтоб нескучно было, обычно какую-нибудь ерунду для ДОС или какого-нибудь старого домашнего компа а ля Спектрум или Радио-86РК.

Лет 5 назад. Как взял, так и выкинул =]

neocrust ★★★★★
()

пять лет назад. Помню только что-то обычное типа rep stosb или 0a000h :)

former_anonymous ★★★
()

Пытался изучить его лет 7 назад. Начал даже микроконтроллер программировать. Потом узнал, что sdcc оптимизирует ничуть не хуже, чем если я код на ассемблере напишу, и не стал заморачиваться.

Eddy_Em ☆☆☆☆☆
()

Писал драйвер для Linux в универе на 2 курсе на чистом GAS. Прошу какашками не бросаться, все с учебными целями.

vertexua ★★★★★
()

> периодически пописываю для себя, чтоб нескучно было, обычно какую-нибудь ерунду для ДОС или какого-нибудь старого домашнего компа а ля Спектрум или Радио-86РК.

Неасилятор Forth'а?

Led ★★★☆☆
()

Пару недель назад

ttnl ★★★★★
()

На третьем курсе, когда писал лабы по «Архитектуре ЭВМ». Последнее что написал - загрузчик для ОС, выводящий «Hello world»

congestion_control
()
Ответ на: комментарий от Led

Ну Форт - это разве что компиляторы бутстрэпать. :)

Что мне на нем, системный софт, игры или вирусы что ли писать? :)

nanonymous
() автор топика
Ответ на: комментарий от anonymous

а еще помницо на 4 курсе были лабы по программированию микроконтроллеров x51-совместимых

anonymous
()

лет 7 назад, когда хотел сравнить скорость вычисления ф-ции Аккермана, надо сказать, СИ с оптимизациями проигрывал в 10 раз!
сейчас только как вставки в коде и то редко.
p.s. на Спектруме его так и не осилил ))

backbone ★★★★★
()

К сожалению, никогда. На Спектруме в своё время писал на Бейсике и удивлялся машинным кодам для Радио-86РК в журнале «Радио».

post-factum ★★★★★
()

> Когда вы в последний раз брали в руки ассемблер?

в универе, программил 8051. лет 10 назад. еще раньше, лет 17-20 назад, писал под ZX80/8080.

isden ★★★★★
()
Ответ на: комментарий от anonymous

> а еще помницо на 4 курсе были лабы по программированию микроконтроллеров x51-совместимых

охохо! ульяновский политех, ФИСТ? :)

isden ★★★★★
()

В институте еще. Когда писал плагин для Винампа на асме.

urxvt ★★★★★
()

года два назад. писал для проекта Колибри ОС, все это так, для фана. с тех пор ни разу не понадобилось, ни по работе, ни по необходимости. максимум что было - реверсинг кода одной закрытой программки по работе с оборудованием.

amomymous ★★★
()

Полгода назад обновлял программу на asm51 для старого, но всё ещё работающего микроконтроллера КМ1816ВЕ51.

quickquest ★★★★★
()

Года полтора назад, на локальной практике по ассемблеру, в своем учебном заведении. Был там один компьютер, включение/выключение которого осуществлялось путем механического взаимодействия вилки от кабеля питания этого компьютера и розетки, так как кнопка выключения была поломана. Тот кто вел у нас практику, сказал, кто напишет выключалку этого девайса, тому закрою практику на высший бал только за одну эту программу. Как выяснилось позже, он ожидал, что APM этого девайса не имеет вектор прерывания для выключения компьютера (ололо). Так закончилась моя практика по ассемблеру. А включалку сам пусть пишет.

JN
()
Ответ на: комментарий от JN

Хм, я так понимаю, что если включался-выключался комп выдергиванием вилки, то там мать и БП еще AT. И как его выключить программно можно?

nanonymous
() автор топика

> Когда вы в последний раз брали в руки ассемблер?

Смотря какой ассемблер. Я, например, ковыряюсь с ассемблером самодельного виртуального интернет-процессора. У меня там есть инструкции записи/чтения в регистр, вызова контроллера как подпрограммы, проталкивание данных в стек, извлечение данных из стека, абстракция сегмента кода и сегмента данных.

Разрабатывать микропроцессор на PHP оказалось весьма забавным занятием.

xintrea
()
Ответ на: комментарий от nanonymous

Да, там действительно AT.
Вот исходник нарыл, с помощью него удалось выключить.

  .model tiny
  .code
start:
      mov  ax, 5301h  ; переход в реальный режим работы процессора
      xor   bx, bx        ; ID устройства - APM BIOS
      int    15h

      mov   ax, 5308h  ;включение/выключение системы управления питанием
      mov   bx, 1          ; ID устройства
      mov   cx, 1          ; 1 - включение ; все устройства APM BIOS
      int      15h

      mov   ax, 530Dh  ; включение/выключение системы управления питанием; специф. устр. 
      mov   bx, 1           ; ID устройства
      mov   cx, 1            ; 1 -  включение
      int      15h

      mov   ax, 5307h  ; установка состояния
      mov   bx, 1          ; ID устройства; все устройства APM BIOS
      mov   cx, 3          ; 3 - выключение
      int      15h 
 end

JN
()
Ответ на: комментарий от nanonymous

>Что мне на нем, системный софт, игры или вирусы что ли писать? :)

Тебе = нет. Но обычно так и делают

Led ★★★☆☆
()

C это макроассемблер. Исходя из этого пользуюсь постоянно. Очень редко порожденный код смотрю, а писать уж лет 10 не писал.

quest ★★★★
()
Ответ на: комментарий от vostrik

Меня тоже знакомый в прошлом году долго доставал с ассемблером для контроллера, три дня он писал простенькую программку для управления шаговиком. Потом мое терпение лопнуло, и я дал ему образец той же программки на сях (строчек 10, против его писанины на несколько страниц) :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

ну не каждый pic нормально переварит С. это без учета того, что преподы, которые вели у меня, которые вели лет 5 до меня, и которые ведут сейчас у моего знакомого, искренне считают С попсой, недостойной факультета радиотехники :)

vostrik ★★★☆
()
Ответ на: комментарий от vostrik

А ему и не надо: sdcc сначала транслирует С в ассемблер, а затем уже компилирует в hex. Вы почитайте, сколько разных типов контроллеров этот компилятор поддерживает...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от vostrik

Приносите им оттранслированный asm файл (с небольшой ручной правкой для удаления комментариев и т.п.) :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от nanonymous

>Можно примеры? Интересно было бы поковырять.

На википедии забанили?

Led ★★★☆☆
()
Ответ на: комментарий от vostrik

На ассемблере очень сложно писать длинные программы. А на сях такая программка влезает всего на три страницы.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

ты как маленький. где ты видел длинные программы в универе под около84й пик? будильники, тахометры, сигнализации - там длиной и не пахнет

vostrik ★★★☆
()

Последний раз я брал в руки ассемблер для x86 неделю назад, правда, на винде. Что писал, не скажу.

proud_anon ★★★★★
()

если верить cvs log, то 2004/09/05. это был последний release моего boot-manager'а.

beastie ★★★★★
()

Весной дизассемблировал одну старую игру. Захотел превратить спрайты и музыку в более читаемый формат.

question4 ★★★★★
()
Ответ на: комментарий от question4

Лет двадцать назад дизасемблировал AutoCAD (ЕМНИП R6 for DOS) - не работал на VGA (только CGA и EGA). Полдня дизасемблирования, минут двадцать на грепанье, минут пять на исправление - заработал на всём

Led ★★★☆☆
()
Ответ на: комментарий от Led

>Лет двадцать назад

Не, соврал. Лет 16-17 назад

Led ★★★☆☆
()

Как взял - так и выкинул. Разве что ассемблерные листинги программ на Си смотрю иногда.

melkor217 ★★★★★
()
Ответ на: комментарий от JN

Вот исходник нарыл, с помощью него удалось выключить.


Ну это не совсем ассемблер, точнее тут же просто прерывания вызываются, а не работа на более низком уровне.

tasm ?

anonizmus
()

На пятом курсе на MPASM. Не помню почему, компилятор С для PIC есть.

Dimka-Bo
()

на прошлой неделе, лабы в универе.

xscrew ★★
()

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

TERRANZ ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.