• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Assembler

  • Автор темы Автор темы Kristi
  • Дата начала Дата начала

Kristi

Ученик
Регистрация
1 Ноя 2011
Сообщения
11
Реакции
0
Баллы
0
Помогите пожелуйста с Assemblerom...:tehnari_ru_093:
1) Даны два числа. Записать в регистр SI меньшее, а в регистр DI-большее из них.
2)Дана последовательность заглавных и строчных латинских букв (строка текста), размещенная по адресу DS:0020h. Преобразовать текст, превратив строчные буквы в заглавные, и записать во вторую строку, которую расположить по адресу, указанному преподавателем.Пример входных данных: "High school". Результат: "HIGH SCHOOL". Примечание: необходимо сбросить в ноль 5-й бит в ASCII-коде каждой буквы (команда AND). Исходная строка должна оставаться в памяти без изменения.
 
объемная довольно, у самого то что получилось, данным языком как владеешь?
Я изучал ассемблер но ни о каких рпгистрах SI иDI не помню...
 
Я изучал ассемблер но ни о каких рпгистрах SI иDI не помню...
i386_Instructions
На самом деле задача сформулирована не полностью, поэтому и не хочу начинать. Правильно говорят - чётко поставить задачу значит наполовину решить её. Первый же вопрос - откуда ему надо взять эти два числа, и этот вопрос подразумевает очень большое разнообразие дальнейших действий.
 
Числа берутся произвольные
 
Ты не понял... Числа можно жёстко, хотя и от фонаря, задать в программе, можно взять из каких-либо ячеек в памяти, из массива, из файла или выдать запрос на ручной ввод с терминала, соответственно пишется определённая процедура их получения. Я на ассеммблере не писал уже много лет и начинать, пока задача не сформулирована полностью не собираюсь, а если ты её полностью сформулируешь, то дальше скорее всего справишься и сам, сложного там ничего нет. В подобных ситуациях я просто проверял программы, написанные студентами, и указывал им на допущенные мелкие недоработки, например отсутствие проверки корректности пользовательского ввода.
 
Я девушка) С первой программой я справлюсь, но вот вторая проблематична для меня... Числа берутся из ячеек, сослаться на адрес ячейки это не проблема, но в остальном загвоздка(
 
А в какой форме задаётся адрес выходной строки? И каким образом определяется длина строки?
Ну и стандартный совет: не пренебрегай составлением блок-схемы и алгоритма... :)
 
Адрес выходной строки задается произвольно. А как определяется длина строки я не знаю((( Знаю только, что тут цикл LOOP надо использовать...
 
Длина строки скорее всего определяется в цикле по одному из символов(или паре) "возврат каретки" - "перевод строки" (0AH,0DH), ну а остальное ты уже и сама почти поняла :)
 
Спасиб за помощь)
 
Назад
Сверху