АК_lab4

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра електронні обчислювальні машини

Інформація про роботу

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Архітектура комп’ютерів та комп’ютерних систем

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра «Електронні обчислювальні машини» Лабораторна робота №4 “Робота з симулятором машини Ноймана. Дослідження виконання асемблерної програми симулятора” з дисципліни: “Архітектура комп’ютерів” Львів – 2013 Мета: опанувати роботу асемблера на симуляторі машини Ноймана, зрозуміти і дослідити принцип виконання програми машиною Ноймана. Завдання: Розширити архітектуру систему команд симулятора машини Ноймана, скласти програму на асемблері з розшириним набором команд, перетворити її у машинні коди, запустити симулятор, увести до нього коди машинних, проаналізувати і пояснити отримані результати, довести коректність роботи розширеного набору команд, скласти звіт з виконання лабораторних досліджень та захистити його. 12 Зсув циклічний вліво  Вмістиме файлу pr2.as: lw 0 1 one lw 0 2 two lw 0 3 eight str noop 2 1 2 beq 3 2 end beq 0 0 str end sw 0 2 res halt two .fill 4 one .fill 1 eight .fill 1 res .fill 0 Вмістиме файлу pr2.nc: 8454153 8519688 8585226 30474242 18481153 16842749 12713995 25165824 4 1 1 0 Вмістиме файлу rep.txt: @@@ state: pc 8 memory: mem[ 0 ] 8454153 mem[ 1 ] 8519688 mem[ 2 ] 8585226 mem[ 3 ] 30474242 mem[ 4 ] 18481153 mem[ 5 ] 16842749 mem[ 6 ] 12713995 mem[ 7 ] 25165824 mem[ 8 ] 4 mem[ 9 ] 1 mem[ 10 ] 1 mem[ 11 ] 1 registers: reg[ 0 ] 0 reg[ 1 ] 1 reg[ 2 ] 1 reg[ 3 ] 1 reg[ 4 ] 0 reg[ 5 ] 0 reg[ 6 ] 0 reg[ 7 ] 0 end state Файл Старий код Новий код  ssol.c #define NOOP 7 #define ROL 7   else if (opcode == NOOP) { } else if (opcode == ROL) { int x = state.reg[arg0]; int n = state.reg[arg1]; __asm{ mov cl, byte ptr n rol x, cl} state.reg[arg2] = x; }  asol.c #define NOOP 7 #define ROL 7   if (strcmp(opcode, "add") && strcmp(opcode, "nand") && strcmp(opcode, "lw") && strcmp(opcode, "sw") && strcmp(opcode, "beq") && strcmp(opcode, "jalr") && strcmp(opcode, "halt") && strcmp(opcode, "noop") && strcmp(opcode, ".fill")) { printf("error: unrecognized opcode %s at address %d\n", opcode, address); exit(1); } if (strcmp(opcode, "add") && strcmp(opcode, "nand") && strcmp(opcode, "lw") && strcmp(opcode, "sw") && strcmp(opcode, "beq") && strcmp(opcode, "jalr") && strcmp(opcode, "halt") && strcmp(opcode, "rol") && strcmp(opcode, ".fill")) { printf("error: unrecognized opcode %s at address %d\n", opcode, address); exit(1); }   if (!strcmp(opcode, "add") || !strcmp(opcode, "nand") || !strcmp(opcode, "lw") || !strcmp(opcode, "sw") || !strcmp(opcode, "beq") || !strcmp(opcode, "jalr")) { testRegArg(arg0); testRegArg(arg1); } if (!strcmp(opcode, "add") || !strcmp(opcode, "nand")) { testRegArg(arg2); } if (!strcmp(opcode, "add") || !strcmp(opcode, "nand") || !strcmp(opcode, "ror") || !strcmp(opcode, "lw") || !strcmp(opcode, "sw") || !strcmp(opcode, "beq") || !strcmp(opcode, "jalr")) { testRegArg(arg0); testRegArg(arg1); } if (!strcmp(opcode, "add") || !strcmp(opcode, "nand") || !strcmp(opcode, "rol")) { testRegArg(arg2); }   num = ( NOOP << 22 ); num = (ROL << 22) | (atoi(arg0) << 19) | (atoi(arg1) << 16)| atoi(arg2);       Висновок: я опанував роботу асемблера на симуляторі машини Ноймана, зрозумів і дослідив принцип виконання програми машиною Ноймана.
Антиботан аватар за замовчуванням

30.12.2013 17:12-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!