NAR 2
Encyclopedia
NAR 2 was a theoretical model of a 32-bit
Bit
A bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...

 word computer created by Faculty of Mathematics of University of Belgrade
University of Belgrade
The University of Belgrade is the oldest and largest university of Serbia.Founded in 1808 as the Belgrade Higher School in revolutionary Serbia, by 1838 it merged with the Kragujevac-based departments into a single university...

 professor Nedeljko Parezanović as an enhacement to its predecessor, NAR 1
NAR 1
NAR 1 or just NAR was a theoretical model of a computer created by Faculty of Mathematics of University of Belgrade professor Nedeljko Parezanović...

. It was used for Assembly language
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

 and Computer architecture
Computer architecture
In computer science and engineering, computer architecture is the practical art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals and the formal modelling of those systems....

 courses. The word "nar" means Pomegranate
Pomegranate
The pomegranate , Punica granatum, is a fruit-bearing deciduous shrub or small tree growing between five and eight meters tall.Native to the area of modern day Iran, the pomegranate has been cultivated in the Caucasus since ancient times. From there it spread to Asian areas such as the Caucasus as...

 in Serbian
Serbian language
Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

. Many NAR 2 simulators have been created — for instance, one was named "Šljiva" (en.
English language
English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

 plum
Plum
A plum or gage is a stone fruit tree in the genus Prunus, subgenus Prunus. The subgenus is distinguished from other subgenera in the shoots having a terminal bud and solitary side buds , the flowers in groups of one to five together on short stems, and the fruit having a groove running down one...

) as that fruit grows in Serbia
Serbia
Serbia , officially the Republic of Serbia , is a landlocked country located at the crossroads of Central and Southeast Europe, covering the southern part of the Carpathian basin and the central part of the Balkans...

, while "nar" does not.

Instruction structure

NAR 2 processor
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...

 Machine instructions was made of a single 32-bit machine word and contained:
  • opcode
    Opcode
    In computer science engineering, an opcode is the portion of a machine language instruction that specifies the operation to be performed. Their specification and format are laid out in the instruction set architecture of the processor in question...

     in 8 most significant bit
    Most significant bit
    In computing, the most significant bit is the bit position in a binary number having the greatest value...

    s (bits 24 to 31)
  • 4 bits (20 to 23) specifying the Index register
    Index register
    An index registerCommonly known as a B-line in early British computers. in a computer's CPU is a processor register used for modifying operand addresses during the run of a program, typically for doing vector/array operations...

     to use with indexed addressing modes
  • 4 bits (16 to 19) containing address mode
    Addressing mode
    Addressing modes are an aspect of the instruction set architecture in most central processing unit designs. The various addressing modes that are defined in a given instruction set architecture define how machine language instructions in that architecture identify the operand of each instruction...

     flags
    Flag (computing)
    In computer programming, flag can refer to one or more bits that are used to store a binary value or code that has an assigned meaning, but can refer to uses of other data types...

    :
    • bit 19: P (sr.
      Serbian language
      Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

       Posredno, en.
      English language
      English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

       mediated) - indexed
    • bit 18: R (sr.
      Serbian language
      Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

       Relativno) - relative to program counter
    • bit 17: I (sr.
      Serbian language
      Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

       Indirektno) - multi-level memory indirect (note: the address is loaded from specified location and, should it also specify "I" flag the indirect address calculation continues)
    • bit 16: N (sr.
      Serbian language
      Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

       Neposredno) - immediate
  • 16 bit signed parameter value

Registers

NAR 2 has following registers:
  • a Program counter
    Program counter
    The program counter , commonly called the instruction pointer in Intel x86 microprocessors, and sometimes called the instruction address register, or just part of the instruction sequencer in some computers, is a processor register that indicates where the computer is in its instruction sequence...

     called BN (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Brojač Naredbi, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Counter of Instructions)
  • Single 32-bit accumulator
    Accumulator (computing)
    In a computer's central processing unit , an accumulator is a register in which intermediate arithmetic and logic results are stored. Without a register like an accumulator, it would be necessary to write the result of each calculation to main memory, perhaps only to be read right back again for...

     that can be treated either as integer (fixed point
    Fixed-point arithmetic
    In computing, a fixed-point number representation is a real data type for a number that has a fixed number of digits after the radix point...

    ) or real (floating point) number
  • Up to 16 Index register
    Index register
    An index registerCommonly known as a B-line in early British computers. in a computer's CPU is a processor register used for modifying operand addresses during the run of a program, typically for doing vector/array operations...

    s are specifiable, X0 to X15. However, X0 was never used, possibly because it was reserved as program counter (BN)
  • There were no flags or flag registers
    Flag (computing)
    In computer programming, flag can refer to one or more bits that are used to store a binary value or code that has an assigned meaning, but can refer to uses of other data types...


Memory/register access

  • MUA (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Memorija U Akumulator, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Memory Into Accumulator) loads the value into accumulator
  • AUM (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Akumulator U Memoriju, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Accumulator Into Memory) stores the content of the accumulator
  • PIR (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Punjenje Indeksnog Registra, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Load Index Register) Loads the value into the index register

