Как стать автором
Обновить

Комментарии 53

Это совсем не смешно. На асме вполне можно при программировании следовать некоторым парадигмам ООП. Там для этого иногда синтаксис специальный есть.
Никто не спорит. Тут скорее просто показан пример токо, как можно показать наследование в ООП со стороны такого языка как АСМ.
Семантически все очень верно подмечено.
Я хорошо знаю ассемблер и это не мешает мне прикалывать его :)
да вообще немало шуток и анекдотов основаны на реальных событиях, но менее смешными они от этого не становятся
Кстати, про парадигмы.

Если писать на ассемблере, то надо следовать только парадигме ассемблера. Все остальное от лукавого. Ибо парадигмы - парадигмами, а ассемблер - ассемблером.
...парадигмы - парадигмами, а ассемблер - ассемблером.


Замечательное высказываение! Главное, оно ещё и истинное! Прям как у Гамлета: (быть или не быть) = true;
НЛО прилетело и опубликовало эту надпись здесь
Я к тому, что нет смысла писать ООП на асме, потому что нет смысла писать на асме код такого размера. В правильном использовании (DirectHands.dll) к ассемблеру не применимы никакие приемы и парадигмы языков высокого уровня.
Имея возможность достучаться по указателю до любого адреса, остаётся только злорадно усмехаться над объявлениями приватных переменных и методов =)
=)
Дык, в том то и дело, что адрес не всегда известен...
Поправьте меня, если я не прав, но в C++ разве нельзя обратиться к адресу ячейки, где хранится private-переменная? =)
Можно. Можно просто обявить класс, с такими же полями и методами, что и целевой, но приватные поля и методы сделать паблик. reinterpret_cast и вуаля, жизнь сказка :)
можно. а можно даже сделать memset(&object,"\0",sizeof(object))
приватные переменные созданы прежде всего чтобы программисты не совершали ошибки.
Никто от хаков не защищался.
ЯП создают программисты для программистов =)
Просто Спарта
AH и AL в асме семантически одно и тоже, поэтому непонятно, почему здесь смысл у них разный. Наверное, правильнее писать:
register AX : AL, AH { }
или
register AX implements AL, AH { }
одно не одно, но AL образует 8-и битные числа, а AX образуется из AL, расширенным с помощь AH, для работы с 16-и битными числами. Все логично.
AL,AH {AK, BAR}
В том же .NET программа компилица в объектно-ориентированный байт-код, который, по сути, есть машинно-независимый ассемблер. Такие дела.
От чего он незовисим? От операционной системы:) или архитектуры (с учетом что там есть версия для x86 x64 и Itanium)ROOFL!
И от того, и от другого. Это "ассемблер" CLR.
На какой нормальной операционой системе он будет работать? А если скопилируеш ПОД x64 то он не будет работать под x86!.
Программы для .NET распространяются в виде сборок (метаданные и, собственно, объектно-ориентированный байт-код, т.е. CIL). JIT-компилятор компилит код из сборки (либо непосредственно перед выполнением, либо из GAC, а для закрытых сборок из каталога приложения) в машинный код, на который передаётся управление.
Почитай внимательние документацию. Есть разные версии CIL. Если не понятно ЗАГЛЕНИ в настройки MSIL Assembler (Ilasm.exe) И посмотри про опции target :
/itanium
Specifies Intel Itanium as the target processor.
If no image bitness is specified, the default is /pe64.
New in the .NET Framework version 2.0.
/pe64
Creates a 64-bit image (PE32+).
If no target processor is specified, the default is /itanium.
New in the .NET Framework version 2.0.
Ilasm.exe это и есть JIT-компилятор для .NET-сборок. Есть ещё ngen.exe, который компилит сборку в native image cache, который является частью GAC. В обоих случаях, естественно, указывается, явно или неявно, версия фрэймворка, ос и проц.

Есть подозрение, что мы друг-друга глобально не понимаем.
Эти флаги нужны только для взаимодействия с натив кодом, сам CIL от их наличия никак не меняется.
Учитывая особенности конструкций ассемблера и предыдущий комментарий, это должно быть где-то так:

REG AX IMPL AL,AH {}
Тогда уж в at&t-нотации 8)
{} regl %ax implb %ah, %al
улыбнуло - прикольно.
но судя по малому количеству камментов и оценок - видимо мало кто на этом ресурсе знаком с асмом.
видимо не у всех было счастливое детство:)
ага - это точно...
а минусовали видимо те, кто знаком с асмом, только непонятно почему минусовали :(
Пардон, вот эта картинка:
Забавно у чувака в желтой рубашке голова на 360 градусов повернулась.
Киборги! Они заполонили всю планетуууу (ц) :)
Всего на 180 ;)
Только вот для чего? Не, ну я понимаю конечно... прикол и все такое...
Но в реальной жизни-то зачем? ООП на асм... Да. Можно. Хотя и не совсем это ООП. Так... идея и зачатки.
В реальной жизни, я думаю, все-таки языки более высокого уровня для целей ООП решаютЪ.

Эх заминусовывайте... :(
Я может, просто смысла в этом не понял.
Устали от трудного рабочего дня, и отдел мозга, отвечающий за восприятие шуток, отключился? =)
видимо да...
что поделаешь... пятница уже :(
а я еще и непьющий итшник :(
представляете, как мне сложно в этом суровом мире? :)
Поспать тебе, барин, нужно… Нет здесь никакого ООП на ASM не смотря на название статьи, здесь чистый юмор.
все все. пошел вешаться на галстуке :)
уели :)
можно я просто и нудно объясню суть шутки?
AX - это 16-разрядный регистр x86 процессора, который состоит из 2х 8-битных: AH и AL
а EAX - это 32-разрядный, в который входит AX.
тут синтаксисом ООП объявляется структура процессора
когда айтишники шутят это одно, но когда они начинают разъяснять... поставлю + за попытку
вы забыли в заключение добавить: "так-то!" =)
Блин, я хоть в IT и давно достаточно, и тоже много всяким-разным занимался, и про ООП не понаслышке знаю...

Но ассемблер прошел мимо меня.

Стыдно понимать, что шутку совсем не понял :(
твое счастье, что прошел мимо, меня вот передергивает и от первого и от второго =) теперь вот не усну!
***бормочет, засыпая... сегменты кода, данных, регистры, 8086...
это и в самом деле страшно.

то ли дело детская непосредственность и простота ассемблера z80 =)
Да какой это ООП в Ассемблере: это довольно рядовая конструкция в VHDL!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации