1. запустите тренажёр «лампанель». введите программу
data 01d0
data 3536
data 0101
data
используя дизассемблер программы «лампанель», запишите эту программу на языке ассемблера:
программа:

запишите код команды stop:

запишите содержимое памяти, в которой располагается эта программы, в виде последовательности символов:

2. как вы думаете, какой код будет иметь команда mov r1,r3? проверьте свой ответ с программы.
3. напишите программу, которая преобразует строчные буквы в заглавные, используя байтовые операции. блок данных может выглядеть так:
d:
data "abcdefgh"

538VICTORIA8425 538VICTORIA8425    3   01.12.2019 13:17    1627

Ответы
arsenpogosyan arsenpogosyan  17.01.2022 18:55
Напишите программу, которая решает следующую задачу, используя логические операции:
В регистрах R1, R2 и R3 записаны коды трех десятичных цифр, составляющих трехзначное число
(соответственно сотни, десятки и единицы). Построить в регистре R0 это число. Например, если
R1=3116, R2=3216 и R3=3316, в регистре R0 должно
получиться десятичное число 123
ПОКАЗАТЬ ОТВЕТЫ
ramoxa ramoxa  09.01.2024 16:18
Конечно, я могу помочь с этими вопросами! Давайте разберем каждый вопрос по порядку.

1. Для записи программы на языке ассемблера, введенной через тренажер «лампанель», нам потребуется дизассемблер, чтобы прочитать машинный код и преобразовать его в ассемблерный код. Если мы предположим, что цифры после `data` являются шестнадцатеричным представлением данных, программа на языке ассемблера будет выглядеть следующим образом:

```
mov ax, 01D0
mov bx, 3536
mov cx, 0101
; остальные инструкции data здесь
```

Код команды `stop` не указан, поэтому я не могу предоставить точный ответ на этот вопрос.

Чтобы записать содержимое памяти, где располагается эта программа, в виде последовательности символов, вам понадобится адресная таблица. Но, так как адресная таблица не предоставлена, я не могу точно ответить на этот вопрос.

2. Команда `mov r1,r3` скопирует содержимое регистра R3 в регистр R1. Предполагая, что R1 и R3 могут быть двухбайтовыми регистрами, код команды будет выглядеть следующим образом:

```
mov r1, r3
```

3. Программа, которая преобразует строчные буквы в заглавные, может быть следующей:

```assembly
mov cx, 0 ; инициализация счетчика
mov al, [d+cx] ; загрузить букву из блока данных по адресу d+cx
cmp al, 97 ; сравнить с кодом символа 'a'
jl end ; если меньше 'a', перейти к концу программы
cmp al, 122 ; сравнить с кодом символа 'z'
jg end ; если больше 'z', перейти к концу программы
sub al, 32 ; вычитаем 32, чтобы преобразовать строчную букву в заглавную
mov [d+cx], al ; сохранить измененный символ обратно в блок данных
inc cx ; инкрементировать счетчик
jmp start ; перейти к началу цикла

end:
; здесь код завершения программы

d:
data "abcdefgh"
```

Это простая программа, которая перебирает буквы в блоке данных `d`, проверяет каждую букву и, если она является строчной, преобразует ее в заглавную. Затем программа переходит к следующей букве. После завершения цикла программа продолжает выполнение.

Надеюсь, это помогло! Если у вас возникнут еще вопросы, не стесняйтесь задавать. Я готов помочь!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика