Найти в Дзене
Ассемблер. Логические команды.
Всего к логическим относятся четыре команды AND, OR, XOR и NOT, переводятся имена команд: "и", "или", "исключающее или" и "нет" соответственно. Все они предназначены для побитового сравнения двух операндов, кроме команды NOT - это команда преобразвания. Рассмотрим поочередно логику работы этих команд. Результат работы команды AND будет таким: 0 + 0 = 0 0 + 1 = 0 1 + 0 = 0 1 + 1 = 1 то есть если сравниваются два байта 01001011b и 11000001b, то результате мы получим 01000001b. Команда OR работает...
8 месяцев назад
Ассемблер. Оконное приложение на ассемблере
Знаете что такое "черный ящик"? В свое время разрабатывая 32-битную графическую ОС специалисты из Майкрософт решили, что она должна работать по принципу "черного ящика", т.е., программистам теперь не нужно вникать в работу "железа" в компьютере, достаточно знать где и как применять API-функции в программе. У этого принципа несомненно много плюсов, но и минусов тоже хватает - все больше отдаляясь знания принципов работы процессора, памяти, стека и т.п., программисты много теряют в скорости, размерах, функциональности своих приложений...
11 месяцев назад
Ассемблер. Секреты загрузочного сектора.
На титульной картинке статьи вы видите ассемблерный шаблон для создания диска в формате FAT32. Не все поля заполнены, поля отмеченные восклицательным знаком обязательны для заполнения, остальные можно игнорировать. Если диск должен нести какую-то ОС на "борту", то необходимо написать загрузочный код, который должен быть расположен после метки "loading".  Во время загрузки компьютера, биос грузит 0-й сектор в память по адресу 7с00h, и передает ему управление. Для доступа к адресам в памяти существует...
1 год назад
Ассемблер. Чтение сектора с диска в реальном режиме.
Предлагаю попробовать написать программу для чтения сектора с диска в реальном режиме. Она также пригодится, когда мы будем учиться форматировать флешки и диски. Вариантов реализации подобных программ много, но я выбрал свой с двумя буферами - один для "сырых" данных, другой для подготовленных для вывода на экран. Данные сектора не помещаются на консольный экран 80х25, поэтому, должна быть возможность смещения строк вверх-вниз. В общем, сами все поймете, когда будете разбирать программу. Если что-то...
1 год назад
Ассемблер. Пример программы. Ищем "х" на экране.
Предлагаю попробовать написать программу на ассемблере. Все, что делает эта программа, прячет символ "х" на экране, а затем ищет его последовательно проверяя все символы на экране. Вроде немного, но эта программа поможет вам понять как организовать доступ к системному таймеру, организовать задержку и многое другое. Прерывание int 08h от системного таймера происходит примерно 18,2 раза в секунду, доступ к текущим значениям можно получить через прерывание int 1Ah. При этом в регистре CX хранятся старшие (большие) значения, а в регистре DX младшие...
1 год назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала