<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
	<id>https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kmeeth</id>
	<title>SI Wiki - Кориснички доприноси [sr]</title>
	<link rel="self" type="application/atom+xml" href="https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kmeeth"/>
	<link rel="alternate" type="text/html" href="https://siwiki.rs/wiki/%D0%9F%D0%BE%D1%81%D0%B5%D0%B1%D0%BD%D0%BE:%D0%94%D0%BE%D0%BF%D1%80%D0%B8%D0%BD%D0%BE%D1%81%D0%B8/Kmeeth"/>
	<updated>2026-06-04T03:15:28Z</updated>
	<subtitle>Кориснички доприноси</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%90%D0%9E%D0%A02/%D0%9A2_2024&amp;diff=7616</id>
		<title>АОР2/К2 2024</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%90%D0%9E%D0%A02/%D0%9A2_2024&amp;diff=7616"/>
		<updated>2024-04-30T22:37:03Z</updated>

		<summary type="html">&lt;p&gt;Kmeeth: Нова страница: {{tocright}} {{нерешено}}&amp;lt;!-- Ово ставити уколико НИЈЕДАН задатак није решен, док уколико само неки задаци нису решени на првом месту у њиховој секцији поставити {{делимично решено}}. Уколико се користи било који од ова два шаблона, ОБАВЕЗНО проверити да ли постоји и…&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{нерешено}}&amp;lt;!-- Ово ставити уколико НИЈЕДАН задатак није решен, док уколико само неки задаци нису решени на првом месту у њиховој секцији поставити {{делимично решено}}. Уколико се користи било који од ова два шаблона, ОБАВЕЗНО проверити да ли постоји излиставање тих рокова коришћењем {{рокови}} шаблона на страници предмета у одељку за потребну помоћ (како би се знало да нерешени рокови постоје). --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Други колоквијум 2024. године&#039;&#039;&#039; одржан је 23. мaja. За израду рока није била потребна вежбанка, а није била дозвољена никаква литература.&lt;br /&gt;
&lt;br /&gt;
== 1. задатак ==&lt;br /&gt;
=== Поставка ===&lt;br /&gt;
(5) Нацртати и објаснити циклус на магистрали код кога се из оперативне синхроним [sic] меморије чита већа количина података са сукцесивних локација у пакетском могу [sic] рада без потребе за претходним пуњењем (сигнал PRE се не генерише).&lt;br /&gt;
=== Решење ===&lt;br /&gt;
&lt;br /&gt;
== 2. задатак ==&lt;br /&gt;
=== Поставка ===&lt;br /&gt;
Адресни простор процесора је величине 128КВ, адресибилна јединица је 16-битна реч. Процесор је једноадресни са раздвојеним меморијским ии У/И адресним простором и са хардверском подршком за виртуелизацију процесора.&lt;br /&gt;
Процесор поседује 16-битни акумулатор АСС, 16-битну програмску статусну реч PSW и 16-битне регистре опште намене R0 и R1. У регистру PSW постоји бит VM. Процесор прелази у мод виртуелизације постављањем бита VM на 1. Процесор поседује и регистар VMРТR који указује на тренутну ВМ контролну структуру која се користи. У табели је 1 је приказана ВМ контролна структура где се види садржај регистара домаћина, садржај регистара госта, бит мапа инструкција које изазивају ВМ излазак и разлог изласка из ВМ. Приказана структура се налази у меморији почевши од адресе 6000h. Сматрати да свако поље ове структуре заузима једну меморијску локацију и да се адреса ове структуре налази у регистру VMРТR.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Табела 1&lt;br /&gt;
|-&lt;br /&gt;
! Регистри !! Домаћин !! Гост&lt;br /&gt;
|-&lt;br /&gt;
| SP || FFFFh || EFFFh&lt;br /&gt;
|-&lt;br /&gt;
| PC || 1008h || 7000h&lt;br /&gt;
|-&lt;br /&gt;
| PSW || VM=1 || VM=0&lt;br /&gt;
|-&lt;br /&gt;
| ACC || 0h || 1h&lt;br /&gt;
|-&lt;br /&gt;
| R0 || 0h || 0h&lt;br /&gt;
|-&lt;br /&gt;
| R1 || 6000h || 0h&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Бит мапа инструкција (најнижа 4b поља): || 1101b&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | Разлог изласка: || 00h&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Поља приказане ВМ контролне структуре су смештене у меморији тако да су прво смештена поља стања домаћина, па поља стања госта и на крају поља која представљају бит мапу инструкција и разлог изласка. Вредност 1 бита у бит мапи инструкција изазива ВМ излазак. Битови бит мапе инструкција се односе на следеће инструкције: бит 0 - LD, бит 1 - ST, бит 2 - IN, бит 3 - OUT. Сматрати да инструкција НАLТ увек изазима ВМ излазак. Разлог изласка може да има следеће вредности: 00 - извршавање НАLТ инструкције, 01 - извршавање LD инструкције, 02 - извршавање ST инструкције, 03 - извршавање IN инструкције и 04 - извршавање OUT инструкције. Сматрати да се приликом ВМ уласка извршава &#039;&#039;&#039;само&#039;&#039;&#039; учитавање регистара који представљају стање госта из ВМ контролне структуре, а да се приликом ВМ изласка прво врши чување стања госта у поља госта ВМ контролне структуре, а затим учитавају регистри који представљају стање домаћина из ВМ контролне структуре у регистре процесора.&lt;br /&gt;
На слици 1 (слика 1 је била на формулару који се предаје), дат је део кода који је учитан у оперативну меморију рачунара, водеће нуле адреса и података нису приказане. Инструкција на адреси 1000h означена је као прва по редоследу извршавања, а свака следећа је означена следећим редним бројем. Почетни садржај РС је 1000h. Резултат дати након фазе извршења инстуркције.&lt;br /&gt;
=== Решење ===&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:АОР2]]&lt;/div&gt;</summary>
		<author><name>Kmeeth</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9A%D0%94%D0%9F/%D0%9A2_2019&amp;diff=6176</id>
		<title>КДП/К2 2019</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9A%D0%94%D0%9F/%D0%9A2_2019&amp;diff=6176"/>
		<updated>2023-05-11T21:36:47Z</updated>

		<summary type="html">&lt;p&gt;Kmeeth: Исправљена грешка у функцији за налажење десне виљушке&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Други колоквијум 2019. године&#039;&#039;&#039; одржан је 23. априла. Поставка се може наћи са [https://rti.etf.bg.ac.rs/rti/ir3kdp/rokovi/kdp19.zip странице предмета] (зипована).&lt;br /&gt;
