М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
AlinaSmail76
AlinaSmail76
24.03.2022 08:20 •  Информатика

Определить значения признаков cy (перенос), ac (полуперенос), s (знак), z (нуль) и p (четность) в микропроцессоре кр580вм80а после выполнения команды inr b, если до ее выполнения b = ffh.

👇
Ответ:
vilnur345
vilnur345
24.03.2022

Если верить Wiki, микропроцессор КР580ВМ80А - аналог Intel i8080A.

На страничке с описанием i8080 утверждается, что INR reg - инкремент (увеличение на единицу) регистра. В данном случае рассматривается увеличение регистра B со значением 0xFF на единицу. У процессоров серии i80386 есть схожая команда - INC.

По всей вероятности, признаки в КР - то же, что и флаги в i8080. Тогда можно провести аналогию КР - i8080:

CY - CF (перенос)

AC - AF (полуперенос)

S - SF (знак)

Z - ZF (нуль)

P - PF (чётность)

Выполнение команды INC BH (на Intel, BH - 8-битный, как и B в КР) с значением 0xFF даёт 0 в регистре BH и устанавливает в единицу ZF, PF, AF (соотв. признаки Z, P, AC), остальные флаги не меняются.

За правильность решения не ручаюсь.

4,4(73 оценок)
Открыть все ответы
Ответ:
asdghkbf
asdghkbf
24.03.2022
Var
n,t,s,d,e:integer;
begin
writeln('');
repeat
writeln('Введите сумму в рублях<=1000');
readln(n);
until (n>0) and (n<=1000);
t:=n div 1000;
n:=n-t*1000;
s:=n div 100;
n:=n-s*100;
d:=n div 10;
if d<>1 then
begin
n:=n-d*10;
e:=n;
end;
case t of
     1:write('тысяча ');
end;
if s>=0 then
case s of
     1:write('сто ');
     2:write('двести ');
     3:write('триста ');
     4:write('четыресто ');
     5:write('пятьсот ');
     6:write('шестьсот ');
     7:write('семьсот ');
     8:write('восемьсот ');
     9:write('девятьсот ');
end;
if d>=0 then
case d of
     1:
     case n of
     10: write('десять ');
     11: write('одиннадцать ');
     12: write('двенадцать ');
     13: write('тринадцать ');
     14: write('четырнадцать ');
     15: write('пятнадцать ');
     16: write('шестнадцать ');
     17: write('семнадцать ');
     18: write('восемнадцать ');
     19: write('девятнадцать ');
     end;
     2:write('двадцать ');
     3:write('тридцать ');
     4:write('сорок ');
     5:write('пятьдесят ');
     6:write('шестьдесят ');
     7:write('семьдесят ');
     8:write('восемьдесят ');
     9:write('девяносто ');
end;
if e>=0 then
case e of
     1:write('один ');
     2:write('два ');
     3:write('три ');
     4:write('четыре ');
     5:write('пять ');
     6:write('шесть ');
     7:write('семь ');
     8:write('восемь ');
     9:write('девять ');
end;
if (e=1) then write('рубль ')
else if (e=0)or(e>4) then write('рублей ')
else write('рубля ');
end.
4,5(3 оценок)
Ответ:
Narak4000
Narak4000
24.03.2022

41 байт

Объяснение:

Данные на карте = Код + Номер + Доп.Информация (25 байт)

Код: (1 код содержит 15 знаков)

Включает латинские буквы (большие и строчные) = 26×2, десятичные цифры = 10, и особые знаки из комплекта @#$%^&*() = 9

N = 26 × 2 + 10 + 9 = 72

N = 2^i

64 < 72 < 128

2^6 < 72 < 2^7 (берём большее)

i = 7 бит

1 код = 15 × 7 = 105 бит = 105 ÷ 8 = 13,125 (округляем в большую сторону) = 14 байт

Номер:

N = 1000

512 < 1000 < 1024

i = 10 бит

1 номер = 10 ÷ 8 = 1,25 (округляем в большую сторону) = 2 байта

Данные на карте = 14 байт (код) + 2 байта (номер) + 25 байт (доп.инф.) = 41 байт

ответ: 41 байт

4,7(78 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