Pull to refresh

Comments 4

UFO just landed and posted this here
Ну в x86 вообще куча legacy рудиментов.
Чего стоит хотя бы сам 16битный режим, который несут из процессора в процессор уже лет 25.
Позволю себе отметить, что эти знания были азбукой для любого программиста в свое время. К сожалению, в статье упущен момент, описывающий механизм работы с прерываниями. Прерывания, по своей логике, это все-таки наборы функций, сгруппированные по смыслу. Причем, номер функции указывается в EAX, а остальные регистры — по сути, аргументы, передаваемые в функцию.
Глаз, по старой памяти, сразу зацепился за отрывок
в EBX значение 0, в EAX значение 0xE820, в ECX – размер буфера (не меньше 20-ти байт), в EDX значение 0x534d4150, в ES:DI нужно записать указатель на буфер.

и мысленно перевел константу в EDX в текст 'SMAP'.
Без подобных пояснений, на мой взгляд, все эти прерывания превращаются в магические числа, заставляющие перекреститься неопытного человека при первом взгляде на подобные вещи.

В свое время, играясь на qb4.5, где была библиотечная функция CALL ABSOLUTE, которая позволяла вызывать прерывания, на зубок выучил все функции int 10h, int 13h, int 21h и играючи писал программки, которые вводили в ступор учителя информатики, ибо внешне qb4.5 практически не отличался от qb1.0, который входил в поставку MS-DOS. :) А интересного в функциях BIOS много: изменение палитры цветов текстового режима, переключение в такие графические режимы, которые были недоступны в qb, да и не перечислить всего.
полностью поддерживаю. Я с паскаля начинал. Там тоже на асме можно было крутые штуки на прерываниях делать.
я вообще считаю, что коли программер взялся за ассемблер, то ему просто необходимо написать пяток программ под старый DOS чисто на прерываниях + 1-2 проги аналогичные .com. Оно может в наши дни и мало нужно на практике, но понимания прибавляет.
Only those users with full accounts are able to leave comments. Log in, please.