Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 30.06.2017
Сообщений: 126

Моделирование арифметических и логических операций процессора

26.11.2019, 08:50. Показов 1786. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, может кто подскажет где можно найти информацию о том, как можно реализовать данное задание:

В ходе задания необходимо реализовать 8 однобайтных регистров
процессора общего назначения, 16 однобайтных ячеек памяти и регистр флагов.

Моделированию подлежат следующие операции:
1. Операции сложения ADD, ADC.
2. Операции вычитания SUB, SUBB
3. Операцию умножения MUL
4. Операцию деления DIV
5. Операции сдвига вправо SHR, ROR, RRC
6. Операции сдвига влево SHL, ROL, RLC
7. Логические операции AND, NOT, OR, XOR

Попробовал реализовать операцию ADD, но как я понял это совсем неправильно

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  add.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                int x = Integer.parseInt(input1.getText());
                int y = Integer.parseInt(input2.getText());
                int c = 0;
 
                while (y != 0){
                    c = x & y;
                    x = x ^ y;
                    y = c << 1;
                }
 
                output.setText("Ответ: " + x);
 
            }
        });
Миниатюры
Моделирование арифметических и логических операций процессора  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.11.2019, 08:50
Ответы с готовыми решениями:

Выполнение арифметических и логических операций
В каждом из заданий переменные a, b, c, d определяются в сегменте данных и имеют размерность слово. Необходимо выполнить над ними...

Калькулятор логических/арифметических операций(подробности внутри)
1ый курс одного электротехнического вуза! Суть программы, которую нужно написать: Написать нужно на чистом Си Написать...

Моделирование арифметических операций
Для целых неотрицательных чисел n и m разрешены операции нахождения последующего числа и предыдущего числа. Промоделировать с помощью...

6
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
26.11.2019, 09:38
Давай ты подойдёшь к тому, кто дал задание, и у него спросишь правильно или нет?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.11.2019, 23:14
Прикольная задачка!

Не по теме:

Не сарказм!



Добавлено через 8 минут
Цитата Сообщение от 4elus Посмотреть сообщение
я понял это совсем неправильно
Похоже на то.
ADD - сложить два регистра, при превышении 255 выставить флаг переполнения и урезать до 8 бит(символов) строковое представление суммы. Даже не знаю, можно ли как-то еще в джаве подобные финты ушами решать без привлечения сторонних библиотек?
Например, циклический сдвиг вообще напрочь отсутствует...
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
26.11.2019, 23:26
iSmokeJC, когда то писали курсач "гипотетическая машина". У машины был странный размер слова, например 12 бит. Надо было сделать, чтобы она умела исполнять несколько инструкций кажется. И все это на ассемблере. Или например надо было спроектировать процессор из регистров, сумматоров и т.п. Была такая древняя книжка с описанием алгоритмов всех инструкций, чертежи огромные. Красота.
Собственно задание может быть чем то вот таким же например.
А может нужно написать класс Регистр, с интерфейсом как у реального сдвигового регистра, собрать из них что-то. АЛУ, счётчик инструкций и т.д.
Но так как тс не знает, что ему надо делать, остаётся только один вариант.
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.11.2019, 23:36
Цитата Сообщение от xoraxax Посмотреть сообщение
класс Регистр
вот це дило!
А как же все-таки феншуйно разруливать двоичные операции? Не в самом же деле анализом строкового представления?
BitSet?

Добавлено через 2 минуты
Ща в доках глянул - не очень-то он и богат на методы...
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
26.11.2019, 23:56
Массив булевый хотя бы
0
 Аватар для sdasdaw
406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777
27.11.2019, 03:31
add
Java
1
2
3
4
5
6
int add(int a, int b){
    return b == 0 ?
        a
        :
        add(a ^ b, (a & b) << 1);
}
sub
Java
1
2
3
4
5
6
int sub(int a, int b) {
    return b == 0 ?
        a
        :
        sub(a ^ b, (~a & b) << 1); 
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.11.2019, 03:31
Помогаю со студенческими работами здесь

Составить выражения с использование переменных программ, арифметических, логических, поразрядных операций
Помогите пожалуйста написать программу,которая бы содержала: 1.ввод с клавиатуры значений указанных типов в переменные программы. ...

Разработать логическую схему устройства для выполнения арифметических и логических операций
разработать логическую схему устройства для выполнения арифметических и логических операций. Устройство должно включать арифметические и...

Моделирование арифметических операций так как они производятся в ЭВМ
Нужно смоделировать операции + - * / на ЯП так как они производятся в ЭВМ. Я представил числа в 32-разрядной сетке 2 бита - знак, 8 бит...

Заменить в данной строке знаки арифметических операций названиями противоположных им операций
Заменить в данной строке знаки арифметических операций названиями противоположных им операций.

Напечатать все знаки арифметических операций и операций отношения
Напечатать все знаки арифметических операций и операций отношения,которые входят в заданый массив и все знаки арифметических операций и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru