![]() |
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 |
![]() ![]() |
suriv |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 234 Пол: Мужской Реальное имя: AHTOH Репутация: ![]() ![]() ![]() |
Цитата А остальные вопросы? Может книжка есть, типа асм для чайников? пжлста: http://kalashnikoff.ru/Assembler/ Neophyte -------------------- Хочу в репу !
Cмотри,а то ведь получишь! Админ. Не получит - его фиг догонишь! Админ №2. P.S Вы еще третьего админа притащите сюда :D ваш аффтар :D Звали? :D (админ № не помню какой) ха больше нифига не напишете афтар Уверен? (Moderator) А еще можно ? (супмодер) Хватит его мучать ! Избили уж... (админ) Не хватит. я тоже напишу (тоже Админ) |
nonpascaler |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 12 Пол: Мужской Репутация: ![]() ![]() ![]() |
пжлста:[url=http://kalash Спасибы! Но опять же, в обоих статьях, особенно в главах о структуре RAM не приводится пример того, что произойдет, если в теории моя прога получилась не 40 килобайт а все 80? Вы скажете, ну так это уже ЕХЕ получается, а если Вам скажу что могу помечтать и поиграться с сегментным регистром, например включил сегмент №1 и RUN с адреса 0000, затем где-то в конце, приближаясь к 65535, последней командой "включаю" сегмент №2 и JMP туда, вот мне и пргорамма на все 131070 байт, примерно так поступают с дополнтельным ОЗУ (страницы памяти) в восьмибитных компах ![]() Но это же только мои предположения, а значит мой бред! Потому я и спрашивал такую книжку, где показана карта памяти машины с 640Кб и карта памяти машины с 64 Мегабайт. Где-то читал, что до 640к задействованы одни регистры, стало быть один тип памяти, далее до 1024кб другой диапазон RAM и все что выше и до 4Гб совсем другая кухня. Почему же о ней ни слова? Новичкам в примерах дают какие-то программы, недосказав об принципах работы компа и строении ПЗУ/ОЗУ. ![]() В теории, разработав особый драйвер RAM (см. выше), можно запускать программы объемом 400-500кб, но это же мои нелепые догадки, должно быть все гораздо проще, уверен, что все уже придумано и заложено в камень, но что это за волшебство? Сообщение отредактировано: nonpascaler - 18.08.2006 14:30 |
![]() ![]() |
![]() |
Текстовая версия | 25.06.2025 10:16 |