Проект Архитектура и организација на компјутери

  • Креатор на темата Креатор на темата boboskmk
  • Време на започнување Време на започнување
Член од
16 април 2014
Мислења
27
Поени од реакции
0
Возраст
31
Ми треба некој кој знае да го напише кодот на проектов. Во датотеката се објаснети инструкциите. Нормално плаќам за трудот.

Да се направи програма за интерпретација на едно поедноставно инструкциско множество. Инструкциското множество се состои од следните инструкции: MVI, MOV, AND, OR, NOT, LESS, LEQ, GRE, GEQ, JMP, PRN, SUM, SUB, PRB, SL и SR, кои се објаснети во овој документ. Ваша задача е да направите програма во која на влез доаѓа бинарна репрезентација на низа од инструкции, а на излез треба да го испечати соодветниот резултат (се разбира, по извршувањето на инструкциите). На влез може да ги очекувате сите инструкции освен SUM и SUB кои не треба да ги имплементирате. Не треба да се прави конверзија од бинарен во било кој друг броен систем освен во инструкцијата PRB и во моментот кога треба да ја пронајдете линијата која што треба следно да се извршува при исполнет услов (GRE, GEQ, LESS, LEQ, JMP), но споредбата на броевите во условот и понатаму треба да се прави врз бинарната репрезентација. Сите податоци се претставени во SM бинарен броен систем. На располагање се осум 16-битни регистри кои се нумерирани од 0 до 7.

#include<stdio.h>
#define MAX 1000

char registers[8][16];

void MVI(int reg, char *value) {
// vasiot kod ovde
}

void MOV(int reg1, int reg2) {
// vasiot kod ovde
}

void AND(int reg1, int reg2, int reg3) {
// vasiot kod ovde
}

void OR(int reg1, int reg2, int reg3) {
// vasiot kod ovde
}

void NOT(int reg1, int reg2) {
// vasiot kod ovde
}

void PRN(int reg) {
// vasiot kod ovde
}

void PRB(int reg1, int reg2) {
// vasiot kod ovde
}

void SL(int reg) {
// vasiot kod ovde
}

void SR(int reg) {
// vasiot kod ovde
}

int main() {
int i,j,k;
int N = 0; // number of lines in the input
char c;
char lines[MAX][16];

while (1) {
scanf("%c", &c);
if (c == '\n') {
break;
}
lines[N][0] = c;
for (i=1;i<16;i++) {
scanf("%c", &lines[N]);
}
N++;
scanf("%c", &c);
}

for (i = 0; i < 8; i++) {
for (j = 0; j < 16; j++) {
registers[j] = '0';
}
}

// vasiot kod ovde

return 0;
}
 

Attachments

Последно уредено:
Колеги, наши колеги држат часови АОК (од втора и трета година на ФИНКИ). Сите кои се заинтересирани за часови, детално можете да прочитате како да се пријавите и за целото инфо. околу часовите на следниот линкhttps://www.facebook.com/permalink.php?story_fbid=238133153050791&id=218174448379995 :)
 
Колеги, наши колеги држат часови АОК (од втора и трета година на ФИНКИ). Сите кои се заинтересирани за часови, детално можете да прочитате како да се пријавите и за целото инфо. околу часовите на следниот линкhttps://www.facebook.com/permalink.php?story_fbid=238133153050791&id=218174448379995 :)
И од мене една реклама во случај на некој да му треба ... :D
 

Kajgana Shop

Back
На врв Bottom