Integer arithmetic

Note: all mnemonincs in this group end with letter "F" indicating "Fiksni zarez" (en.
English language
English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

 Fixed point) arithmetic. However, this is only true for addition, subtraction and negation (sign change). Multiplication and division assume that the "point" is fixed to the right of least significant bit - that is that the numbers are integer.

  • SABF (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Saberi u Fiksnom zarezu, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Add, Fixed Point) - adds parameter to the accumulator
  • ODUF (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Oduzmi u Fiksnom zarezu, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Subtract, Fixed Point) - subtracts the parameter from the accumulator
  • MNOF (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Množi u Fiksnom zarezu, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Multiply, Fixed Point) - Multiples the accumulator with the parameter
  • DELF (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Deli u Fiksnom zarezu, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Divide, Fixed Point) - Divides the accumulator by the parameter
  • PZAF (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Promeni Znak Akumulatora u Fiksnom zarezu, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Change the Sign of Accumuator, Fixed Point) - Changes (flips) the sign of the accumulator

Floating point arithmetic

  • SAB (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Saberi, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Add) - adds parameter to the accumulator
  • ODU (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Oduzmi, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Subtract) - subtracts the parameter from the accumulator
  • MNO (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Množi, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Multiply) - Multiples the accumulator with the parameter
  • DEL (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Deli, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Divide) - Divides the accumulator by the parameter
  • PZA (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Promeni Znak Akumulatora, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Change the Sign of Accumuator) - Changes (flips) the sign of the accumulator

Bitwise/logical

  • KON (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Konjunkcija, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Conjunction
    Logical conjunction
    In logic and mathematics, a two-place logical operator and, also known as logical conjunction, results in true if both of its operands are true, otherwise the value of false....

    ) - performs logical AND
    Logical conjunction
    In logic and mathematics, a two-place logical operator and, also known as logical conjunction, results in true if both of its operands are true, otherwise the value of false....

     with the parameter and the accumulator and stores the result in the accumulator
  • DIS (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Disjunkcija, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Disjunction
    Logical disjunction
    In logic and mathematics, a two-place logical connective or, is a logical disjunction, also known as inclusive disjunction or alternation, that results in true whenever one or more of its operands are true. E.g. in this context, "A or B" is true if A is true, or if B is true, or if both A and B are...

    ) - performs logical OR
    Logical disjunction
    In logic and mathematics, a two-place logical connective or, is a logical disjunction, also known as inclusive disjunction or alternation, that results in true whenever one or more of its operands are true. E.g. in this context, "A or B" is true if A is true, or if B is true, or if both A and B are...

     with the parameter and the accumulator and stores the result in the accumulator
  • NEG (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Negacija, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Negation
    Negation
    In logic and mathematics, negation, also called logical complement, is an operation on propositions, truth values, or semantic values more generally. Intuitively, the negation of a proposition is true when that proposition is false, and vice versa. In classical logic negation is normally identified...

    ) - performs logical NOT
    Negation
    In logic and mathematics, negation, also called logical complement, is an operation on propositions, truth values, or semantic values more generally. Intuitively, the negation of a proposition is true when that proposition is false, and vice versa. In classical logic negation is normally identified...

     on the content of the accumulator (ignores the parameter)


Note: above operations are all bitwise. Their names imply that they are purely logical operations
Logical connective
In logic, a logical connective is a symbol or word used to connect two or more sentences in a grammatically valid way, such that the compound sentence produced has a truth value dependent on the respective truth values of the original sentences.Each logical connective can be expressed as a...

 but they can be explained as if they operate on vectors of bits and separately apply logical operations on each pair of bits.

Logical shift
Logical shift
In computer science, a logical shift is a bitwise operation that shifts all the bits of its operand. Unlike an arithmetic shift, a logical shift does not preserve a number's sign bit or distinguish a number's exponent from its mantissa; every bit in the operand is simply moved a given number of bit...

s

  • POL (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Pomeri Levo, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Shift Left) - shifts the bits of the accumulator to the left
  • POD (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Pomeri Desno, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Shift Right) - shifts the bits of the accumulator to the right

Flow control

  • NES (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Negativni Skok, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Negative Jump) performs a conditional jump
    Branch (computer science)
    A branch is sequence of code in a computer program which is conditionally executed depending on whether the flow of control is altered or not . The term can be used when referring to programs in high level languages as well as program written in machine code or assembly language...

     to the address specified by the parameter if the current value of the accumulator is negative
  • BES (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Bezuslovni Skok, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Unconditional Jump) performs an unconditional jump to the address specified by the parameter
  • NUS (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Nula-Skok, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Zero Jump) performs a conditional jump
    Branch (computer science)
    A branch is sequence of code in a computer program which is conditionally executed depending on whether the flow of control is altered or not . The term can be used when referring to programs in high level languages as well as program written in machine code or assembly language...

     to the address specified by the parameter if the current value of the accumulator is zero
  • ZAR (sr.
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

     Zaustavi Računar, en.
    English language
    English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

     Stop the Computer) stops any further processing; this is the only instruction that ignores the parameter.

