IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

 
 Ответить  Открыть новую тему 
> согласные в строке
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


люди помогите еще написать прогу на ассемблере.я в нем туп как дуб , а сдавать все еще надо. Надо подсчитать кол-во согласных во введенной строке ? может кто нить поможет ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


ну хоть намекните как сделать
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Реализовать можно разными способами, одно лишь останется неизменным: какие символы считать согласными, следует определять по таблице.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Child of Bodom, тебе самостоятельную программу или вставку в Паскаль?


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Цитата(xds @ 29.12.2007 6:01) *

Child of Bodom, тебе самостоятельную программу или вставку в Паскаль?


ну как бы самсостаятельную. НУ там получается надо будет в таблице ASCII посотреть какие коды у букв. И вот и может как то в массив их загнать.я просто ваще никак с ассемблером
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Ну тогда почитай, разберись, а когда появятся конкретные вопросы - задашь, постараемся ответить.

И массивов, кстати, как таковых в Ассемблере нет. Доступ осуществляется по адресам. В случае "массивов" обычно через сумму базы и смещения. Но смещение, в отличие от массивов, задается не в длинах элементов, а в байтах. Ну а в код таблица включается через db.

Сообщение отредактировано: andriano -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Цитата(andriano @ 29.12.2007 12:52) *

Ну тогда почитай, разберись, а когда появятся конкретные вопросы - задашь, постараемся ответить.

И массивов, кстати, как таковых в Ассемблере нет. Доступ осуществляется по адресам. В случае "массивов" обычно через сумму базы и смещения. Но смещение, в отличие от массивов, задается не в длинах элементов, а в байтах. Ну а в код таблица включается через db.


сейчас вопрос один, что конкретно можно почитать чтоб я понял что такое ассемблер . а то полазал по инету, почти везде не понятно написано . P.s. мозги вроде есть smile.gif)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Цитата(Child of Bodom @ 30.12.2007 10:46) *

сейчас вопрос один, что конкретно можно почитать чтоб я понял что такое ассемблер . а то полазал по инету, почти везде не понятно написано . P.s. мозги вроде есть smile.gif)

Честно говоря, не совсем понятен вопрос: скорее всего, были какие-то лекции, семинары... Так что в первую очередь - своими конспектами. Кроме того, есть учебный план, о котором можно справиться на кафедре или в деканате, и в котором в обязательном порядке есть рекомендуемая литература. Так зачем прибегать к явно "кривому" способу выяснения нужной литературы на форуме, когда есть "прямой" - через деканат?

На конкретный вопрос: сам занимался Ассемблером очень давно, поэтому и порекомендовать могу только из старого, наример, книжку Питера Абеля с чудовищным названием "Язык Ассемблера для IBM PC и программирования".
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Цитата(andriano @ 30.12.2007 11:37) *

Честно говоря, не совсем понятен вопрос: скорее всего, были какие-то лекции, семинары... Так что в первую очередь - своими конспектами. Кроме того, есть учебный план, о котором можно справиться на кафедре или в деканате, и в котором в обязательном порядке есть рекомендуемая литература. Так зачем прибегать к явно "кривому" способу выяснения нужной литературы на форуме, когда есть "прямой" - через деканат?

На конкретный вопрос: сам занимался Ассемблером очень давно, поэтому и порекомендовать могу только из старого, наример, книжку Питера Абеля с чудовищным названием "Язык Ассемблера для IBM PC и программирования".

лекций практически нету. у нас ассемблер по субботам. так препод приходит с утра с перегаром каждую субботу. ему ваще не до лекции. поэтому можно считать что лекций нету. а деканат уже как то закрыт
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Мимо проходил..

.386
.model flat, stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc


includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib


.data
str1 db "string=", 0
bufferforstring db 10 dup(0)
str2 db "AmountAgree=", 0



agree db 230 ; согласные..кудаж без них..
$1 db 170
$2 db 173
$3 db 163
$4 db 232
$5 db 233
$6 db 167
$7 db 229
$8 db 228
$9 db 162
$10 db 175
$11 db 224
$12 db 171
$13 db 164
$14 db 166
$17 db 231
$18 db 225
$19 db 172
$20 db 226
$21 db 161 ; last.. в смысле последний символ с чем сравнивается проверка на конец







tittle db "RatYear`s",0
szformat db "%u", 0



.data?
hOutput dd ?
hInput dd ?
n dd ?
num dd ?
buf db 255 dup(?)
.code

programma:


invoke FreeConsole

invoke AllocConsole

invoke GetStdHandle, STD_OUTPUT_HANDLE
mov hOutput,eax

invoke GetStdHandle, STD_INPUT_HANDLE
mov hInput, eax

invoke SetConsoleTitle, addr tittle

invoke SetConsoleTextAttribute, hOutput, 9

push offset str1
call lstrlen


invoke WriteConsole, hOutput, addr str1, eax, addr n, NULL




invoke ReadConsole, hInput, addr buf, 255, addr num, NULL


push offset buf
call lstrlen
mov ecx, eax


mov byte ptr [str1], 0
sub ecx, 2 ; проверка на crlf и избавление от сего
cmp ecx, 0
jz next

lea esi, buf

; банально грузим в al символ введенный с клав. и крутим на сравнение до совпадения, с согласными из
;секции данных а именно согласныХ(конечно там может быть что угодно) инкрементируя байт в памяти

sycle1:
lodsb
mov edx, offset agree
mov ah, byte ptr 0
sycle2:
cmp ah, 161 ;проверка на последний символ согласный буковки
jz gotosycle1
mov ah, byte ptr [edx]
cmp al, ah
jz count
inc edx
jmp sycle2
count:
inc [str1]
gotosycle1:
loop sycle1


next:
xor eax, eax
mov al, byte ptr [str1]

invoke wsprintf,addr buf,addr szformat, eax ;форматируем значение счетчика

push offset str2
call lstrlen

invoke WriteConsole, hOutput, addr str2, eax, addr n, NULL
push offset buf
call lstrlen


invoke WriteConsole, hOutput, addr buf, eax, addr n, NULL ;выводим

push 5000
call Sleep
push 0
call ExitProcess

end programma


комментировать работу этой хреновины....


Прикрепленные файлы
Прикрепленный файл  DicMaker.rar ( 796 байт ) Кол-во скачиваний: 152
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


ОГО это круто.спасибо!!! тока почему то в отдельной консольке открывается. я обычно в cmd прописываю и у меня там работает. а ща как отдельный открывается. странно почему exe получился а не com

Интересно будет на защите преподу рассказывать как я эту прогу писал smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.09.2020 22:53
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name