РАССЫЛКИ ПОРТАЛА RFPRO.RU Лучшие эксперты по данной тематике Номер выпуска: | 1571 | Дата выхода: | 19.10.2015, 16:21 | Администратор рассылки: | Лысков Игорь Витальевич (Старший модератор) | Подписчиков / экспертов: | 16 / 7 | Вопросов / ответов: | 1 / 1 | Консультация # 188105: Здравствуйте! Прошу помощи в следующем вопросе: В ассемблере решить задачи Задание: 1. Входные данные записать в файл INPUT.TXT. Открыть этот файл для чтения, считать из него строку и, выполнив необходимые преобразования, записать результат в файл OUTPUT.TXT. При решении можно использовать функции и макросы. 2.Данные вводить с... Консультация # 188105: Здравствуйте! Прошу помощи в следующем вопросе: В ассемблере решить задачи Задание: 1. Входные данные записать в файл INPUT.TXT. Открыть этот файл для чтения, считать из него строку и, выполнив необходимые преобразования, записать результат в файл OUTPUT.TXT. При решении можно использовать функции и макросы. 2.Данные вводить с клавиатуры. Результат выводить на экран. При решении использовать макросы.
Задача: Дана строка и число n. Верно ли, что в ней есть по крайней мере n подряд идущих букв a?
т.е две задачи. Дата отправки: 15.10.2015, 17:22 Вопрос задал: Попушой Екатерина (Посетитель) Всего ответов: 1 Страница онлайн-консультации » Консультирует Зенченко Константин Николаевич (Модератор): Здравствуйте, Попушой Екатерина !
Код второго задания в приложении:
Код : model tiny maxStr equ 200 ;макрос чтения символа с клавиатуры inpChar macro xor ax,ax int 16h endm ;макрос вывода строки OutStr macro mov ah,9 int 21h endm ;макрос ввода строки inpStr macro mov ah,0ah int 21h endm code org 100h begin: ;выводим сообщение о вводе строки lea dx,dbEnterS OutStr ;вводим строку lea dx,dbMax inpStr ;выводим сообщение о вводе числа lea dx,dbEnterN OutStr ;вводим число xor di,di;сбрасываем введенное число mov bx,10;система счисления ;читаем один символ с клавиатуры без эхо @@01: inpChar cmp al,13;клавиша ENTER jz @@02;заканчисваем ввод ;проверяем диапазон цифровых клавиш cmp al,'0' jl @@01;нет повторяем ввод cmp al,'9' ja @@01 int 29h;выводим введенную цифру and ax,0fh;превращаем символ в число xchg di,ax;обмениваем с ранее введенным числом xor dx,dx mul bx;умножаем на систему счисления add di,axсуммируем jmp @@01;повторяем ввод ;готовимся к проверке строк @@02: lea si,dbStr;устанавливаем индексный регистр cld;напрвление для строковых команд mov cl,dbLen;загружаем длину введенной строки xor ch,ch xor bx,bx;сбрасываем счетчик lea dx,dbTrue;пока считаем , что верно @@03: lodsb;читаем один символ cmp al,'a';проверяем "а" jnz @@04;нет, переходим inc bx;да увеличиваем счетчик cmp di,bx;проверяем количество jz @@06;да выходим из цикла jnz @@05;нет- продолжаем цикл @@04: xor bx,bx;сбрасываем счетчик @@05: loop @@03;цикл проверки строки lea dx,dbFalse;если тут, значит нет нужного количества букв"а" @@06: OutStr;выводим строку inpChar;ожидаем ввод и любуемся результатом ret;выход dbEnterS db 10,13,'Enter string:$' dbEnterN db 10,13,'Enter number:$' dbTrue db 10,13,'True$' dbFalse db 10,13,'False$' dbMax db maxStr dbLen db ? dbStr db maxStr dup(?) end begin ps:вопросы задавайте в минифоруме. Удачи!
Оценить выпуск | Задать вопрос экспертам главная страница | стать участником | получить консультацию техническая поддержка | восстановить логин/пароль Дорогой читатель! Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно! МЫ РАБОТАЕМ ДЛЯ ВАС! |
Комментариев нет:
Отправить комментарий