![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 16.02.2010
Сообщений: 2
|
![]()
Помогите написать программу.Программа должна вывести числа в обратном порядке.(числа уже заданны в массиве из 5 элементов).Вот исходный код проги тока до конца довести не могу,толком со стеком разобраться не могу push,pop.
Код:
Последний раз редактировалось Stilet; 17.02.2010 в 15:49. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
asmcc
Как-то так Код:
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 26.04.2009
Сообщений: 270
|
![]()
asmcc
Вталкывай в стек спомощью push только (a , b , c) это переменные push a push b push с pop с pop b pop a |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
Doholyan
и что в вашем варианте изменится? Как были A, B и С на своих местах так и останутся, чем мой вариант вас не устроил? Для варианта (a, b, c) правильно будет Код:
Последний раз редактировалось Mikl___; 17.02.2010 в 13:52. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 26.04.2009
Сообщений: 270
|
![]()
если конечно три переменных то средняя при любом обстоятельстве остаеться на своем месте....
почему Вы так решили что остануться на своих то местах....для стека то не важно имя переменной...он, то записывает только число ваш вариант не плох...но сложен... Вот примерно то что я вижу: щас попробую написать код |
![]() |
![]() |
![]() |
#6 | |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
Doholyan
Цитата:
Не думал что команды xchg и mov это очень сложно |
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 26.04.2009
Сообщений: 270
|
![]()
Вот код:CSEG segment
org 100h Start: mov Ad,10 mov Bd,15 mov Cd,20 push ad push Bd push Cd pop Ad pop Bd pop Cd mov ah,10h int 16h int 20h Ad dw 0 Bd dw 0 Cd dw 0 CSEG ends end Start Проверил отладчиком AfdPro все работает Последний раз редактировалось Doholyan; 17.02.2010 в 18:35. |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
Doholyan
а теперь к своей программке приделай вывод на экран и убедись, что все осталось на своих местах, лучше с однозначными числами, посмотри до и после |
![]() |
![]() |
![]() |
#9 | |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]() Цитата:
Может хотя бы вытаскивать из стека следует в другом порядке ? Код:
|
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 26.04.2009
Сообщений: 270
|
![]()
проверил по шаговой...явно видно как число помещаються в стек.
переменные не беру в расчет так как условия задания у ASMCC "вывести ЧИСЛА в обратном порядке" Если выталкивать в том же порядке то вообще не чего не измениться а так у нас получаеться что: в начале мы имеем Ad=10 Bd=15 Cd=20 Dd=25 после мы будем иметь Ad=25 Bd=20 Cd=15 Dd=10 Для более наглядного сейчас изменю код с четырьмя числами. CSEG segment org 100h Start: mov Ad,10 mov Bd,15 mov Cd,20 mov Dd,25 push ad push Bd push Cd push Dd pop Ad pop Bd pop Cd pop Dd mov ah,10h int 16h int 20h Ad dw 0 Bd dw 0 Cd dw 0 Dd dw 0 CSEG ends end Start тоесть условия "ВЫВЕСТИ числа в обратном порядке" выполненно Последний раз редактировалось Doholyan; 17.02.2010 в 18:34. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите вывести строку на экран в обратном порядке(TASM .small) | depocomp | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 13 | 21.05.2009 11:22 |
заданную строку записать в обратном порядке | Defa4ka | Помощь студентам | 1 | 13.05.2009 11:50 |
печать страниц в обратном порядке | Олекса | Microsoft Office Word | 4 | 30.03.2009 09:45 |
В обратном порядке | mari.ha | Общие вопросы C/C++ | 7 | 25.12.2008 21:36 |