Странности
Странный эффект. Наберите в блокноте bugoga и сохраните в 1.exe потом запустите. Демосцена отдыхает — демка в 6 байт это сильно. =) Вообще мне казалось что в начале файла должно стоять mz что бы ОСь не ругалась.
UPD: Так работает не тока bugoga Но и bugoga2. A так все что начинается с bugoga. Иследуюя дальше получаем, что подобное поведение наблюдается с любым фаилом начинающимся на bug, а также на bu. Фаил с текстом bu не работает надо bu + еще что-нибудь.
‘b’ выглядит как инструкция:
bound ax,word ptr [bx+si]
которая означает проверку границ массива, где первый операнд — индекс массива, второй нижняя и верхняя граница массива (последовательно в памяти). Эмулятор доса (или дос) загружает эту хрень как com файл и исполняет. Далее зависит от мусора в регистрах. Если ax не попадает в границы, вызывается прерывание int5, которое обычно вешается на нажатие PrintScreen, экран распечатывается и процедура обработки прерывания возвращает управление опять на bound. Итог: эмулятор доса висит в вечном цикле, позиция курсора видимо меняется в обработчике int5.
Гм… открыл notepad.exe, набрал bugoga, сохранил на рабочий стол как 1.exe, закрыл notepad, запустил 1.exe, Наблюдаю окошко с чёрным экраном. Я наивный? :)
А у меня там курсор бегает и принтер печатать иногда хочет. =)
Нужно файл 1.ехе два раза запускать. Во втором окне бегает курсор. :-)