&lt;br /&gt;
== {{категорија|1. задатак|Монитори}} ==&lt;br /&gt;
=== Поставка ===&lt;br /&gt;
Проблем филозофа који ручавају (&#039;&#039;Dining Philosophers Problem&#039;&#039;). Решити проблем филозофа који ручавају користећи мониторе са &#039;&#039;signal and wait&#039;&#039; дисциплином. Филозофи који су раније изразили жељу за храном треба раније да буду опслужени.&lt;br /&gt;
&lt;br /&gt;
=== Решење ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class DiningPhilosophers {&lt;br /&gt;
    public static final int N = 10;&lt;br /&gt;
    boolean forks[] = new boolean[N];&lt;br /&gt;
    Condition queue = new Condition();&lt;br /&gt;
    int ticket = 1;&lt;br /&gt;
    private int left(int id) {&lt;br /&gt;
        return id;&lt;br /&gt;
    }&lt;br /&gt;
    private int right(int id) {&lt;br /&gt;
        return (id + 1) % id;&lt;br /&gt;
    }&lt;br /&gt;
    public synchronized void acquireForks(int id) {&lt;br /&gt;
        if (queue.queue() || forks[left(id)] || forks[right(id)]) {&lt;br /&gt;
            queue.wait((ticket++) * N + id);&lt;br /&gt;
        }&lt;br /&gt;
        forks[left(id)] = true;&lt;br /&gt;
        forks[right(id)] = true;&lt;br /&gt;
        signal();&lt;br /&gt;
    }&lt;br /&gt;
    public synchronized void releaseForks(int id) {&lt;br /&gt;
        forks[left(id)] = false;&lt;br /&gt;
        forks[right(id)] = false;&lt;br /&gt;
        signal();&lt;br /&gt;
    }&lt;br /&gt;
    private void signal() {&lt;br /&gt;
        if (queue.empty()) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
        int id = queue.minrank() % N;&lt;br /&gt;
        if (!forks[left(id)] &amp;amp;&amp;amp; !forks[right(id)]) {&lt;br /&gt;
            queue.signal();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== {{категорија|2. задатак|Региони}} ==&lt;br /&gt;
=== Поставка ===&lt;br /&gt;
У берберници раде два берберина, Аца и Браца, постоји 10 столица за чекање и још петоро муштерија може да стоји и чека. Муштерије које долазе се изјашњавају да ли чекају код Аце или Браце или им је свеједно ко ће да их услужи. Ако муштерија види да нема места у берберници и не може бити услужена, одлази. Када је берберин слободан, муштерија која је најдуже чекала ће прва бити услужена (осим ако чека на другог берберина и тада тражимо следећу муштерију у низу). Када се ослободи столица за чекање, муштерија која је најдуже стајала треба да седне. Уколико је неки од берберина беспослен, он спава, и прва муштерија која код њега дође на ред треба да га пробуди и буде услужена. Користећи условне критичне регионе решити овај проблем.&lt;br /&gt;
&lt;br /&gt;
=== Решење ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;common.h&amp;quot;&lt;br /&gt;
#include &amp;lt;map&amp;gt;&lt;br /&gt;
#include &amp;lt;queue&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
struct BarberShop {&lt;br /&gt;
    // Додељивање идентификатора муштеријама по реду доласка&lt;br /&gt;
    int ticket = 1;&lt;br /&gt;
    // Идентификатор особе која седи у седишту, или 0 уколико нико не седи&lt;br /&gt;
    int seat[2] = {0};&lt;br /&gt;
    // Да ли је берберин завршио са шишањем и чека особу да плати&lt;br /&gt;
    bool finished[2] = {false};&lt;br /&gt;
    // std::map је подразумевано сортиран&lt;br /&gt;
    map&amp;lt;int, int&amp;gt; waitingQueue;&lt;br /&gt;
    // Редови чекања за муштерије код Аце, Браце и оне којима је свеједно&lt;br /&gt;
    queue&amp;lt;int&amp;gt; barberQueue[3];&lt;br /&gt;
};&lt;br /&gt;
BarberShop shop;&lt;br /&gt;
&lt;br /&gt;
const int ACA_ID = 0;&lt;br /&gt;
const int BRACA_ID = 1;&lt;br /&gt;
const int ANY_ID = 2;&lt;br /&gt;
&lt;br /&gt;
void barber(int id) {&lt;br /&gt;
    while (true) {&lt;br /&gt;
        region (shop) {&lt;br /&gt;
            // Спавамо док чекамо да прва особа која дође седне на столицу&lt;br /&gt;
            await (shop.seat[id] != 0);&lt;br /&gt;
        }&lt;br /&gt;
        // Шишање&lt;br /&gt;
        region (shop) {&lt;br /&gt;
            // Завршено шишање, чекамо на плаћање&lt;br /&gt;
            shop.finished[id] = true;&lt;br /&gt;
            await (!shop.finished[id]);&lt;br /&gt;
            // Узимамо следећу муштерију&lt;br /&gt;
            if (!shop.barberQueue[id].empty()) {&lt;br /&gt;
                shop.seat[id] = shop.barberQueue[id].front();&lt;br /&gt;
                shop.barberQueue[id].pop();&lt;br /&gt;
            } else if (!shop.barberQueue[ANY_ID].empty()) {&lt;br /&gt;
                shop.seat[id] = shop.barberQueue[ANY_ID].front();&lt;br /&gt;
                shop.barberQueue[ANY_ID].pop();&lt;br /&gt;
            } else {&lt;br /&gt;
                shop.seat[id] = 0;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Да ли је седиште за шишање код одређеног берберина тренутно резервисано за неку особу&lt;br /&gt;
int barberEquals(int barberId, int value) {&lt;br /&gt;
    if (barberId == ACA_ID &amp;amp;&amp;amp; shop.seat[ACA_ID] == value) {&lt;br /&gt;
        return ACA_ID;&lt;br /&gt;
    }&lt;br /&gt;
    if (barberId == BRACA_ID &amp;amp;&amp;amp; shop.seat[BRACA_ID] == value) {&lt;br /&gt;
        return BRACA_ID;&lt;br /&gt;
    }&lt;br /&gt;
    if (barberId == ANY_ID) {&lt;br /&gt;
        if (shop.seat[ACA_ID] == value) {&lt;br /&gt;
            return ACA_ID;&lt;br /&gt;
        }&lt;br /&gt;
        if (shop.seat[BRACA_ID] == value) {&lt;br /&gt;
            return BRACA_ID;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int barberFree(int barberId) {&lt;br /&gt;
    return barberEquals(barberId, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void client(int barberId) {&lt;br /&gt;
    region (shop) {&lt;br /&gt;
        if (shop.waitingQueue.size() == 15 &amp;amp;&amp;amp; barberFree(barberId) == -1) {&lt;br /&gt;
            // Особа не може бити услужена&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
        int myTicket = shop.ticket++;&lt;br /&gt;
        if (barberFree(barberId) != 1) {&lt;br /&gt;
            // Без чекања седамо на столицу за шишање&lt;br /&gt;
            shop.seat[barberFree(barberId)] = myTicket;&lt;br /&gt;
        } else {&lt;br /&gt;
            shop.barberQueue[barberId].push(myTicket);&lt;br /&gt;
            // Овиме повећавамо shop.waitingQueue.size()&lt;br /&gt;
            shop.waitingQueue[myTicket] = shop.waitingQueue.size();&lt;br /&gt;
            // Чекамо на столицу за чекање или шишање&lt;br /&gt;
            await (shop.waitingQueue[myTicket] &amp;lt; 10 || barberEquals(barberId, myTicket) != -1);&lt;br /&gt;
            if (barberEquals(barberId, myTicket) == -1) {&lt;br /&gt;
                // Седамо на столицу за чекање&lt;br /&gt;
                await (barberEquals(barberId, myTicket) != -1);&lt;br /&gt;
            }&lt;br /&gt;
            // Устали смо са столице и смањујемо shop.waitingQueue.size&lt;br /&gt;
            shop.waitingQueue.erase(myTicket);&lt;br /&gt;
            int i = 0;&lt;br /&gt;
            for (auto&amp;amp; it : shop.waitingQueue) {&lt;br /&gt;
                shop.waitingQueue[it.first] = i++;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        int barber = barberEquals(barberId, myTicket);&lt;br /&gt;
        // Чекање током шишања&lt;br /&gt;
        await (shop.finished[barber]);&lt;br /&gt;
        // Плаћање&lt;br /&gt;
        shop.finished[barber] = false;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:КДП]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Kmeeth</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9A%D0%94%D0%9F/%D0%9A2_2022&amp;diff=6175</id>
		<title>КДП/К2 2022</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9A%D0%94%D0%9F/%D0%9A2_2022&amp;diff=6175"/>
		<updated>2023-05-11T21:33:01Z</updated>

		<summary type="html">&lt;p&gt;Kmeeth: Исправљена грешка у услову за улазак жене и деце&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Други колоквијум 2022. године&#039;&#039;&#039; одржан је 15. маја.&lt;br /&gt;
&lt;br /&gt;
== {{категорија|1. задатак|Монитори}} ==&lt;br /&gt;
=== Поставка ===&lt;br /&gt;
Решити проблем Читалаца и писаца (Readers/Writers) користећи мониторе са дисциплином &#039;&#039;Signal and Continue&#039;&#039;. Проблем решити користећи технику прослеђивања услова (&#039;&#039;Passing the Condition&#039;&#039;). Монитор треба да поседује 4 методе: &amp;lt;code&amp;gt;lockShared()&amp;lt;/code&amp;gt; — желим да читам, &amp;lt;code&amp;gt;lockExclusive()&amp;lt;/code&amp;gt; — желим да пишем, &amp;lt;code&amp;gt;unlock()&amp;lt;/code&amp;gt; — завршавам, и &amp;lt;code&amp;gt;upgradeLock()&amp;lt;/code&amp;gt; — са читања прелазим на писање.&lt;br /&gt;
&lt;br /&gt;
=== Решење ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class ReadersWriters {&lt;br /&gt;
    private int readers = 0;&lt;br /&gt;
    private int writers = 0;&lt;br /&gt;
    private int ticket = 1;&lt;br /&gt;
    private Condition okToRead = new Condition();&lt;br /&gt;
    private Condition okToWrite = new Condition();&lt;br /&gt;
    public synchronized void lockShared() {&lt;br /&gt;
        if (writers == 0 &amp;amp;&amp;amp; okToWrite.empty()) {&lt;br /&gt;
            ++readers;&lt;br /&gt;
        } else {&lt;br /&gt;
            okToRead.wait(ticket++);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public synchronized void lockExclusive() {&lt;br /&gt;
        if (readers == 0 &amp;amp;&amp;amp; writers == 0) {&lt;br /&gt;
            ++writers;&lt;br /&gt;
        } else {&lt;br /&gt;
            okToWrite.wait(ticket++);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public synchronized void unlock() {&lt;br /&gt;
        if (readers &amp;gt; 0) {&lt;br /&gt;
            if (--readers == 0 &amp;amp;&amp;amp; okToWrite.queue()) {&lt;br /&gt;
                writers = 1;&lt;br /&gt;
                okToWrite.signal();&lt;br /&gt;
            }&lt;br /&gt;
        } else {&lt;br /&gt;
            boolean readersNext = okToRead.queue() &amp;amp;&amp;amp; (okToWrite.empty() || okToRead.minrank() &amp;lt; okToWrite.minrank());&lt;br /&gt;
            boolean writersNext = okToWrite.queue() &amp;amp;&amp;amp; (okToRead.empty() || okToWrite.minrank() &amp;lt; okToRead.minrank());&lt;br /&gt;
            if (readersNext) {&lt;br /&gt;
                while (okToRead.queue() &amp;amp;&amp;amp; okToRead.minrank() &amp;lt; okToWrite.minrank()) {&lt;br /&gt;
                    ++readers;&lt;br /&gt;
                    okToRead.signal();&lt;br /&gt;
                }&lt;br /&gt;
            } else if (writersNext) {&lt;br /&gt;
                okToWrite.signal();&lt;br /&gt;
            } else {&lt;br /&gt;
                writers = 0;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public synchronized void upgradeLock() {&lt;br /&gt;
        if (readers == 1) {&lt;br /&gt;
            // Ако је само један читалац, конвертуј га у писца&lt;br /&gt;
            readers = 0;&lt;br /&gt;
            writers = 1;&lt;br /&gt;
        } else {&lt;br /&gt;
            // У супротном, мораће да сачека остале читаоце и писце како би постао писац&lt;br /&gt;
            unlock();&lt;br /&gt;
            lockExclusive();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== {{категорија|2. задатак|Региони}} ==&lt;br /&gt;
=== Поставка ===&lt;br /&gt;
На обали реке се налази чамац који може да прими тачно десет путника. Чамац могу да користе мушкарци, жене и деца. Чамац може да исплови само ако се у њему налази тачно онолико путника колики му је капацитет, али само под условом да се у чамцу налазе бар два мушкарца. Деца не смеју ући у чамац уколико се у њему не налазе бар једна одрасла особа и по завршетку вожње у чамцу не смеју да остану само деца. Сматрати да ће се&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; чамац након искрцавања свих путника одмах бити спреман да прими наредну групу путника. Користећи регионе написати програм који решава овај проблем.&lt;br /&gt;
&lt;br /&gt;
=== Решење ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
struct Boat {&lt;br /&gt;
    // Број мушкараца, жена и деце&lt;br /&gt;
    int men = 0;&lt;br /&gt;
    int women = 0;&lt;br /&gt;
    int children = 0;&lt;br /&gt;
    // Да ли је вожња готова (да ли је у току искрцавање)&lt;br /&gt;
    bool done;&lt;br /&gt;
    // Помоћне методе&lt;br /&gt;
    int total() {&lt;br /&gt;
        return men + women + children;&lt;br /&gt;
    }&lt;br /&gt;
    int adults() {&lt;br /&gt;
        return men + women;&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
Boat boat;&lt;br /&gt;
&lt;br /&gt;
void boatP() {&lt;br /&gt;
    while (true) {&lt;br /&gt;
        region (boat) {&lt;br /&gt;
            boat.done = false;&lt;br /&gt;
            await (boat.total() == 10 &amp;amp;&amp;amp; boat.men &amp;gt;= 2);&lt;br /&gt;
        }&lt;br /&gt;
        // Вожња&lt;br /&gt;
        region (boat) {&lt;br /&gt;
            boat.done = true;&lt;br /&gt;
            await (boat.total() == 0);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void man() {&lt;br /&gt;
    while (true) {&lt;br /&gt;
        region (boat) {&lt;br /&gt;
            await (!boat.done);&lt;br /&gt;
            if (boat.total() &amp;lt; 10) {&lt;br /&gt;
                ++boat.men;&lt;br /&gt;
                break;&lt;br /&gt;
            } else {&lt;br /&gt;
                // Нисмо се укрцали, чекамо да се заврши вожња па поново&lt;br /&gt;
                await (boat.done);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    // Укрцани смо&lt;br /&gt;
    region (boat) {&lt;br /&gt;
        await (boat.done);&lt;br /&gt;
        // Ако смо последњи одрасли, чекамо да сва деца изађу&lt;br /&gt;
        if (boat.adults() == 1 &amp;amp;&amp;amp; boat.children &amp;gt; 0) {&lt;br /&gt;
            await (boat.children == 0);&lt;br /&gt;
        }&lt;br /&gt;
        --boat.men;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void woman() {&lt;br /&gt;
    while (true) {&lt;br /&gt;
        region (boat) {&lt;br /&gt;
            await (!boat.done);&lt;br /&gt;
            if (boat.total() &amp;lt; 10 &amp;amp;&amp;amp; boat.total() - boat.men &amp;lt;= 7) {&lt;br /&gt;
                ++boat.women;&lt;br /&gt;
                break;&lt;br /&gt;
            } else {&lt;br /&gt;
                // Нисмо се укрцали, чекамо да се заврши вожња па поново&lt;br /&gt;
                await (boat.done);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    // Укрцани смо&lt;br /&gt;
    region (boat) {&lt;br /&gt;
        await (boat.done);&lt;br /&gt;
        // Ако смо последњи одрасли, чекамо да сва деца изађу&lt;br /&gt;
        if (boat.adults() == 1 &amp;amp;&amp;amp; boat.children &amp;gt; 0) {&lt;br /&gt;
            await (boat.children == 0);&lt;br /&gt;
        }&lt;br /&gt;
        --boat.women;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void child() {&lt;br /&gt;
    while (true) {&lt;br /&gt;
        region (boat) {&lt;br /&gt;
            await (!boat.done);&lt;br /&gt;
            if (boat.total() &amp;lt; 10 &amp;amp;&amp;amp; boat.total() - boat.men &amp;lt;= 7 &amp;amp;&amp;amp; boat.adults() &amp;gt; 0) {&lt;br /&gt;
                ++boat.children;&lt;br /&gt;
                break;&lt;br /&gt;
            } else {&lt;br /&gt;
                // Нисмо се укрцали, чекамо да се заврши вожња па поново&lt;br /&gt;
                await (boat.done);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    // Укрцани смо&lt;br /&gt;
    region (boat) {&lt;br /&gt;
        await (boat.done);&lt;br /&gt;
        --boat.children;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:КДП]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Kmeeth</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A0%D0%B0%D1%87%D1%83%D0%BD%D0%B0%D1%80%D1%81%D0%BA%D0%B5_%D0%BC%D1%80%D0%B5%D0%B6%D0%B5_1/%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D0%B0%D1%82_2021&amp;diff=4727</id>
		<title>Рачунарске мреже 1/Пројекат 2021</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A0%D0%B0%D1%87%D1%83%D0%BD%D0%B0%D1%80%D1%81%D0%BA%D0%B5_%D0%BC%D1%80%D0%B5%D0%B6%D0%B5_1/%D0%9F%D1%80%D0%BE%D1%98%D0%B5%D0%BA%D0%B0%D1%82_2021&amp;diff=4727"/>
		<updated>2022-08-29T19:24:50Z</updated>

		<summary type="html">&lt;p&gt;Kmeeth: /* R4 */  Исправљена грешка&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[[Медиј:RM1 Projekat 2020.pdf|Isti projekat]] bio je zadat 2020. i 2021. godine, pa je vreme bilo za vodič poput ovog ispod. Za svaki uređaj date su instrukcije za podešavanje ispod kako bi uslovi postavke bili ispunjeni. Linije podešavanja koje počinju sa &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; su komentari i ne treba ih pisati u komandnoj liniji. Ipak, &#039;&#039;&#039;pokušajte da projekat prvo uradite sami&#039;&#039;&#039;, gledajući vežbe drugog i trećeg bloka koje imaju veze sa &#039;&#039;Packet Tracer&#039;&#039;, jer se sa njima ovaj projekat uradi za oko jedan dan. Takođe je, zbog odbrane projekta, bitno da razumete šta znače komande koje kucate. Ako to ne razumete, možete pogledati [[Рачунарске мреже 1/Packet Tracer|vodič za &#039;&#039;Packet Tracer&#039;&#039;]] komande.&lt;br /&gt;
&lt;br /&gt;
== Osnovna podešavanja ==&lt;br /&gt;
# Nacrtati šemu kao u postavci projekta jer se ostatak ovog vodiča zasniva na tim brojevima.&lt;br /&gt;
# U svaki switch i ruter dodati FastEthernet ili GigabitEthernet modul kroz Physical tab. Broj i tip su proizvoljni. Ovde će biti dodavani samo FastEthernet (&amp;lt;code&amp;gt;*-1CFE&amp;lt;/code&amp;gt;) moduli kako bi komande bile jednostavnije. Pre ubacivanja modula morate isključiti uređaj, pa ga uključite čim ih ubacite.&lt;br /&gt;
# Povežite uređaje kablovima. Oni koji se na slici prikazuju kao isprekidani su Copper Cross-Over kablovi dok su oni ostali Copper Straight-Through.&lt;br /&gt;
# Podesite u Options → Preferences opciju &amp;quot;Show Port Labels When Mouse Over In Logical Workspace&amp;quot; ako već nije kako biste mogli da vidite broj porta kad pređete mišem preko trouglića na tom portu&lt;br /&gt;
&lt;br /&gt;
== R1 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
en&lt;br /&gt;
configure terminal&lt;br /&gt;
hostname R1&lt;br /&gt;
! Podešavanje IP adrese prema R3&lt;br /&gt;
interface Fa0/0&lt;br /&gt;
ip address 192.168.13.1 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje IP adrese prema R2&lt;br /&gt;
interface Fa1/0&lt;br /&gt;
ip address 192.168.12.1 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje IP adrese prema mreži na Switch3&lt;br /&gt;
interface Fa2/0&lt;br /&gt;
ip address 192.168.0.1 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje OSPF&lt;br /&gt;
router ospf 1&lt;br /&gt;
network 192.168.0.0 0.0.0.255 area 0&lt;br /&gt;
network 192.168.12.0 0.0.0.255 area 0&lt;br /&gt;
network 192.168.13.0 0.0.0.255 area 0&lt;br /&gt;
exit&lt;br /&gt;
! Telnet&lt;br /&gt;
line vty 0 4&lt;br /&gt;
password pass_telnet&lt;br /&gt;
login&lt;br /&gt;
exit&lt;br /&gt;
line console 0&lt;br /&gt;
password pass_console&lt;br /&gt;
login&lt;br /&gt;
exit&lt;br /&gt;
enable password pass_enable&lt;br /&gt;
banner motd &amp;quot;&lt;br /&gt;
Lozinka za Telnet pristup je pass_telnet.&lt;br /&gt;
Lozinka za konzolni pristup je pass_console.&lt;br /&gt;
Lozinka za enable je pass_enable.&lt;br /&gt;
&amp;quot;&lt;br /&gt;
! Izađi iz moda podešavanja&lt;br /&gt;
exit&lt;br /&gt;
! Sačuvaj trenutna podešavanja (ovo radite često)&lt;br /&gt;
copy running-config startup-config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== R2 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
en&lt;br /&gt;
configure terminal&lt;br /&gt;
hostname R2&lt;br /&gt;
! Podešavanje IP adrese prema R1&lt;br /&gt;
interface Fa0/0&lt;br /&gt;
ip address 192.168.12.2 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje IP adrese prema R4&lt;br /&gt;
interface Fa2/0&lt;br /&gt;
ip address 192.168.24.1 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje IP adrese prema R5&lt;br /&gt;
interface Fa1/0&lt;br /&gt;
ip address 8.0.25.1 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje RIPv2&lt;br /&gt;
router rip&lt;br /&gt;
version 2&lt;br /&gt;
network 8.0.25.0&lt;br /&gt;
redistribute ospf 1 metric 1&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje OSPF&lt;br /&gt;
router ospf 1&lt;br /&gt;
network 192.168.12.0 0.0.0.255 area 0&lt;br /&gt;
network 192.168.24.0 0.0.0.255 area 0&lt;br /&gt;
redistribute rip metric 25 metric-type 2 subnets&lt;br /&gt;
exit&lt;br /&gt;
! Izađi iz moda podešavanja&lt;br /&gt;
exit&lt;br /&gt;
! Sačuvaj trenutna podešavanja (ovo radite često)&lt;br /&gt;
copy running-config startup-config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== R3 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
en&lt;br /&gt;
configure terminal&lt;br /&gt;
hostname R3&lt;br /&gt;
! Podešavanje IP adrese prema R1&lt;br /&gt;
interface Fa0/0&lt;br /&gt;
ip address 192.168.13.2 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje IP adrese prema mreži na Switch0&lt;br /&gt;
interface Fa1/0&lt;br /&gt;
ip address 192.168.1.1 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje OSPF&lt;br /&gt;
router ospf 1&lt;br /&gt;
network 192.168.13.0 0.0.0.255 area 0&lt;br /&gt;
network 192.168.1.0 0.0.0.255 area 1&lt;br /&gt;
area 1 stub no-summary&lt;br /&gt;
exit&lt;br /&gt;
! Izađi iz moda podešavanja&lt;br /&gt;
exit&lt;br /&gt;
! Sačuvaj trenutna podešavanja (ovo radite često)&lt;br /&gt;
copy running-config startup-config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== R4 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
en&lt;br /&gt;
configure terminal&lt;br /&gt;
hostname R4&lt;br /&gt;
! Podešavanje IP adrese prema R2&lt;br /&gt;
interface Fa0/0&lt;br /&gt;
ip address 192.168.24.2 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje IP adrese prema mreži na Switch1&lt;br /&gt;
interface Fa1/0&lt;br /&gt;
ip address 192.168.2.1 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje OSPF&lt;br /&gt;
router ospf 1&lt;br /&gt;
network 192.168.24.0 0.0.0.255 area 0&lt;br /&gt;
network 192.168.2.0 0.0.0.255 area 2&lt;br /&gt;
area 2 stub&lt;br /&gt;
exit&lt;br /&gt;
! Izađi iz moda podešavanja&lt;br /&gt;
exit&lt;br /&gt;
! Sačuvaj trenutna podešavanja (ovo radite često)&lt;br /&gt;
copy running-config startup-config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== R5 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
en&lt;br /&gt;
configure terminal&lt;br /&gt;
hostname R5&lt;br /&gt;
! Podešavanje IP adrese prema R2&lt;br /&gt;
interface Fa0/0&lt;br /&gt;
ip address 8.0.25.2 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje IP adrese prema mreži na Switch2&lt;br /&gt;
interface Fa1/0&lt;br /&gt;
ip address 8.0.0.1 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! DHCP&lt;br /&gt;
!! Podešavanje DHCP pool-a&lt;br /&gt;
ip dhcp pool R5_DHCP&lt;br /&gt;
network 8.0.0.0 255.255.255.0&lt;br /&gt;
default-router 8.0.0.1&lt;br /&gt;
dns-server 8.0.0.3&lt;br /&gt;
exit&lt;br /&gt;
!! Izbacivanje adresa iz dodeljivanja za DHCP&lt;br /&gt;
ip dhcp excluded-address 8.0.0.0 8.0.0.15&lt;br /&gt;
ip dhcp excluded-address 8.0.0.18 8.0.0.24&lt;br /&gt;
! Podešavanje RIPv2&lt;br /&gt;
router rip&lt;br /&gt;
version 2&lt;br /&gt;
network 8.0.0.0&lt;br /&gt;
network 8.0.25.0&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje ACL&lt;br /&gt;
ip access-list extended R5_ACL&lt;br /&gt;
permit udp any host 8.0.0.3 eq domain&lt;br /&gt;
deny ip any host 8.0.0.3&lt;br /&gt;
permit tcp any host 8.0.0.2 eq www&lt;br /&gt;
permit icmp any host 8.0.0.2 echo&lt;br /&gt;
deny ip any host 8.0.0.2&lt;br /&gt;
permit ip any any&lt;br /&gt;
exit&lt;br /&gt;
! Primenjujemo ACL nad ulaznim portovima iz R2&lt;br /&gt;
interface Fa0/0&lt;br /&gt;
ip access-group R5_ACL in&lt;br /&gt;
exit&lt;br /&gt;
! Izađi iz moda podešavanja&lt;br /&gt;
exit&lt;br /&gt;
! Sačuvaj trenutna podešavanja (ovo radite često)&lt;br /&gt;
copy running-config startup-config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS local ==&lt;br /&gt;
# U Desktop → IP Configuration podesiti:&lt;br /&gt;
#* IPv4 Address: &amp;lt;code&amp;gt;192.168.0.2&amp;lt;/code&amp;gt; &lt;br /&gt;
#* Subnet Mask: &amp;lt;code&amp;gt;255.255.255.0&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Default Gateway: &amp;lt;code&amp;gt;192.168.0.1&amp;lt;/code&amp;gt;&lt;br /&gt;
#* DNS Server: &amp;lt;code&amp;gt;0.0.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
# U Services → DNS podesiti:&lt;br /&gt;
#* DNS Service: On&lt;br /&gt;
#* Name: &amp;lt;code&amp;gt;com&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Type: NS Record&lt;br /&gt;
#* Server Name: &amp;lt;code&amp;gt;ns.com&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Kliknuti Add&lt;br /&gt;
#* Name: &amp;lt;code&amp;gt;ns.com&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Type: A Record&lt;br /&gt;
#* Address: &amp;lt;code&amp;gt;8.0.0.3&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Kliknuti Add&lt;br /&gt;
&lt;br /&gt;
== DHCP ==&lt;br /&gt;
# U Desktop → IP Configuration podesiti:&lt;br /&gt;
#* IPv4 Address: &amp;lt;code&amp;gt;192.168.1.2&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Subnet Mask: &amp;lt;code&amp;gt;255.255.255.0&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Default Gateway: &amp;lt;code&amp;gt;192.168.1.1&amp;lt;/code&amp;gt;&lt;br /&gt;
#* DNS Server: &amp;lt;code&amp;gt;0.0.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
# U Services → DHCP podesiti:&lt;br /&gt;
#* Service: On&lt;br /&gt;
#* Default Gateway: &amp;lt;code&amp;gt;192.168.1.1&amp;lt;/code&amp;gt;&lt;br /&gt;
#* DNS Server: &amp;lt;code&amp;gt;192.168.0.2&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Start IP Address: &amp;lt;code&amp;gt;192.168.1.5&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Subnet Mask: &amp;lt;code&amp;gt;255.255.255.0&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Kliknuti Save&lt;br /&gt;
&lt;br /&gt;
== www.google.com ==&lt;br /&gt;
# U Desktop → IP Configuration podesiti:&lt;br /&gt;
#* IPv4 Address: &amp;lt;code&amp;gt;8.0.0.2&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Subnet Mask: &amp;lt;code&amp;gt;255.255.255.0&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Default Gateway: &amp;lt;code&amp;gt;8.0.0.1&amp;lt;/code&amp;gt;&lt;br /&gt;
#* DNS Server: &amp;lt;code&amp;gt;0.0.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
# U Services → HTTP podesiti sadržaj &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; kako bi bio prepoznatljiv (HTTP bi već trebalo da je uključen na svim serverima podrazumevano).&lt;br /&gt;
&lt;br /&gt;
== DNS google.com ==&lt;br /&gt;
# U Desktop → IP Configuration podesiti:&lt;br /&gt;
#* IPv4 Address: &amp;lt;code&amp;gt;8.0.0.3&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Subnet Mask: &amp;lt;code&amp;gt;255.255.255.0&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Default Gateway: &amp;lt;code&amp;gt;8.0.0.1&amp;lt;/code&amp;gt;&lt;br /&gt;
#* DNS Server: &amp;lt;code&amp;gt;0.0.0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
# U Services → DNS podesiti:&lt;br /&gt;
#* DNS Service: On&lt;br /&gt;
#* Name: &amp;lt;code&amp;gt;google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Type: A Record&lt;br /&gt;
#* Address: &amp;lt;code&amp;gt;8.0.0.2&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Kliknuti Add&lt;br /&gt;
#* Name: &amp;lt;code&amp;gt;www.google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Type: CNAME&lt;br /&gt;
#* Host Name: &amp;lt;code&amp;gt;google.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PC0, PC1 ==&lt;br /&gt;
U Desktop → IP Configuration podesiti (nakon podešavanja DHCP servera u OSPF oblasti 1) da se IPv4 adrese dobijaju preko DHCP.&lt;br /&gt;
&lt;br /&gt;
== PC2 ==&lt;br /&gt;
U Desktop → IP Configuration podesiti:&lt;br /&gt;
* IPv4 Address: &amp;lt;code&amp;gt;192.168.2.2&amp;lt;/code&amp;gt;&lt;br /&gt;
* Subnet Mask: &amp;lt;code&amp;gt;255.255.255.0&amp;lt;/code&amp;gt;&lt;br /&gt;
* Default Gateway: &amp;lt;code&amp;gt;192.168.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* DNS Server: &amp;lt;code&amp;gt;192.168.0.2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PC3 ==&lt;br /&gt;
U Desktop → IP Configuration podesiti:&lt;br /&gt;
* IPv4 Address: &amp;lt;code&amp;gt;192.168.2.3&amp;lt;/code&amp;gt;&lt;br /&gt;
* Subnet Mask: &amp;lt;code&amp;gt;255.255.255.0&amp;lt;/code&amp;gt;&lt;br /&gt;
* Default Gateway: &amp;lt;code&amp;gt;192.168.2.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* DNS Server: &amp;lt;code&amp;gt;192.168.0.2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PC4, PC5, PC6 ==&lt;br /&gt;
U Desktop → IP Configuration podesiti (nakon podešavanja DHCP na R5) da se IPv4 adrese dobijaju preko DHCP.&lt;br /&gt;
&lt;br /&gt;
== PC10 ==&lt;br /&gt;
U Desktop → IP Configuration podesiti:&lt;br /&gt;
* IPv4 Address: &amp;lt;code&amp;gt;192.168.0.3&amp;lt;/code&amp;gt;&lt;br /&gt;
* Subnet Mask: &amp;lt;code&amp;gt;255.255.255.0&amp;lt;/code&amp;gt;&lt;br /&gt;
* Default Gateway: &amp;lt;code&amp;gt;192.168.0.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* DNS Server: &amp;lt;code&amp;gt;192.168.0.2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PC11 ==&lt;br /&gt;
U Desktop → IP Configuration podesiti:&lt;br /&gt;
* IPv4 Address: &amp;lt;code&amp;gt;192.168.0.4&amp;lt;/code&amp;gt;&lt;br /&gt;
* Subnet Mask: &amp;lt;code&amp;gt;255.255.255.0&amp;lt;/code&amp;gt;&lt;br /&gt;
* Default Gateway: &amp;lt;code&amp;gt;192.168.0.1&amp;lt;/code&amp;gt;&lt;br /&gt;
* DNS Server: &amp;lt;code&amp;gt;192.168.0.2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Testiranje ==&lt;br /&gt;
Komandom &amp;lt;code&amp;gt;show ip access-lists&amp;lt;/code&amp;gt; možete prikazati broj puta koliko je neko pravilo u ACL korišćeno, pa na osnovu toga možete da vidite da li je dobro. Za gornja pravila u ACL testiranje je ovakvo:&lt;br /&gt;
* &amp;lt;code&amp;gt;permit udp any host 8.0.0.3 eq domain&amp;lt;/code&amp;gt;: Uđite u Command Prompt na nekom računaru i pokrenite &amp;lt;code&amp;gt;ping google.com&amp;lt;/code&amp;gt; (trebalo bi da uspe ako zahtev stigne do google.com DNS servera i vrati se)&lt;br /&gt;
* &amp;lt;code&amp;gt;deny ip any host 8.0.0.3&amp;lt;/code&amp;gt;: Uđite u Command Prompt na nekom računaru i pokrenite &amp;lt;code&amp;gt;ping 8.0.0.3&amp;lt;/code&amp;gt; (trebalo bi da ne uspe)&lt;br /&gt;
* &amp;lt;code&amp;gt;permit tcp any host 8.0.0.2 eq www&amp;lt;/code&amp;gt;: Uđite u web browser na nekom računaru i posetite &amp;lt;code&amp;gt;google.com&amp;lt;/code&amp;gt; (trebalo bi da prikaže stranicu)&lt;br /&gt;
* &amp;lt;code&amp;gt;permit icmp any host 8.0.0.2 echo&amp;lt;/code&amp;gt;: Uđite u Command Prompt na nekom računaru i pokrenite &amp;lt;code&amp;gt;ping google.com&amp;lt;/code&amp;gt; (trebalo bi da uspe)&lt;br /&gt;
* &amp;lt;code&amp;gt;deny ip any host 8.0.0.2&amp;lt;/code&amp;gt;: Uđite u Command Prompt na nekom računaru i pokrenite &amp;lt;code&amp;gt;telnet google.com&amp;lt;/code&amp;gt; (trebalo bi da ne uspe)&lt;br /&gt;
* &amp;lt;code&amp;gt;permit ip any any&amp;lt;/code&amp;gt;: Uđite u Command Prompt na nekom računaru i pokrenite &amp;lt;code&amp;gt;ping 8.0.0.16&amp;lt;/code&amp;gt; (trebalo bi da uspe)&lt;br /&gt;
&lt;br /&gt;
== Modifikacije ==&lt;br /&gt;
U junskom roku 2021. su došle sledeće modifikacije:&lt;br /&gt;
* Prvi termin:&lt;br /&gt;
*#&lt;br /&gt;
*#* U OSPF Area 1 dodati novi ruter RX.&lt;br /&gt;
*#* Ruter RX povezati samo na Switch0.&lt;br /&gt;
*#* Ruteru RX postaviti IP adresu &amp;lt;code&amp;gt;192.168.1.4&amp;lt;/code&amp;gt;.&lt;br /&gt;
*#&lt;br /&gt;
*#* Na ruteru R1 definisati ACL tako da se lokalnom DNS serveru (&amp;lt;code&amp;gt;192.168.0.2&amp;lt;/code&amp;gt;) može pristupiti samo sa DNS zahtevom.&lt;br /&gt;
*#* Ruteru RX dozvoliti i ICMP request ka lokalnom DNS serveru (&amp;lt;code&amp;gt;192.168.0.2&amp;lt;/code&amp;gt;).&lt;br /&gt;
*#&lt;br /&gt;
*#* Konfigurisati lokalni DNS server u oblasti 0 OSPF segmenta da za sve &amp;lt;code&amp;gt;.rs&amp;lt;/code&amp;gt; domene koristi server na adresi &amp;lt;code&amp;gt;8.0.0.3&amp;lt;/code&amp;gt;.&lt;br /&gt;
*#* DNS server u RIP segmentu podesiti tako da razrešava i domen &amp;lt;code&amp;gt;rm1.rs&amp;lt;/code&amp;gt;.&lt;br /&gt;
*#* Smatrati da je &amp;lt;code&amp;gt;rm1.rs&amp;lt;/code&amp;gt; drugo ime za &amp;lt;code&amp;gt;google.com&amp;lt;/code&amp;gt;.&lt;br /&gt;
* U drugom terminu je došlo isto, samo je naglašeno da se mora podesiti i OSPF na RX i ACL u drugoj stavci je bio da se svim uređajima osim RX dozvoli ICMP echo request.&lt;br /&gt;
* U trećem terminu RX je bio u Area 2 i imao je najveću adresu unutar mreže u kojoj se nalazi, dok je ACL bio da se zabrane spoljašnji ICMP echo request ka &amp;lt;code&amp;gt;192.168.1.0/24&amp;lt;/code&amp;gt; na R3.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Sledeće rešenje je za modifikaciju u prvom terminu.&lt;br /&gt;
&lt;br /&gt;
==== RX ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
en&lt;br /&gt;
conf t&lt;br /&gt;
hostname RX&lt;br /&gt;
! Podešavanje IP adrese&lt;br /&gt;
interface Fa0/0&lt;br /&gt;
ip address 192.168.1.4 255.255.255.0&lt;br /&gt;
no shutdown&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje OSPF kako bi se prihvatile rute&lt;br /&gt;
router ospf 1&lt;br /&gt;
network 192.168.1.0 0.0.0.255 area 1&lt;br /&gt;
area 1 stub&lt;br /&gt;
exit&lt;br /&gt;
! Čuvanje&lt;br /&gt;
exit&lt;br /&gt;
copy running-config startup-config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== R1 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
en&lt;br /&gt;
conf t&lt;br /&gt;
ip access-list extended R1_ACL&lt;br /&gt;
! Dozvoljava se DNS upit za DNS local&lt;br /&gt;
permit udp any host 192.168.0.2 eq domain&lt;br /&gt;
! Bez ovoga neće raditi pristup google.com osim ako se ne kešira na DNS local&lt;br /&gt;
permit udp host 8.0.0.3 host 192.168.0.2&lt;br /&gt;
! Dozvoljava se ping sa RX na DNS local&lt;br /&gt;
permit icmp host 192.168.1.4 host 192.168.0.2 echo&lt;br /&gt;
! Zabranjuje se sve ostalo sa DNS local&lt;br /&gt;
deny ip any host 192.168.0.2&lt;br /&gt;
! Dozvoljava se sve ostalo sa ostalim računarima&lt;br /&gt;
permit ip any any&lt;br /&gt;
exit&lt;br /&gt;
! Podešavanje ACL na ulaznim interfejsima (prema R2 i prema R3)&lt;br /&gt;
interface Fa0/0&lt;br /&gt;
ip access-group R1_ACL in&lt;br /&gt;
exit&lt;br /&gt;
interface Fa1/0&lt;br /&gt;
ip access-group R1_ACL in&lt;br /&gt;
exit&lt;br /&gt;
! Čuvanje&lt;br /&gt;
exit&lt;br /&gt;
copy running-config startup-config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DNS local ====&lt;br /&gt;
* Dodati NS unos za &amp;lt;code&amp;gt;rs&amp;lt;/code&amp;gt; ka &amp;lt;code&amp;gt;ns.rs&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Dodati A unos za &amp;lt;code&amp;gt;ns.rs&amp;lt;/code&amp;gt; ka &amp;lt;code&amp;gt;8.0.0.3&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== DNS google.com ====&lt;br /&gt;
* Dodati CNAME unos za &amp;lt;code&amp;gt;rm1.rs&amp;lt;/code&amp;gt; ka &amp;lt;code&amp;gt;google.com&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Testiranje ====&lt;br /&gt;
* Pristup &amp;lt;code&amp;gt;google.com&amp;lt;/code&amp;gt; kroz web browser (prikazuje se).&lt;br /&gt;
* &amp;lt;code&amp;gt;ping ip 192.168.0.2&amp;lt;/code&amp;gt; kroz RX (prihvata se).&lt;br /&gt;
* &amp;lt;code&amp;gt;ping 192.168.0.2&amp;lt;/code&amp;gt; kroz bilo koji računar (odbija se jer ACL ne dozvoljava).&lt;br /&gt;
* Pristup &amp;lt;code&amp;gt;rm1.rs&amp;lt;/code&amp;gt; kroz web browser (prikazuje isti sajt kao &amp;lt;code&amp;gt;google.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рачунарске мреже 1]]&lt;br /&gt;
[[Категорија:Водичи]]&lt;/div&gt;</summary>
		<author><name>Kmeeth</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%A0%D0%A22/%D0%9A3_2021&amp;diff=3674</id>
		<title>ОРТ2/К3 2021</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%A0%D0%A22/%D0%9A3_2021&amp;diff=3674"/>
		<updated>2022-02-10T01:40:23Z</updated>

		<summary type="html">&lt;p&gt;Kmeeth: Не одговара податку са званичног сајта (и нема смисла, јер у овој архитектури нема memind)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&lt;br /&gt;
== Поставка ==&lt;br /&gt;
Посматра се део рачунара који чине меморија и процесор. Меморија је капацитета 2&amp;lt;sup&amp;gt;16&amp;lt;/sup&amp;gt; бајтова. Ширина меморијске речи је 1 бајт. Процесор је са једноадресним форматом инструкција. Адресе и подаци су дужине 16 бита и заузимају по две суседне меморијске локације, при чему се старији бајт налази на нижој, а млађи бајт на вишој адреси.&lt;br /&gt;
&lt;br /&gt;
У процесору постоји регистар програмског бројача PC дужине 2 бајта, адресни регистар меморије MAR дужине 2 бајта, прихватни регистар податка меморије MDR дужине 1 бајт, прихватни регистар инструкције IR дужине 4 бајта, акумулатор A дужине 2 бајта, прихватни регистар податка B дужине 2 бајта, регистри опште намене R0 до R15 дужине 2 бајта, програмска статусна реч PSW дужине 1 бајт. Инструкције су дужине 1, 2, 3 или 4 бајта.&lt;br /&gt;
&lt;br /&gt;
Бит 7 првог бајта инструкције је 0 за све инструкције скока. Код инструкција условног скока бит 6 првог бајта инструкције је 0, док код инструкција безусловног скока бит 6 првог бајта инструкције је 1. Инструкција условног скока је инструкција условног скока уколико резултат није нула (JNZ), а инструкције безусловног скока су инструкција безусловног скока (JMP). Битовима 5 до 0 првог бајта инструкције специфицира се код операције и на основу тога су за инструкције JNZ и JMP усвојени кодови операције 00000000 и 01000000, респективно. Инструкције JNZ и JMP се реализују као апсолутни скокови, при чему је адреса дата другим и трећим бајтом инструкције. Дужина инструкција је 3 бајта.&lt;br /&gt;
&lt;br /&gt;
Бит 7 првог бајта инструкције је 1 за све адресне и безадресне инструкције.&lt;br /&gt;
&lt;br /&gt;
Битови 6 и 5 првог бајта инструкције су 01 за безадресне инструкције. Безадресне инструкције су инструкције стављања садржаја акумулатора на стек (PUSH), пуњења акумулатора садржајем са стека (POP) и декрементирање акумулатора (DEC). Битовима 4 до 0 првог бајта инструкције специфицира се код операције за безадресне инструкције. На основу тога су за инструкције PUSH, POP и DEC усвојени кодови операција 10100000, 10100001 и 10100010, респективно. Дужина инструкција је 1 бајт.&lt;br /&gt;
&lt;br /&gt;
Битови 6 и 5 првог бајта инструкције су 11 за адресне инструкције. Адресне инструкције су инструкција преноса у акумулатор (LD), инструкција преноса из акумулатора (ST), логичка инструкција &amp;quot;или&amp;quot; (OR), инструкција ротирања операнда једно место удесно која смешта резултат у акумулатор (ROR), инструкција безусловног скока на срачунату адресу (JADR), инструкција сабирања (ADD) и инструкција одузимања (SUB). Битовима 4 до 0 првог бајта инструкције специфицира се код операције за адресне инструкције. На основу тога су за инструкције LD, ST, OR, ROR, JADR, ADD и SUB усвојени кодови операција 11100000, 11100001, 11100010, 11100011, 11100100, 11100101 и 11100110 респективно. Дужина инструкција је 2 или 4 бајта и зависи од специфицираног начина адресирања.&lt;br /&gt;
&lt;br /&gt;
Начини адресирања су специфицирани битовима 7, 6 и 5 другог бајта инструкције и то на следећи начин: 000-меморијско директно адресирање (memdir), 001-регистарско индиректно адресирање (regind), 010-регистарско директно адресирање (regdir), 011-релативно адресирање са померајем (pcrel), 100-непосредно адресирање (immed) и 101-регистарско индиректно са померајем адресирање (regindpom). Код меморијског директног адресирања 16 битна адреса меморијске локације је дата трећим и четвртим бајтом инструкције. Битови 4 до 0 другог бајта инструкције се не користе. Дужина инструкција је 4 бајта. Регистарско индиректно адресирање користи неке од регистара опште намене R0 до R15 специфициране битовима од 3 до 0 другог бајта. Бит 4 другог бајта инструкције се не користи. Дужина инструкција је 2 бајта. Регистарско директно адресирање користи неке од регистара опште намене R0 до R15 специфициране битовима од 3 до 0 другог бајта. Бит 4 другог бајта инструкције се не користи. Дужина инструкција је 2 бајта. Код релативног адресирања са померајем трећи и четврти бајт инструкције садрже 16 битни померај који је дат као целобројна величина са знаком. Битови 4 до 0 другог бајта инструкције се не користе. Дужина инструкција је 4 бајта. Код непосредног адресирања 16 битни операнд дат је трећим и четвртим бајтом инструкције. Битови 4 до 0 другог бајта инструкције се не користе. Дужина инструкција је 4 бајта. Код регистарског индиректног адресирања са померајем трећи и четврти бајт инструкције садрже 16 битни померај који је дат као целобројна величина са знаком. Један од регистара опште намене R0 до R15 који се користи специфициран је битовима од 3 до 0 другог бајта инструкције. Бит 4 другог бајта инструкције се не користи. Дужина инструкција је 4 бајта.&lt;br /&gt;
&lt;br /&gt;
Стек расте према вишим меморијским локацијама, а регистар SP указује на последњу заузету меморијску локацију. Процесор нема могућност обраде прекида.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Пројектовати део операционе јединице процесора која је потребна да се изврши (FETCH + ADDR + EXEC) инструкција &#039;&#039;&#039;JADR 1234h&#039;&#039;&#039;.&lt;br /&gt;
# Дати су почетни садржаји регистара и индикатора: PC=1000h, SP=2000h, ACC = 0002h, R0=00F2h, R1=000Ch, R2=00A2h, R3=FFE3h, N=0, Z=0, V=0 и C=0. Индикатори статусне речи на које инструкције не утиче треба да остану непромењени. Извршити 7 сукцесивних наредби и за сваку наредбу одредити следеће: у фази читања инструкције - меморијске адресе са којих је прочитана инструкција, садржај регистра IR, инструкцију која је прочитана и нови садржај регистра PC; у фази одређивања адресе операнда и читања операнда - меморијске адресе са којих је прочитана адреса операнда, меморијске адресе са којих је прочитан операнд, вредност операнда и нови садржај регистара опште намене који су у овој фази промењени; у фази извршавања операције - меморијске адресе којима се у овој фази приступа, садржај акумулатора A и индикатора N, Z, V и C након извршавања инструкције и нови садржај регистара и меморијских локација који су у овој фази промењени. Резултате представити у табелама 1, 2 и 3 формулара.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Садржај дела меморије из поставке задатка&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 000A || 000B || 000C || 000D || 000E || 000F || 0010 || 0011 || 0012 || 0013&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  10  ||  01  ||  00  ||  C1  ||  21  ||  77  ||  11  ||  00  ||  0A  ||  83&lt;br /&gt;
|-&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 1000 || 1001 || 1002 || 1003 || 1004 || 1005 || 1006 || 1007 || 1008 || 1009&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  E0  ||  00  ||  00  ||  0A  ||  00  ||  10  ||  09  ||  10  ||  E8  ||  A2&lt;br /&gt;
|-&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 100A || 100B || 100C || 100D || 100E || 100F || 1010 || 1011 || 1012 || 1013&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  E2  ||  60  ||  00  ||  08  ||  A0  ||  40  ||  10  ||  19  ||  00  ||  52&lt;br /&gt;
|-&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 1014 || 1015 || 1016 || 1017 || 1018 || 1019 || 101A || 101B || 101C || 101D&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  21  ||  41  ||  F0  ||  00  ||  03  ||  E3  ||  21  ||  B8  ||  10  ||  13&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Решење ==&lt;br /&gt;
=== Кодови операција ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Битови IR31..24&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Класа инструкције&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 31&lt;br /&gt;
| 30&lt;br /&gt;
| 29&lt;br /&gt;
| 28&lt;br /&gt;
| 27&lt;br /&gt;
| 26&lt;br /&gt;
| 25&lt;br /&gt;
| 24&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; | Код операције&amp;lt;br /&amp;gt;&lt;br /&gt;
| Условни скок&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; | Код операције&amp;lt;br /&amp;gt;&lt;br /&gt;
| Безусловни скок&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | Код операције&lt;br /&gt;
| Безадресне инструкције&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | Код операције&lt;br /&gt;
| Адресне инструкције&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Битови IR31..24&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Инструкција&amp;lt;br /&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 2. бајт&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 3. бајт&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 4. бајт&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Дужина&lt;br /&gt;
|-&lt;br /&gt;
| 31&lt;br /&gt;
| 30&lt;br /&gt;
| 29&lt;br /&gt;
| 28&lt;br /&gt;
| 27&lt;br /&gt;
| 26&lt;br /&gt;
| 25&lt;br /&gt;
| 24&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; style=&amp;quot;font-weight:bold;&amp;quot; | Условни скок&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| JNZ&lt;br /&gt;
| ст.&amp;lt;br /&amp;gt;&lt;br /&gt;
| мл.&lt;br /&gt;
| /&lt;br /&gt;
| 3 б&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; style=&amp;quot;font-weight:bold;&amp;quot; | Безусловни скок&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| JMP&lt;br /&gt;
| ст.&amp;lt;br /&amp;gt;&lt;br /&gt;
| мл.&lt;br /&gt;
| /&lt;br /&gt;
| 3 б&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; style=&amp;quot;font-weight:bold;&amp;quot; | Безадресне инструкције&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| PUSH&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| 1 б&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| POP&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| 1 б&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| DEC&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| 1 б&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; style=&amp;quot;font-weight:bold;&amp;quot; | Адресне инструкције&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| LD&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| ST&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| OR&amp;lt;br /&amp;gt;&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| ROR&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| JADR&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| ADD&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&amp;lt;br /&amp;gt;&lt;br /&gt;
| SUB&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Битови IR23..16&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Адресирање&amp;lt;br /&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 3. бајт&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 4. бајт&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Дужина&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 22&lt;br /&gt;
| 21&lt;br /&gt;
| 20&lt;br /&gt;
| 19&amp;lt;br /&amp;gt;&lt;br /&gt;
| 18&amp;lt;br /&amp;gt;&lt;br /&gt;
| 17&lt;br /&gt;
| 16&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| /&amp;lt;br /&amp;gt;&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| Мем. дир.&amp;lt;br /&amp;gt;&lt;br /&gt;
| ст.&lt;br /&gt;
| мл.&lt;br /&gt;
| 4 б&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&amp;lt;br /&amp;gt;&lt;br /&gt;
| R&amp;lt;br /&amp;gt;&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| Рег. инд.&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| 2 б&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| R&amp;lt;br /&amp;gt;&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| Рег. дир.&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| 2 б&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| /&lt;br /&gt;
| /&amp;lt;br /&amp;gt;&lt;br /&gt;
| /&amp;lt;br /&amp;gt;&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| PC релативно&lt;br /&gt;
| ст.&amp;lt;br /&amp;gt;&lt;br /&gt;
| мл.&lt;br /&gt;
| 4 б&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| /&lt;br /&gt;
| /&amp;lt;br /&amp;gt;&lt;br /&gt;
| /&amp;lt;br /&amp;gt;&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| Непосредно&amp;lt;br /&amp;gt;&lt;br /&gt;
| ст.&amp;lt;br /&amp;gt;&lt;br /&gt;
| мл.&lt;br /&gt;
| 4 б&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| R&amp;lt;br /&amp;gt;&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| Рег. инд. са пом.&lt;br /&gt;
| ст.&amp;lt;br /&amp;gt;&lt;br /&gt;
| мл.&lt;br /&gt;
| 4 б&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Операциона јединица ===&lt;br /&gt;
{{делимично решено}}&lt;br /&gt;
&lt;br /&gt;
=== Меморија ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! #&amp;lt;br /&amp;gt;&lt;br /&gt;
! Адресе у меморији са којих је учитана инструкција&lt;br /&gt;
! IR31..24&amp;lt;br /&amp;gt;&lt;br /&gt;
! IR23..16&lt;br /&gt;
! IR15..8&lt;br /&gt;
! IR7..0&lt;br /&gt;
! Инструкција&lt;br /&gt;
! PC&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1000, 1001, 1002, 1003&lt;br /&gt;
| E0&lt;br /&gt;
| 00&lt;br /&gt;
| 00&lt;br /&gt;
| 0A&lt;br /&gt;
| LD 000Ah&amp;lt;br /&amp;gt;&lt;br /&gt;
| 1004&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1004, 1005, 1006&lt;br /&gt;
| 00&lt;br /&gt;
| 10&lt;br /&gt;
| 09&lt;br /&gt;
| &lt;br /&gt;
| JNZ 1009h&lt;br /&gt;
| 1007&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1009&lt;br /&gt;
| A2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| DEC&lt;br /&gt;
| 100A&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 100A, 100B, 100C, 100D&lt;br /&gt;
| E2&lt;br /&gt;
| 60&lt;br /&gt;
| 00&lt;br /&gt;
| 08&lt;br /&gt;
| OR (PC+08h)&lt;br /&gt;
| 100E&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 100E&lt;br /&gt;
| A0&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| PUSH&lt;br /&gt;
| 100F&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 100F, 1010, 1011&lt;br /&gt;
| 40&lt;br /&gt;
| 10&lt;br /&gt;
| 19&lt;br /&gt;
| &lt;br /&gt;
| JMP 1019h&lt;br /&gt;
| 1012&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1019, 101A&lt;br /&gt;
| E3&lt;br /&gt;
| 21&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ROR (R1)&lt;br /&gt;
| 101B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! #&amp;lt;br /&amp;gt;&lt;br /&gt;
! Адресе у меморији или регистри&amp;lt;br /&amp;gt;са којих је учитана адреса операнда&lt;br /&gt;
! Адресе у меморији или регистри &amp;lt;br /&amp;gt;са којих је учитан операнд&lt;br /&gt;
! Операнд&lt;br /&gt;
! Нови садржај регистара опште намене&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
| 000A, 000B&lt;br /&gt;
| 1001&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| &lt;br /&gt;
| 1016, 1017&lt;br /&gt;
| F000&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| &lt;br /&gt;
| 000C, 000D&lt;br /&gt;
| 00C1&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! #&amp;lt;br /&amp;gt;&lt;br /&gt;
! Меморијске адресе којима се &amp;lt;br /&amp;gt;приступа у овој фази&lt;br /&gt;
! Акумулатор&amp;lt;br /&amp;gt;&lt;br /&gt;
! N&lt;br /&gt;
! Z&lt;br /&gt;
! V&lt;br /&gt;
! C&lt;br /&gt;
! Нови садржај регистара и меморијских локација&amp;lt;br /&amp;gt;који су промењени у овој фази&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
| 1001&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 1001&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| PC = 1009&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1000&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| &lt;br /&gt;
| F000&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 2001, 2002&lt;br /&gt;
| F000&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| MEM[2001] = F0, MEM[2002] = 00, SP = 2002&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| &lt;br /&gt;
| F000&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| PC = 1019&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| &lt;br /&gt;
| 8060&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ОРТ2]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Kmeeth</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%A0%D0%A22/%D0%9A3_2021&amp;diff=3673</id>
		<title>ОРТ2/К3 2021</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%A0%D0%A22/%D0%9A3_2021&amp;diff=3673"/>
		<updated>2022-02-10T01:18:08Z</updated>

		<summary type="html">&lt;p&gt;Kmeeth: Мислим да је ово била грешка, пошто је 0х8060 негативан број.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&lt;br /&gt;
== Поставка ==&lt;br /&gt;
Посматра се део рачунара који чине меморија и процесор. Меморија је капацитета 2&amp;lt;sup&amp;gt;16&amp;lt;/sup&amp;gt; бајтова. Ширина меморијске речи је 1 бајт. Процесор је са једноадресним форматом инструкција. Адресе и подаци су дужине 16 бита и заузимају по две суседне меморијске локације, при чему се старији бајт налази на нижој, а млађи бајт на вишој адреси.&lt;br /&gt;
&lt;br /&gt;
У процесору постоји регистар програмског бројача PC дужине 2 бајта, адресни регистар меморије MAR дужине 2 бајта, прихватни регистар податка меморије MDR дужине 1 бајт, прихватни регистар инструкције IR дужине 4 бајта, акумулатор A дужине 2 бајта, прихватни регистар податка B дужине 2 бајта, регистри опште намене R0 до R15 дужине 2 бајта, програмска статусна реч PSW дужине 1 бајт. Инструкције су дужине 1, 2, 3 или 4 бајта.&lt;br /&gt;
&lt;br /&gt;
Бит 7 првог бајта инструкције је 0 за све инструкције скока. Код инструкција условног скока бит 6 првог бајта инструкције је 0, док код инструкција безусловног скока бит 6 првог бајта инструкције је 1. Инструкција условног скока је инструкција условног скока уколико резултат није нула (JNZ), а инструкције безусловног скока су инструкција безусловног скока (JMP). Битовима 5 до 0 првог бајта инструкције специфицира се код операције и на основу тога су за инструкције JNZ и JMP усвојени кодови операције 00000000 и 01000000, респективно. Инструкције JNZ и JMP се реализују као апсолутни скокови, при чему је адреса дата другим и трећим бајтом инструкције. Дужина инструкција је 3 бајта.&lt;br /&gt;
&lt;br /&gt;
Бит 7 првог бајта инструкције је 1 за све адресне и безадресне инструкције.&lt;br /&gt;
&lt;br /&gt;
Битови 6 и 5 првог бајта инструкције су 01 за безадресне инструкције. Безадресне инструкције су инструкције стављања садржаја акумулатора на стек (PUSH), пуњења акумулатора садржајем са стека (POP) и декрементирање акумулатора (DEC). Битовима 4 до 0 првог бајта инструкције специфицира се код операције за безадресне инструкције. На основу тога су за инструкције PUSH, POP и DEC усвојени кодови операција 10100000, 10100001 и 10100010, респективно. Дужина инструкција је 1 бајт.&lt;br /&gt;
&lt;br /&gt;
Битови 6 и 5 првог бајта инструкције су 11 за адресне инструкције. Адресне инструкције су инструкција преноса у акумулатор (LD), инструкција преноса из акумулатора (ST), логичка инструкција &amp;quot;или&amp;quot; (OR), инструкција ротирања операнда једно место удесно која смешта резултат у акумулатор (ROR), инструкција безусловног скока на срачунату адресу (JADR), инструкција сабирања (ADD) и инструкција одузимања (SUB). Битовима 4 до 0 првог бајта инструкције специфицира се код операције за адресне инструкције. На основу тога су за инструкције LD, ST, OR, ROR, JADR, ADD и SUB усвојени кодови операција 11100000, 11100001, 11100010, 11100011, 11100100, 11100101 и 11100110 респективно. Дужина инструкција је 2 или 4 бајта и зависи од специфицираног начина адресирања.&lt;br /&gt;
&lt;br /&gt;
Начини адресирања су специфицирани битовима 7, 6 и 5 другог бајта инструкције и то на следећи начин: 000-меморијско директно адресирање (memdir), 001-регистарско индиректно адресирање (regind), 010-регистарско директно адресирање (regdir), 011-релативно адресирање са померајем (pcrel), 100-непосредно адресирање (immed) и 101-регистарско индиректно са померајем адресирање (regindpom). Код меморијског директног адресирања 16 битна адреса меморијске локације је дата трећим и четвртим бајтом инструкције. Битови 4 до 0 другог бајта инструкције се не користе. Дужина инструкција је 4 бајта. Регистарско индиректно адресирање користи неке од регистара опште намене R0 до R15 специфициране битовима од 3 до 0 другог бајта. Бит 4 другог бајта инструкције се не користи. Дужина инструкција је 2 бајта. Регистарско директно адресирање користи неке од регистара опште намене R0 до R15 специфициране битовима од 3 до 0 другог бајта. Бит 4 другог бајта инструкције се не користи. Дужина инструкција је 2 бајта. Код релативног адресирања са померајем трећи и четврти бајт инструкције садрже 16 битни померај који је дат као целобројна величина са знаком. Битови 4 до 0 другог бајта инструкције се не користе. Дужина инструкција је 4 бајта. Код непосредног адресирања 16 битни операнд дат је трећим и четвртим бајтом инструкције. Битови 4 до 0 другог бајта инструкције се не користе. Дужина инструкција је 4 бајта. Код регистарског индиректног адресирања са померајем трећи и четврти бајт инструкције садрже 16 битни померај који је дат као целобројна величина са знаком. Један од регистара опште намене R0 до R15 који се користи специфициран је битовима од 3 до 0 другог бајта инструкције. Бит 4 другог бајта инструкције се не користи. Дужина инструкција је 4 бајта.&lt;br /&gt;
&lt;br /&gt;
Стек расте према вишим меморијским локацијама, а регистар SP указује на последњу заузету меморијску локацију. Процесор нема могућност обраде прекида.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Пројектовати део операционе јединице процесора која је потребна да се изврши (FETCH + ADDR + EXEC) инструкција &#039;&#039;&#039;JADR (1234h)&#039;&#039;&#039;.&lt;br /&gt;
# Дати су почетни садржаји регистара и индикатора: PC=1000h, SP=2000h, ACC = 0002h, R0=00F2h, R1=000Ch, R2=00A2h, R3=FFE3h, N=0, Z=0, V=0 и C=0. Индикатори статусне речи на које инструкције не утиче треба да остану непромењени. Извршити 7 сукцесивних наредби и за сваку наредбу одредити следеће: у фази читања инструкције - меморијске адресе са којих је прочитана инструкција, садржај регистра IR, инструкцију која је прочитана и нови садржај регистра PC; у фази одређивања адресе операнда и читања операнда - меморијске адресе са којих је прочитана адреса операнда, меморијске адресе са којих је прочитан операнд, вредност операнда и нови садржај регистара опште намене који су у овој фази промењени; у фази извршавања операције - меморијске адресе којима се у овој фази приступа, садржај акумулатора A и индикатора N, Z, V и C након извршавања инструкције и нови садржај регистара и меморијских локација који су у овој фази промењени. Резултате представити у табелама 1, 2 и 3 формулара.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Садржај дела меморије из поставке задатка&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 000A || 000B || 000C || 000D || 000E || 000F || 0010 || 0011 || 0012 || 0013&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  10  ||  01  ||  00  ||  C1  ||  21  ||  77  ||  11  ||  00  ||  0A  ||  83&lt;br /&gt;
|-&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 1000 || 1001 || 1002 || 1003 || 1004 || 1005 || 1006 || 1007 || 1008 || 1009&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  E0  ||  00  ||  00  ||  0A  ||  00  ||  10  ||  09  ||  10  ||  E8  ||  A2&lt;br /&gt;
|-&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 100A || 100B || 100C || 100D || 100E || 100F || 1010 || 1011 || 1012 || 1013&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  E2  ||  60  ||  00  ||  08  ||  A0  ||  40  ||  10  ||  19  ||  00  ||  52&lt;br /&gt;
|-&lt;br /&gt;
! ЛОКАЦИЈА&lt;br /&gt;
| 1014 || 1015 || 1016 || 1017 || 1018 || 1019 || 101A || 101B || 101C || 101D&lt;br /&gt;
|-&lt;br /&gt;
! ВРЕДНОСТ&lt;br /&gt;
|  21  ||  41  ||  F0  ||  00  ||  03  ||  E3  ||  21  ||  B8  ||  10  ||  13&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Решење ==&lt;br /&gt;
=== Кодови операција ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Битови IR31..24&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Класа инструкције&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 31&lt;br /&gt;
| 30&lt;br /&gt;
| 29&lt;br /&gt;
| 28&lt;br /&gt;
| 27&lt;br /&gt;
| 26&lt;br /&gt;
| 25&lt;br /&gt;
| 24&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; | Код операције&amp;lt;br /&amp;gt;&lt;br /&gt;
| Условни скок&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; | Код операције&amp;lt;br /&amp;gt;&lt;br /&gt;
| Безусловни скок&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | Код операције&lt;br /&gt;
| Безадресне инструкције&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | Код операције&lt;br /&gt;
| Адресне инструкције&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Битови IR31..24&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Инструкција&amp;lt;br /&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 2. бајт&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 3. бајт&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 4. бајт&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Дужина&lt;br /&gt;
|-&lt;br /&gt;
| 31&lt;br /&gt;
| 30&lt;br /&gt;
| 29&lt;br /&gt;
| 28&lt;br /&gt;
| 27&lt;br /&gt;
| 26&lt;br /&gt;
| 25&lt;br /&gt;
| 24&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; style=&amp;quot;font-weight:bold;&amp;quot; | Условни скок&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| JNZ&lt;br /&gt;
| ст.&amp;lt;br /&amp;gt;&lt;br /&gt;
| мл.&lt;br /&gt;
| /&lt;br /&gt;
| 3 б&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; style=&amp;quot;font-weight:bold;&amp;quot; | Безусловни скок&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| JMP&lt;br /&gt;
| ст.&amp;lt;br /&amp;gt;&lt;br /&gt;
| мл.&lt;br /&gt;
| /&lt;br /&gt;
| 3 б&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; style=&amp;quot;font-weight:bold;&amp;quot; | Безадресне инструкције&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| PUSH&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| 1 б&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| POP&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| 1 б&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| DEC&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| 1 б&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;13&amp;quot; style=&amp;quot;font-weight:bold;&amp;quot; | Адресне инструкције&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| LD&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| ST&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| OR&amp;lt;br /&amp;gt;&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| ROR&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| JADR&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| ADD&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&amp;lt;br /&amp;gt;&lt;br /&gt;
| SUB&lt;br /&gt;
| Адр.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Битови IR23..16&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Адресирање&amp;lt;br /&amp;gt;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 3. бајт&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 4. бајт&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Дужина&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| 22&lt;br /&gt;
| 21&lt;br /&gt;
| 20&lt;br /&gt;
| 19&amp;lt;br /&amp;gt;&lt;br /&gt;
| 18&amp;lt;br /&amp;gt;&lt;br /&gt;
| 17&lt;br /&gt;
| 16&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| /&amp;lt;br /&amp;gt;&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| Мем. дир.&amp;lt;br /&amp;gt;&lt;br /&gt;
| ст.&lt;br /&gt;
| мл.&lt;br /&gt;
| 4 б&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&amp;lt;br /&amp;gt;&lt;br /&gt;
| R&amp;lt;br /&amp;gt;&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| Рег. инд.&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| 2 б&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| R&amp;lt;br /&amp;gt;&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| Рег. дир.&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| 2 б&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| /&lt;br /&gt;
| /&amp;lt;br /&amp;gt;&lt;br /&gt;
| /&amp;lt;br /&amp;gt;&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| PC релативно&lt;br /&gt;
| ст.&amp;lt;br /&amp;gt;&lt;br /&gt;
| мл.&lt;br /&gt;
| 4 б&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| /&lt;br /&gt;
| /&amp;lt;br /&amp;gt;&lt;br /&gt;
| /&amp;lt;br /&amp;gt;&lt;br /&gt;
| /&lt;br /&gt;
| /&lt;br /&gt;
| Непосредно&amp;lt;br /&amp;gt;&lt;br /&gt;
| ст.&amp;lt;br /&amp;gt;&lt;br /&gt;
| мл.&lt;br /&gt;
| 4 б&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| R&amp;lt;br /&amp;gt;&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| R&lt;br /&gt;
| Рег. инд. са пом.&lt;br /&gt;
| ст.&amp;lt;br /&amp;gt;&lt;br /&gt;
| мл.&lt;br /&gt;
| 4 б&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Операциона јединица ===&lt;br /&gt;
{{делимично решено}}&lt;br /&gt;
&lt;br /&gt;
=== Меморија ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! #&amp;lt;br /&amp;gt;&lt;br /&gt;
! Адресе у меморији са којих је учитана инструкција&lt;br /&gt;
! IR31..24&amp;lt;br /&amp;gt;&lt;br /&gt;
! IR23..16&lt;br /&gt;
! IR15..8&lt;br /&gt;
! IR7..0&lt;br /&gt;
! Инструкција&lt;br /&gt;
! PC&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1000, 1001, 1002, 1003&lt;br /&gt;
| E0&lt;br /&gt;
| 00&lt;br /&gt;
| 00&lt;br /&gt;
| 0A&lt;br /&gt;
| LD 000Ah&amp;lt;br /&amp;gt;&lt;br /&gt;
| 1004&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 1004, 1005, 1006&lt;br /&gt;
| 00&lt;br /&gt;
| 10&lt;br /&gt;
| 09&lt;br /&gt;
| &lt;br /&gt;
| JNZ 1009h&lt;br /&gt;
| 1007&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 1009&lt;br /&gt;
| A2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| DEC&lt;br /&gt;
| 100A&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 100A, 100B, 100C, 100D&lt;br /&gt;
| E2&lt;br /&gt;
| 60&lt;br /&gt;
| 00&lt;br /&gt;
| 08&lt;br /&gt;
| OR (PC+08h)&lt;br /&gt;
| 100E&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 100E&lt;br /&gt;
| A0&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| PUSH&lt;br /&gt;
| 100F&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 100F, 1010, 1011&lt;br /&gt;
| 40&lt;br /&gt;
| 10&lt;br /&gt;
| 19&lt;br /&gt;
| &lt;br /&gt;
| JMP 1019h&lt;br /&gt;
| 1012&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 1019, 101A&lt;br /&gt;
| E3&lt;br /&gt;
| 21&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ROR (R1)&lt;br /&gt;
| 101B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! #&amp;lt;br /&amp;gt;&lt;br /&gt;
! Адресе у меморији или регистри&amp;lt;br /&amp;gt;са којих је учитана адреса операнда&lt;br /&gt;
! Адресе у меморији или регистри &amp;lt;br /&amp;gt;са којих је учитан операнд&lt;br /&gt;
! Операнд&lt;br /&gt;
! Нови садржај регистара опште намене&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
| 000A, 000B&lt;br /&gt;
| 1001&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| &lt;br /&gt;
| 1016, 1017&lt;br /&gt;
| F000&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| &lt;br /&gt;
| 000C, 000D&lt;br /&gt;
| 00C1&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! #&amp;lt;br /&amp;gt;&lt;br /&gt;
! Меморијске адресе којима се &amp;lt;br /&amp;gt;приступа у овој фази&lt;br /&gt;
! Акумулатор&amp;lt;br /&amp;gt;&lt;br /&gt;
! N&lt;br /&gt;
! Z&lt;br /&gt;
! V&lt;br /&gt;
! C&lt;br /&gt;
! Нови садржај регистара и меморијских локација&amp;lt;br /&amp;gt;који су промењени у овој фази&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
| 1001&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| &lt;br /&gt;
| 1001&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| PC = 1009&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| &lt;br /&gt;
| 1000&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| &lt;br /&gt;
| F000&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 2001, 2002&lt;br /&gt;
| F000&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| MEM[2001] = F0, MEM[2002] = 00, SP = 2002&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| &lt;br /&gt;
| F000&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| PC = 1019&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| &lt;br /&gt;
| 8060&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ОРТ2]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Kmeeth</name></author>
	</entry>
</feed>