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

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

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

> Контрольные задачки, хелп =))
corazon
сообщение 30.11.2005 5:49
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 54
Пол: Женский
Реальное имя: Евгения

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


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

1.Вводится строка с клавиатуры с отображением на экране. Количество вводимых символов определяется параметром компиляции A1. Необходимо заменить все символы ‘a’ строки на символ, вводимый с клавиатуры. После замены вывести полученную строку на экран.

2.Вводится строка с клавиатуры с отображением на экране. Количество вводимых символов определяется параметром компиляции A4. Необходимо из введённой строки сформировать новую строку так, чтобы после символа ‘.’ был вставлен один пробел. Вывести полученную строку на экран.

3.Вводится строка с клавиатуры с отображением на экране. Количество вводимых символов определяется параметром компиляции A3. Необходимо определить количество символов ‘.’ и вывести на экран введённую строку и найденное количество.

вот они. Эх.. их еще и макроопределениями надо сделать
я прицепила то что пыталась делать по первой (странно .asm у меня грузиться не захотел, пришлось .txt).


Прикрепленные файлы
Прикрепленный файл  p1.txt ( 2.24 килобайт ) Кол-во скачиваний: 369
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
xds
сообщение 5.12.2005 1:48
Сообщение #2


N337
****

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

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


Цитата
к sol1:
что такое DGROUP?
DGROUP (Data GROUP) - группа, состоящая из сегментов данных (_DATA, _BSS, CONST) и сегмента стека (STACK). В данном случае, то же самое, что и @data.

Цитата
Код
mov ah,9; почему именно 9?
int 21h

ah = 9 / int 21 - системный вызов MS-DOS, выводящий на стандартный вывод (по-умолчанию - на экран) строку текста. В ds:dx должен находиться начальный адрес строки ("lea dx,s"), а сама строка должна завершаться символом '$' (наследие CP/M smile.gif).

Цитата
к sol2_1:
что делает процедура getchar?
а зачем buf1 и buf2?
getchar - не процедура, а макроопределение - читает символ со стандартного ввода (по умолчанию - с клавиатуры), выводит его на стандартный вывод (экран) и возвращает код символа в al.

Цитата
по sol3:
не поняла что делают div10 и write_dig
Это вывод на экран положительного целого числа в десятичном виде. Цикл "div10:" последовательно делит число на 10 ("div cx") и сохраняет остатки (цифры числа) в стеке (" push dx"). Затем, цикл "write_dig:" извлекает цифры из стека и выводит их на экран (стандартный вывод).

Цитата
n dw 0 ; зачем такой большой
В целях повышения эффективности кода (по скорости выполнения), рекомендуется оперировать словами, совпадающими по длине с разрядностью АЛУ (в его текущем режиме, если их несколько, как у x86). В данном случае у нас 16-разрядная среда, поэтому лучше работать с 16-битными данными, даже если число заведомо помещается в байт. Из тех же соображений, в ЯВУ всегда есть абстракный "целый" тип, подстраиваемый компилятором под длину слова целевой среды (той, в которой будет выполняться код).

P. S.
Цитата
Хороший человек =)
Спасибо! smile.gif


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

Сообщений в этой теме


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

 



- Текстовая версия 29.07.2025 15:47
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"