0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 36
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Значения регистров после выполнения действий Push и pop19.12.2011, 10:03. Показов 7027. Ответов 6
Метки нет (Все метки)
hi ALL плз. зачет горит.
AX=35ADh, BX=1000h, CX=2100h, DX=0C03h
AX=0E00h, BX=3828h, CX=3251h, DX=000Fh Добавлено через 1 час 7 минут вот попытался сам решить, подскажите верно нет? 1 Задание
результат AX=FFFF, BX=6A10, CX=0000, DX=4C00 2 Задание
результат AX=0000, BX=0483, CX=FE78, DX=0000
0
|
19.12.2011, 10:03 | |
Ответы с готовыми решениями:
6
Как изменится состояние регистров после выполнения PUSH AX и POP DX Сделать так чтобы если вводится push выполнялась функция push, если pop то pop Определить значения регистров после выполнения фрагмента программы Модифицировать программу, имитирующую работу стека, так, чтобы после каждой из операций push и pop на экран выводился сн |
766 / 310 / 11
Регистрация: 27.05.2011
Сообщений: 703
|
||||||
19.12.2011, 13:08 | 2 | |||||
по 1)
...сегмент данных не настроен ...так низя лучше:
...замени DX на AX: результат получен перед входом в функцию: ah=4ch(21h) (из TD): AX = 0DEFFh CX = 02100h BX = 08A10h DX = 02100h
1
|
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 36
|
|||||||||||
19.12.2011, 13:38 [ТС] | 3 | ||||||||||
hi zzzyyyxxx спасибо за подсказку!
получил следующее 1 Задание
Результат AX = 0DEFFh CX = 02100h BX = 08A10h DX = 00300h - отличается от Вашего... почему не подскажите? скрин 1.png 2 Задание
застреваю за цикле, как его пройти? не подскажите, а то значения проверить не могу.... в цикле они следующие Результат AX = 00E00h CX = 0B187h BX = 01C50h DX = 0000Fh скрин 2.png
0
|
766 / 310 / 11
Регистрация: 27.05.2011
Сообщений: 703
|
||||||
19.12.2011, 14:01 | 4 | |||||
1) ну ты 'съел' этот момент:
да и вообще, в задании 4 push и 2 pop, т.е. до реального выхода(на момент выхода) из проги в стеке 2 word надо бы хоть так: м/у .7 и .8 [mov si,sp], а перед вызовом функции (выход), восстановим указатель [mov sp,si] 2) breakpoint ни о чём не говорит? установи его на [mov ax,4c00h](выдели строку и нажми F2), далее нажимаешь F9 и всё, смотри регистры.
1
|
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 36
|
||||||
19.12.2011, 14:25 [ТС] | 5 | |||||
по 2 заданию
результат (не проверите верно,-нет?) AX=00E0Fh BX=030E2h CX=00000h DX=0000FH По первому заданию получил идентичные Вашим данные после добавления Push. не понял про
0
|
766 / 310 / 11
Регистрация: 27.05.2011
Сообщений: 703
|
|
19.12.2011, 14:55 | 6 |
2) совпадает(ну эт как говорится и к бабке не ходи)
ну типа в стэк занесён адрес (выхода из программы) при запуске в TD: sp = 100 (1676h) ну вроде как возврат к MS DOS, от тебя не зависит данный момент, но ты должен сделать на выходе sp = 100(в твоём случае) для корректного завершения, вообще так как ты работаешь в эмуляторе MS DOS, то это не обязательно, хотя знать это не будет лишним(в WIN, то же самое)... и само сабой результат не изменится, смотри в стек и ты увидишь что происходит (правое нижнее окно)
1
|
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 36
|
|
19.12.2011, 15:57 [ТС] | 7 |
спб. zzzyyyxxx
в общих чертах осознал
0
|
19.12.2011, 15:57 | |
19.12.2011, 15:57 | |
Помогаю со студенческими работами здесь
7
Каким будет содержание регистров после выполнения команд Найти содержимое регистров после выполнения группы команд Push, Pop push и pop Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |