Добавил:
владимир Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
24.09.2025
Размер:
2.43 Кб
Скачать
// Найти количество единиц в двоичном представлении числа sw_i (обратите внимание, sw_i – знаковое число). Вывести результат в out_o.
// Пример: sw_i = 0...0101_0110.
// Результат вычислений: out_o = 0...0100.

//begin
0 0 10 00000000000000000000000 00010 // sw_i = x2
0 0 00 00000000000000000000000 01010 // ответ = x10
0 0 00 00000000000000000000001 00011 // маска = x3
0 0 00 00000000000000000100000 00100 // конец цикла = x4
0 0 00 00000000000000000000000 00110 // результат применения операции И к маске и sw_i = x6
0 0 00 00000000000000000000001 00111 // x7 = инкремент смещения маски, а также значение, которое мы будем сравнивать с 1 и 0, а также инкремент для цикла
0 0 00 00000000000000000000000 00101 // x5 = переменная для цикла (i)
1 0 00 00000 00000 00000 00000110 00000 // перейти в loop (+6)

//equality
0 0 01 00000 01010 00111 00000000 01010 // сложить x10 с x7 и поместить результат в x10
0 0 01 00000 00101 00111 00000000 00101 // сложить x5 с x7 и поместить результат в x5
1 0 00 00000 00000 00000 00000011 00000 // перейти в loop (+3)

//inequality
0 0 01 00000 00101 00111 00000000 00101 // сложить x5 с x7 и поместить результат в x5
1 0 00 00000 00000 00000 00000001 00000 // перейти в loop (+1)

//loop
0 1 00 11111 00101 00100 00000111 00000 // если x5 >= x4 -> перейти в end (+7)
0 0 01 00111 00010 00011 00000000 00110 // (x2 И x3), записать в x6
0 0 01 00101 00110 00101 00000000 00110 // битовый сдвиг вправо x6 на x5 позиций, записать в x6
0 0 01 00001 00011 00111 00000000 00011 // битовый сдвиг влево x3 на x7 позиций, записать в x3
0 1 00 11000 00111 00110 11110111 00000 // если x7 = x6, перейти в equality (-9)
0 1 00 11001 00111 00110 11111001 00000 // если x7 != x6, перейти в inequality (-7)
1 0 00 00000 01010 00000 11111010 00000 // перейти в loop (-6)

//end
1 0 00 00000 01010 00000 00000000 00000 // вывести x10 = ответ
Соседние файлы в папке cybercobra из