|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.03.2018, 19:15 | #1 |
Пользователь
Регистрация: 12.11.2017
Сообщений: 14
|
Чтение и преобразование строк. masm32
Дорогие и любимые программисты, помогите! Я начал изучать masm и, практически не найдя учебников по нему, решил обратиться к вам. Можете помочь написать программу, которая будет читать две строки до точки и обрабатывать их, пусть в более длинной строке мы меняем каждую срочную латинскую букву на N mod 10 (N порядковый номер буквы). А в более короткой меняем все элементы на '*' после последнего 'a' (латинского), используя строковые команды с префиксами повторения. Затем вывести преобразованный текст с отметкой длинный он или короткий. Преобразование данных должно быть описано в виде процедур. Причем вводимые данные не должны быть пустыми и не должны превышать 100 символов, если это нарушается, то вывести ошибку. Вывод данных должен быть описан в виде функции (true, если вводимые данные удовлетворяют условиям, false в противном случае). Если вам чем-то поможет, то могу писать программу на Free Pascal, да бы не считали, что я просто хочу, чтобы за меня все делали, а я ничего не знаю. P.S. нам ничего не объясняли, никакой литературы не давали (в МГУ всем на это *******).
|
11.03.2018, 22:32 | #2 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
32 под винду чтоли? ..или DOS?
..и что из этого ты можешь сделать сам? наброски есть?
Нашедшего выход - затаптывают первым..
|
12.03.2018, 17:41 | #3 | |
Пользователь
Регистрация: 12.11.2017
Сообщений: 14
|
ну почти все есть, не могу сделать ввод данных с клавиатуры и обработку для короткой строки, пока не могу реализовать (не могу понять, как найти последний символ 'a').
Цитата:
|
|
12.03.2018, 20:38 | #4 | |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Цитата:
Эта ф-ция сама возвращает кол-во реально введённых символов, поэтому StrLen можно будет убрать. Дальше сравниваешь 2-ввода, и берёшь адрес наименьшей строки.
Нашедшего выход - затаптывают первым..
|
|
12.03.2018, 20:49 | #5 |
Пользователь
Регистрация: 12.11.2017
Сообщений: 14
|
Спасибо. Можете подсказать, как найти последнюю букву 'a', а за ней все поменять на '*'?
|
12.03.2018, 20:55 | #6 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
для этого есть инструкция REPNE SCASB.
в AL помещаешь букву для поиска, а в EDI адрес строки для поиска (читай справку). как найдёшь, в EDI-1 будет лежать адрес первой "а" меняешь её на (что там тебе нужно), и продолжаешь поиск дальше, пока ECX не станет нуль
Нашедшего выход - затаптывают первым..
|
12.03.2018, 21:14 | #7 |
Пользователь
Регистрация: 12.11.2017
Сообщений: 14
|
Можете объяснить, как работает REPNE SCASB, или скинуть ссылочку на достойную инструкцию (найти не смог, где понятно объясняется)?
|
12.03.2018, 21:38 | #9 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
..а тебе точно нужна программа под виндовую консоль???
судя по требованиям (ввод до точки) больше смахивает на MS-DOS... вообще дос изучали на занятиях, или вин??? методички есть какие-нибудь???
Нашедшего выход - затаптывают первым..
|
12.03.2018, 21:41 | #10 |
Пользователь
Регистрация: 12.11.2017
Сообщений: 14
|
Я, конечно, почитал, попробовал реализовать, но ничего не получается( Может есть еще какая-то литература более легкая? А то у меня осталось 3 часа до сдачи программы.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Несмотря на подключение masm32.inc и masm32.lib не подтягиваются функции stdin и stdout | dFender | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 15.12.2016 13:24 |
Assembler под Windows (MASM32). Чтение данных массива из файла | munthrekosh | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 05.06.2013 13:49 |
Преобразование строк | tools | Общие вопросы C/C++ | 1 | 27.12.2010 14:55 |
преобразование строк | imperceptible4462 | Помощь студентам | 14 | 07.09.2010 06:50 |
преобразование строк | euhenia | Помощь студентам | 0 | 21.11.2009 20:19 |