![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() |
nonpascaler |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите плиз разобраться (только "на пальцах" если можно):
1. Программа СОМ не может превышать 65535 байт из-за размера страниц по 65к - здесь все понятно ![]() 2. Как выглядит карта памяти при ЕХЕ-проге размером 40кб и как при 510Кб? А если данных завались и сегмента данных не хватит, что произойдет тогда? Какой объем сегмента данных? 2.1. Почему-то в описаниях все сухо и сжато и не говорится от том, что если текстовый редактор в 500кб, причем все 400кб - код, остальное для текста, то как это все увязывается в ОЗУ? Видимо одна часть программы следит за клавишами и сидит в одном сегменте, а вывод текста в другом, а сохранение файла в третьем, а если сама процедура превышает 65к, то что получается, происходит JP в другой сегмент и счастье продолжается? А если 16-битный регистр может обращаться только к области RAM до 65535, то 32-битный наверное к 4Гб, правильно? (типа как мне переместить 10 Мегабайт данных с точки адреса памяти 1024576 в 2048000?). 2.2. Вообще-то, если бы в IBM-PC было не 10 банок по 65к, а больше, то теоретически, можно было бы создать драйвер непрерывной памяти в 4Гб (65535_банка *65535_16 битный регистр сегмента = 4.294.836.225 байт) ![]() 3. Как включить режим 640*480&256 цветов (VGA), например в Турбо Паскале стандартно режим 640*480&16 и в хэлпе ни слова как получить 256 ![]() 3.1. Не могли бы Вы кто-нить пожертвовать асм-код, для того, чтобы врубить этот режим и ессно вернуть прежний (если Паскаль умеет по выходу возвращать свой текстовый режим, то плиз отключения не надо) 3.1.1. Хочу в Паскале вывести 256-цветную картинку, но в 16 цв. понятно, что все за пределами 16 выводится коряво ![]() 4. Включается какой-то сегмент и после этого, если в оперативку посылать значения, то байты рисуются точками на экране. Как это понимать, часть ОЗУ компьютера отдано под видео, т.е. там не размещается код программы? 5. Последнее ![]() Блин, наверное я не так выражаюсь, но кто юзал Z80 это будет примерно так: LD HL, 9000 LD DE,2000 LD BC,2048 LDIR RET Вот хочу теперь все это "кроссассемблировать" на IBM-PC. ![]() Сообщение отредактировано: nonpascaler - 16.08.2006 20:25 |
![]() ![]() |
![]() |
Текстовая версия | 25.06.2025 4:32 |