Standard assembly language syntax

NAR 2 assembly language syntax was straightforward and easy to parse. Each program line could contain up to one instruction specified as follows:
  1. Instruction mnemonic
  2. Whitespace, if instruction specifies any index registers, addressing mode or a parameter and then comma-separated:
    1. Name of index register, if used
    2. Names of addressing mode flags (also comma separated)
    3. Parameter value


Sample code:

aum X1, p, 0
mua n, 1
aum 15
pir X1, p, n, 1
mua X1, p, n, 0
oduf n, 1
oduf X2, p, n, 0

Addressing modes

With four address mode selection bits (P, R, I and N - indexed, relative, indirect and immediate), NAR 2 instructions can specify 16 different addressing modes but not all make sense in all instructions. In the following table:
  • M[x] specifies the 32-bit value (content) of memory location x
  • BN specifies the program counter
  • p specifies the 16-bit signed parameter at location
  • Xi specifies the index register selected by data at location
  • f is the "effective value" function used for indirect addressing (see details below):

Addr. flags Instruction type
P R I N Data Jump
 -   -   -   -  M[p] p
 -   -   -  N p p
 -   -  I  -  M[f(M[p])] f(M[p])
 -   -  I N f(M[p]) f(M[p])
 -  R  -   -  M[BN+p] BN+p
 -  R  -  N BN+p BN+p
 -  R I  -  M[f(M[BN+p])] f(M[BN+p])
 -  R I N f(M[BN+p]) f(M[BN+p])
P  -   -   -  M[Xi+p] Xi+p
P  -   -  N Xi+p Xi+p
P  -  I  -  M[f(M[Xi+p])] f(M[Xi+p])
P  -  I N f(M[Xi+p]) f(M[Xi+p])
P R  -   -  M[BN+Xi+p] BN+Xi+p
P R  -  N BN+Xi+p BN+Xi+p
P R I  -  M[f(M[BN+Xi+p])] f(M[BN+Xi+p])
P R I N f(M[BN+Xi+p]) f(M[BN+Xi+p])


Note 1: "N" (immediate) flag has no effect on jump (flow control) instructions, as the processor can not jump into a specified value, but only to a memory address.

Multi-level memory indirect

NAR 2 supports multi-level memory indirect addressing mode. The location is first chosen by "looking" at P (indexed) and R (relative to program counter) flags. Then, if I (indirect) flag is detected, a 32-bit word is loaded from the memory location calculated so far and the calculation is restarted (including all addressing mode flags, index register selection and parameter value - only the "opcode" is omitted). Thus, the following program, if loaded at memory location 0 and executed:

mua I, 0 ; Memory-Into-Accumulator, Indirect, from location 0

... would freeze NAR 2 in an infinite address calculation loop:
  1. "I, 0" specifies that the actual address is to be loaded from memory location 0
  2. Memory location 0 is loaded. It reads "I, 0" again
  3. "I, 0" specifies that the actual address is to be loaded from memory location 0
  4. Memory location 0 is loaded. It reads "I, 0" again
  5. "I, 0" specifies that the actual address is to be loaded from memory location 0
  6. Memory location 0 is loaded. It reads "I, 0" again
  7. ...


Note that:

mua R, I, 0 ; Memory-Into-Accumulator, Relative, Indirect, from location BN+0

seems more generic (could freeze NAR 2 from any location), but this depends on when BN register value is incremented/changed.

The question of treatment of "N" (immediate) flag in presence of I (indirect) flag is open as the situation is somewhat ambiguous - whether or not to honour the flag value specified in the original instruction or the one in the indirectly specified (looked up) address? The table above presents the first case to show different addressing modes achievable this way.

Reading values from Index Registers

NAR 2 has an opcode to initialize the value of particular index register ("PIR" mnemonic). However, it does not have any special opcode to read values index registers. This is achieved by using indexed & immediate (P, N) addressing mode flags, such as:

mua Xi, P, N, n ; Memory-Into-Accumulator, Indexed, Immediate, 0

... which essentially puts Xi+n into accumulator. For n=0, this turns into a "load index register value into accumulator" instruction.

External links

  • Primeri seminarskih zadataka iz ORS - Examples of student assignments for "ORS" course (Basics of Computer Systems), in Serbian language
    Serbian language
    Serbian is a form of Serbo-Croatian, a South Slavic language, spoken by Serbs in Serbia, Bosnia and Herzegovina, Montenegro, Croatia and neighbouring countries....

    . Task "V1: NAR" requires the student to write a simulator of NAR 2.

See also

  • NAR 1
    NAR 1
    NAR 1 or just NAR was a theoretical model of a computer created by Faculty of Mathematics of University of Belgrade professor Nedeljko Parezanović...

  • MMIX
    MMIX
    MMIX is a 64-bit RISC instruction set architecture designed by Donald Knuth, with significant contributions by John L. Hennessy and Richard L. Sites...

    , another processor designed by a professor to help students learn.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK