Function Byte of Memory At Time

The Byte of Memory at Time function outputs the value stored in memory cell #i at time t

Format:

value of cell i at time t

Input:

number i - memory cell number
number t - time

Output:

number - The value stored in memory at a given time

Details:

Each memory slot in the computer stores 1 byte. A byte is 8 bits. A bit can represent 2 values (0 and 1), which means that a byte can represent 256 possible values. As the computer executes instructions, the values in memory can change. For example, the value at location 3 might be 0 at time 0 but change to 8 at time 1.
Instructions
Memory Cells
Program Counter Time
0 0
LW Computer Simulator

Properties that reference this function:

value of cell 0 at time t = 0 (Zero Memory)

Conditional properties that reference this function:

  • if the following are true:
    • instruction #i is addi dst=dst src=src imm=imm
    • the PC at time t = i

    then value of cell dst at time (t + 1) = (value of cell src at time t) + imm

    (link)
  • if the following are true:
    • instruction #i is addi dst=dst src=src imm=imm
    • the PC at time t = i
    • not (other = dst)

    then value of cell other at time (t + 1) = value of cell other at time t

    (link)
  • if the following are true:
    • subtract immediate instruction with dst: dst src: src and immediate: imm at i
    • the PC at time t = i

    then value of cell dst at time (t + 1) = (value of cell src at time t) - imm

    (link)
  • if the following are true:
    • subtract immediate instruction with dst: dst src: src and immediate: imm at i
    • the PC at time t = i
    • not (other = dst)

    then value of cell other at time (t + 1) = value of cell other at time t

    (link)
  • if the following are true:
    • instruction #i is add dst=d src1=s1 src2=s2
    • the PC at time t = i

    then value of cell d at time (t + 1) = (value of cell s1 at time t) + (value of cell s2 at time t)

    (link)
  • if the following are true:
    • instruction #i is add dst=d src1=s1 src2=s2
    • the PC at time t = i
    • not (other = d)

    then value of cell other at time (t + 1) = value of cell other at time t

    (link)
  • if the following are true:
    • instruction #i is store src=src addr=addr imm=imm
    • the PC at time t = i

    then value of cell ((value of cell addr at time t) + imm) at time (t + 1) = value of cell src at time t

    (link)
  • if the following are true:
    • instruction #i is store src=src addr=addr imm=imm
    • the PC at time t = i
    • not (other = (value of cell addr at time t) + imm)

    then value of cell other at time (t + 1) = value of cell other at time t

    (link)
  • if the following are true:
    • instruction #i is load dst=dst addr=addr imm=imm
    • the PC at time t = i

    then value of cell dst at time (t + 1) = value of cell ((value of cell addr at time t) + imm) at time t

    (link)
  • if the following are true:
    • instruction #i is load dst=dst addr=addr imm=imm
    • the PC at time t = i
    • not (other = dst)

    then value of cell other at time (t + 1) = value of cell other at time t

    (link)
  • if the following are true:
    • instruction #i is beq left=l right=r imm=imm
    • the PC at time t = i

    then value of cell x at time (t + 1) = value of cell x at time t

    (link)
  • if the following are true:
    • instruction #i is beq left=left right=right imm=imm
    • the PC at time t = i
    • value of cell left at time t = value of cell right at time t

    then the PC at time (t + 1) = (i + 1) + imm

    (link)
  • if the following are true:
    • instruction #i is beq left=left right=right imm=imm
    • the PC at time t = i
    • not (value of cell left at time t = value of cell right at time t)

    then the PC at time (t + 1) = i + 1

    (link)
  • if the following are true:
    • instruction #i is jump imm=jump_to
    • the PC at time t = i

    then value of cell x at time (t + 1) = value of cell x at time t

    (link)
  • if the following are true:
    • instruction #i is jumpr addr=addr
    • the PC at time t = i

    then the PC at time (t + 1) = value of cell addr at time t

    (link)
  • if the following are true:
    • instruction #i is jumpr addr=addr
    • the PC at time t = i

    then value of cell x at time (t + 1) = value of cell x at time t

    (link)
  • if the following are true:
    • instruction #i is a JAL instruction with jump to: jump_to
    • the PC at time t = i
    • not (x = 2)

    then value of cell x at time (t + 1) = value of cell x at time t

    (link)
  • if the following are true:
    • instruction #i is a JAL instruction with jump to: jump_to
    • the PC at time t = i

    then value of cell 2 at time (t + 1) = i + 1

    (link)
  • if interrupt at index: x time: t = 1, then value of cell idx at time (t + 1) = value of cell idx at time t (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • number of characters read at t < value of cell 26 at time t

    then display text at x: (cursor x at time t), y: (cursor y at time t), and time: (t + 1) = value of cell (10 + (number of characters read at t)) at time t

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • number of characters read at t < value of cell 26 at time t

    then number of characters read at (t + 1) = (number of characters read at t) + 1

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • number of characters read at t = value of cell 26 at time t

    then value of cell 27 at time (t + 1) = 0

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • number of characters read at t = value of cell 26 at time t

    then number of characters read at (t + 1) = 0

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • number of characters read at t = value of cell 26 at time t

    then cursor x at time (t + 1) = cursor x at time t

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • number of characters read at t = value of cell 26 at time t

    then cursor y at time (t + 1) = cursor y at time t

    (link)
  • if value of cell 27 at time t = 0, then number of characters read at (t + 1) = number of characters read at t (link)
  • if value of cell 27 at time t = 0, then cursor x at time (t + 1) = cursor x at time t (link)
  • if value of cell 27 at time t = 0, then cursor y at time (t + 1) = cursor y at time t (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • cursor x at time t < 39

    then cursor x at time (t + 1) = (cursor x at time t) + 1

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • cursor x at time t < 39

    then cursor y at time (t + 1) = cursor y at time t

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • cursor x at time t = 39

    then cursor x at time (t + 1) = 0

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • cursor x at time t = 39
    • cursor y at time t < 11

    then cursor y at time (t + 1) = (cursor y at time t) + 1

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • cursor x at time t = 39
    • cursor y at time t = 11

    then display text at x: x, y: y, and time: (t + 1) = display text at x: x, y: (y + 1), and time: t

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • value of cell (10 + (number of characters read at t)) at time t = 13

    then cursor x at time (t + 1) = 0

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • value of cell (10 + (number of characters read at t)) at time t = 13
    • cursor y at time t < 11

    then cursor y at time (t + 1) = (cursor y at time t) + 1

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • value of cell (10 + (number of characters read at t)) at time t = 13
    • cursor y at time t = 11

    then cursor y at time (t + 1) = cursor y at time t

    (link)
  • if the following are true:
    • value of cell 27 at time t = 1
    • value of cell (10 + (number of characters read at t)) at time t = 13
    • cursor y at time t = 11

    then display text at x: x, y: y, and time: (t + 1) = display text at x: x, y: (y + 1), and time: t

    (link)
  • if the following are true:
    • value of cell 49 at time t = 1
    • value of cell 48 at time t = 1
    • disk bytes read at time t < value of cell 46 at time t

    then disk byte at index: ((value of cell 47 at time t) + (disk bytes read at time t)) time: (t + 1) = value of cell (30 + (disk bytes read at time t)) at time t

    (link)
  • if the following are true:
    • value of cell 49 at time t = 1
    • value of cell 48 at time t = 1
    • not (index = (value of cell 47 at time t) + (disk bytes read at time t))

    then disk byte at index: index time: (t + 1) = disk byte at index: index time: t

    (link)
  • if the following are true:
    • value of cell 49 at time t = 1
    • disk bytes read at time t < value of cell 46 at time t

    then disk bytes read at time (t + 1) = (disk bytes read at time t) + 1

    (link)
  • if the following are true:
    • value of cell 49 at time t = 1
    • disk bytes read at time t = value of cell 46 at time t

    then value of cell 49 at time (t + 1) = 0

    (link)
  • if the following are true:
    • value of cell 49 at time t = 1
    • disk bytes read at time t = value of cell 46 at time t

    then disk bytes read at time (t + 1) = 0

    (link)
  • if the following are true:
    • value of cell 49 at time t = 1
    • disk bytes read at time t = value of cell 46 at time t

    then disk byte at index: index time: (t + 1) = disk byte at index: index time: t

    (link)
  • if value of cell 49 at time t = 0, then disk bytes read at time (t + 1) = disk bytes read at time t (link)
  • if value of cell 49 at time t = 0, then disk byte at index: index time: (t + 1) = disk byte at index: index time: t (link)
  • if the following are true:
    • value of cell 49 at time t = 1
    • value of cell 48 at time t = 0
    • disk bytes read at time t < value of cell 46 at time t

    then value of cell (30 + (disk bytes read at time t)) at time (t + 1) = disk byte at index: ((value of cell 47 at time t) + (disk bytes read at time t)) time: t

    (link)
  • if the following are true:
    • value of cell 49 at time t = 1
    • disk bytes read at time t = value of cell 46 at time t
    • value of cell 48 at time t = 0

    then interrupt at index: 1 time: (t + 1) = 1

    (link)
  • if the following are true:
    • value of cell 49 at time t = 1
    • value of cell 48 at time t = 0

    then disk byte at index: index time: (t + 1) = disk byte at index: index time: t

    (link)
  • if the following are true:
    • byte at ID: c, cell #49 at time t = 1
    • byte at ID: c, cell #48 at time t = 1
    • disk bytes read at time t < byte at ID: c, cell #46 at time t

    then disk byte at index: ((value of cell 47 at time t) + (disk bytes read at time t)) time: (t + 1) = value of cell (30 + (disk bytes read at time t)) at time t

    (link)


Comments

Please log in to add comments