01.11.2011, 11:46 | #1 (permalink) |
Новичок
Регистрация: 01.11.2011
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Assembler
1) Даны два числа. Записать в регистр SI меньшее, а в регистр DI-большее из них. 2)Дана последовательность заглавных и строчных латинских букв (строка текста), размещенная по адресу DS:0020h. Преобразовать текст, превратив строчные буквы в заглавные, и записать во вторую строку, которую расположить по адресу, указанному преподавателем.Пример входных данных: "High school". Результат: "HIGH SCHOOL". Примечание: необходимо сбросить в ноль 5-й бит в ASCII-коде каждой буквы (команда AND). Исходная строка должна оставаться в памяти без изменения. |
01.11.2011, 11:46 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Довольно частая проблема, нашлись похожие темы ASSEMBLER,BASIC не могу скачать Любимый Assembler Assembler массивы Помогите найти ошибку в простой программе. Assembler. Помогите в Turbo Assembler (Debugger) Создание файла в Turbo assembler |
01.11.2011, 12:37 | #2 (permalink) |
МАГистр
Регистрация: 11.07.2010
Сообщений: 2,196
Записей в дневнике: 9
Сказал(а) спасибо: 0
Поблагодарили 10 раз(а) в 2 сообщениях
Репутация: 2976
|
объемная довольно, у самого то что получилось, данным языком как владеешь?
Я изучал ассемблер но ни о каких рпгистрах SI иDI не помню... |
01.11.2011, 12:44 | #3 (permalink) |
Banned
Регистрация: 23.11.2010
Сообщений: 6,749
Сказал(а) спасибо: 18
Поблагодарили 27 раз(а) в 6 сообщениях
Репутация: 17514
|
i386_Instructions
На самом деле задача сформулирована не полностью, поэтому и не хочу начинать. Правильно говорят - чётко поставить задачу значит наполовину решить её. Первый же вопрос - откуда ему надо взять эти два числа, и этот вопрос подразумевает очень большое разнообразие дальнейших действий. |
01.11.2011, 13:36 | #5 (permalink) |
Banned
Регистрация: 23.11.2010
Сообщений: 6,749
Сказал(а) спасибо: 18
Поблагодарили 27 раз(а) в 6 сообщениях
Репутация: 17514
|
Ты не понял... Числа можно жёстко, хотя и от фонаря, задать в программе, можно взять из каких-либо ячеек в памяти, из массива, из файла или выдать запрос на ручной ввод с терминала, соответственно пишется определённая процедура их получения. Я на ассеммблере не писал уже много лет и начинать, пока задача не сформулирована полностью не собираюсь, а если ты её полностью сформулируешь, то дальше скорее всего справишься и сам, сложного там ничего нет. В подобных ситуациях я просто проверял программы, написанные студентами, и указывал им на допущенные мелкие недоработки, например отсутствие проверки корректности пользовательского ввода.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
01.11.2011, 15:27 | #6 (permalink) |
Новичок
Регистрация: 01.11.2011
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Я девушка) С первой программой я справлюсь, но вот вторая проблематична для меня... Числа берутся из ячеек, сослаться на адрес ячейки это не проблема, но в остальном загвоздка(
|
01.11.2011, 15:31 | #7 (permalink) |
Banned
Регистрация: 23.11.2010
Сообщений: 6,749
Сказал(а) спасибо: 18
Поблагодарили 27 раз(а) в 6 сообщениях
Репутация: 17514
|
А в какой форме задаётся адрес выходной строки? И каким образом определяется длина строки?
Ну и стандартный совет: не пренебрегай составлением блок-схемы и алгоритма... |
02.11.2011, 07:21 | #9 (permalink) |
Banned
Регистрация: 23.11.2010
Сообщений: 6,749
Сказал(а) спасибо: 18
Поблагодарили 27 раз(а) в 6 сообщениях
Репутация: 17514
|
Длина строки скорее всего определяется в цикле по одному из символов(или паре) "возврат каретки" - "перевод строки" (0AH,0DH), ну а остальное ты уже и сама почти поняла
|
03.11.2011, 00:17 | #10 (permalink) |
Новичок
Регистрация: 01.11.2011
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасиб за помощь)
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|