![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() |
Terror13 |
![]() ![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Ник Репутация: ![]() ![]() ![]() |
Здравствуйте. Хочу задать вопрос: Если определение стека в СОМ-файлах отсутствует. Как ведет себя СОМ-файл с учетом этого обстоятельства?
Потогите мне Найти ответы на эти вопросы: Определите ассемблерный шестнадцатеричный объектный код для: а) DB 26h; б) DW 2645h; в) DD 25733Ah; г) DQ 25733Ah. Закодируйте следующие команды с непосредственными операндами: а) загрузить 320 в регистр АХ; б) сравнить поле FLDB с нулем; в) прибавить 40h к содержимому регистра ВХ; г) вычесть 40h из регистра СХ; д) сдвинуть содержимое поля FLDB на один бит влево; е) сдвинуть содержимое регистра СН на один бит вправо. Команда JMP начинается на 0624h. Определите адрес перехода, если шестнадцатеричный объектный код для операнда команды JMP: С6. Предположим, что регистры AX и BX содержат знаковые данные, а CX и DX – беззнаковые. Определите команды CMP (где необходимо) и команды безусловного перехода для следующих проверок: а) значение в DX больше, чем в CX? б) значение в BX больше, чем в AX? в) CX содержит нуль? г) было ли переполнение? д) значение в BX равно или меньше, чем в AX? е) значение в DX равно или меньше, чем в CX? Буду просто ужастно рад.И от всей души благодарен. ![]() ![]() -------------------- Ты не нисал,
Тогда кто это написал, Это написала я, Кто Я....-ТВОЯ СОВЕСТЬ |
![]() ![]() |
xds |
![]()
Сообщение
#2
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Если определение стека в СОМ-файлах отсутствует. Как ведет себя СОМ-файл с учетом этого обстоятельства? Файлы формата COM всегда загружаются в блок размером 64 Кб, причём устанавливаются CS = DS = ES = SS = <первый параграф блока>. Перед запуском программы ОС устанавливает указатель стека SP равным 0, в стек опускается слово 0000h, а затем управление передаётся на адрес <первый параграф блока>:100h. Т. о., при запуске программа получает SP = 0FFFEh (SP = CS), 0 в вершине стека, а сам стек размещается в конце 64 Кб блока. Нулевое слово помещается в вершину стека для обеспечения возможности выхода из программы командой retn. По ней будет осуществлён переход на адрес CS:0000h, т. е. на начало PSP, первые два байта которого - 0CDh 20h, т. е. команда int 20h - завершение программы. Сообщение отредактировано: xds - 16.01.2006 16:34 -------------------- The idiots are winning.
|
![]() ![]() |
![]() |
Текстовая версия | 24.06.2025 0:48 |