5 / 5 / 2
Регистрация: 23.10.2009
Сообщений: 63
|
|
1 | |
Вывести строку на экран в обратном порядке19.10.2010, 14:31. Показов 1268. Ответов 7
Метки нет (Все метки)
0
|
19.10.2010, 14:31 | |
Ответы с готовыми решениями:
7
Введенную с клавиатуры строку A записать в обратном порядке в строку B. Строку B вывести на экран Введенную с клавиатуры строку A записать в обратном порядке в строку B. Строку B вывести на экран. Введенную с клавиатуры строку A записать в обратном порядке в строку B. Строку B вывести на экран Вывести строку на экран по словам, причем каждое слово вывести в обратном порядке |
65 / 65 / 1
Регистрация: 14.04.2010
Сообщений: 170
|
|||||||||||
19.10.2010, 15:16 | 2 | ||||||||||
2
|
5 / 5 / 2
Регистрация: 23.10.2009
Сообщений: 63
|
|
19.10.2010, 17:34 [ТС] | 3 |
Thanks
0
|
21.10.2010, 21:41 | 4 |
Код
format PE Console include '%fasm%\win32ax.inc' section '.code' executable start: invoke GetStdHandle,STD_OUTPUT_HANDLE mov [Stdout],eax len equ $-stroka lea edx,[stroka+len-2] mov ecx,len @@: push ecx push edx invoke WriteConsoleA,[Stdout],edx,TRUE,cWritten,NULL pop edx dec edx pop ecx loop @r exit: invoke ExitProcess,NULL .end start section '.data' readable writable stroka db 'stroka',0 cWritten rd 6 Stdout dd ? А вообще stroka+len-2 это stroka+$-stroka-2 то есть $-2 или это не так?
0
|
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
|
21.10.2010, 21:50 | 5 |
Для информации
$ - это текущий аддрес stroka - аддрес метки stroka len equ $-stroka - разница между текущим аддресом и аддресом метки stroka. Причем т.к. в 7 строке текущий аддрес меньше, то число получается не только бесполезным, так еще и отрицательным.
0
|
65 / 65 / 1
Регистрация: 14.04.2010
Сообщений: 170
|
|
21.10.2010, 21:53 | 6 |
len equ $-stroka надо вставить в сегменте данных сразу за stroka db 'stroka',0, чтобы определить её длину
1
|
21.10.2010, 23:03 | 7 |
Да вроде бы работает, хотя экран скроллится и где-то внизу выводит, и даже один символ ненужный.
Но так как у меня сегмент данных идёт после, то нет возможности вставить там equ оператор. А интересно, что в таком случае данные должны быть впереди? Это нельзя никак обойти?
0
|
65 / 65 / 1
Регистрация: 14.04.2010
Сообщений: 170
|
||||||
21.10.2010, 23:22 | 8 | |||||
1
|
21.10.2010, 23:22 | |
21.10.2010, 23:22 | |
Помогаю со студенческими работами здесь
8
Ввести строку, вывести на экран пословно, причем каждое слово вывести в обратном порядке Ввести строку, вывести пословно на экран, но слова в обратном порядке Ввести строку, вывести пословно на экран, но слова в обратном порядке Вывести строку на экран в обратном порядке (1) и определить, входят ли в состав заданной строки числа (2) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |