In [1]:
0000


==================================================
Memory dump:
==================================================
           x3000: x0000

==================================================
Registers:
==================================================
PC: x3001
N: 0 Z: 1 P: 0 
R0: x0000 R1: x0000 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x0000 

In [2]:
x0202


==================================================
Memory dump:
==================================================
           x3000: x0000
           x3001: x0202

==================================================
Registers:
==================================================
PC: x3002
N: 0 Z: 1 P: 0 
R0: x0000 R1: x0000 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x0000 

In [3]:
%exe


Runtime error:
    line 1:
Attempting to execute NOOP at x3000


In [1]:
.ORIG x3000
        LD R0, NUM1
        LD R1, NUM2
        ADD R2, R1, R0
        ST R2, SUM
        HALT
NUM1:   .FILL x0004
NUM2:   .FILL x0005
SUM:    .BLKW 1
.END


============================================================
Memory disassembled:
============================================================
           x3000: x2004  LD R0, NUM1                               [line: 1]
           x3001: x2204  LD R1, NUM2                               [line: 2]
           x3002: x1440  ADD R2, R1, R0                            [line: 3]
           x3003: x3403  ST R2, SUM                                [line: 4]
           x3004: xF025  HALT                                      [line: 5]
NUM1:      x3005: x0004  BR x300A (or 4)                           [line: 6]
NUM2:      x3006: x0005  BR x300C (or 5)                           [line: 7]
SUM:       x3007: x0000  BR x3008 (or 0)                           [line: 8]

============================================================
Registers:
============================================================
PC: x3008
N: 0 Z: 1 P: 0 
R0: x0000 R1: x0000 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x0000 

In [2]:
%bp  x3002


============================================================
Breakpoints
============================================================
    1)            x3002: x1440  ADD R2, R1, R0                            [line: 3]

In [3]:
%exe


...breakpoint hit at x3002

============================================================
Registers:
============================================================
PC: x3002
N: 0 Z: 0 P: 1 
R0: x0004 R1: x0005 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x0000 
============================================================
Computation SUSPENDED
============================================================
Instructions: 2
Cycles: 20 (0.000010 milliseconds)

In [4]:
%step


============================================================
Stepping...  => read, <= write, (Instructions/Cycles):
============================================================
    PC <= x3003
(3/26) ADD R2, R1, R0 [3] (x3003*: x1440)
    R2 <= x0009
    NZP <= (0, 0, 1)

============================================================
Registers:
============================================================
PC: x3003
N: 0 Z: 0 P: 1 
R0: x0004 R1: x0005 R2: x0009 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x0000 

In [5]:
%step


============================================================
Stepping...  => read, <= write, (Instructions/Cycles):
============================================================
    PC <= x3004
(4/35) ST R2, SUM [4] (x3004*: x3403)
    memory[x3007] <= x0009

============================================================
Registers:
============================================================
PC: x3004
N: 0 Z: 0 P: 1 
R0: x0004 R1: x0005 R2: x0009 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x0000 

In [6]:
%cont


============================================================
Registers:
============================================================
PC: x048E
N: 0 Z: 0 P: 1 
R0: x0004 R1: x0005 R2: x0009 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x3005 
============================================================
Computation SUSPENDED
============================================================
Instructions: 5
Cycles: 44 (0.000022 milliseconds)

In [12]:
%exe


============================================================
Registers:
============================================================
PC: x048E
N: 0 Z: 0 P: 1 
R0: x0004 R1: x0005 R2: x0009 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x3005 
============================================================
Computation completed
============================================================
Instructions: 5
Cycles: 44 (0.000022 milliseconds)

In [7]:
%pc 0


==================================================
Registers:
==================================================
PC: x0000
N: 0 Z: 1 P: 0 
R0: x0000 R1: x0000 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x0000 

In [9]:
%cont


Error: unknown command: %cont

In [4]:
%pc x3000


==================================================
Registers:
==================================================
PC: x3000
N: 0 Z: 0 P: 1 
R0: x0004 R1: x0005 R2: x0009 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x3005 

In [5]:
2353


Assemble error
    memory x048D

Invalid label "2353" in source line "2353", line #: 9


In [6]:
1


==================================================
Memory, disassembled:
==================================================
           x3000: x2004  LD R0, x3005                              [line: 1]
           x3001: x2204  LD R1, x3006                              [line: 2]
           x3002: x1440  ADD R2, R1, R0                            [line: 3]
           x3003: x3403  ST R2, x3007                              [line: 4]
           x3004: xF025  HALT                                      [line: 5]
           x3005: x0004  BR x300A (or 4)                           [line: 6]
           x3006: x0005  BR x300C (or 5)                           [line: 7]
           x3007: x0009  BR x3011 (or 9)                           [line: 8]

==================================================
Registers:
==================================================
PC: x048F
N: 0 Z: 0 P: 1 
R0: x0004 R1: x0005 R2: x0009 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x3005 

In [7]:
MY BABY GOT BACK


Assemble error
    line 10

Not an instruction: "MY BABY GOT BACK"


In [8]:
2


Assemble error
    line 10

Invalid label "2" in source line "2", line #: 10


In [9]:
?

In [10]:
%step


    PC <= x0490
(6/53) PUTS [10] (x0490*: xF022)
    R7 <= x0490
    PC <= x0456

==================================================
Registers:
==================================================
PC: x0456
N: 0 Z: 0 P: 1 
R0: x0004 R1: x0005 R2: x0009 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x0490 

In [1]:
.ORIG x3000
    LEA R0, HELLO
    PUTS
    HALT
HELLO .STRINGZ "Hello, World!\n"
.END


============================================================
Memory disassembled:
============================================================
           x3000: xE002  LEA R0, HELLO                             [line: 1]
           x3001: xF022  PUTS                                      [line: 2]
           x3002: xF025  HALT                                      [line: 3]
HELLO:     x3003: x0048  BR x304C (or 72, 'H')                     [line: 4]

============================================================
Registers:
============================================================
PC: x3012
N: 0 Z: 1 P: 0 
R0: x0000 R1: x0000 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x0000 

In [2]:
%exe


Hello, World!

============================================================
Registers:
============================================================
PC: x048E
N: 0 Z: 0 P: 1 
R0: x3003 R1: x0000 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x3003 
============================================================
Computation completed
============================================================
Instructions: 167
Cycles: 1382 (0.000691 milliseconds)

In [3]:
%pc x3000


============================================================
Registers:
============================================================
PC: x3000
N: 0 Z: 0 P: 1 
R0: x3003 R1: x0000 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x3003 

In [4]:
%step


============================================================
Stepping...  => read, <= write, (Instructions/Cycles):
============================================================
    PC <= x3001
(1/6) LEA R0, HELLO [1] (x3001*: xE002)
    R0 <= x3003
    NZP <= (0, 0, 1)

============================================================
Registers:
============================================================
PC: x3001
N: 0 Z: 0 P: 1 
R0: x3003 R1: x0000 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x3003 

In [5]:
%step


============================================================
Stepping...  => read, <= write, (Instructions/Cycles):
============================================================
    PC <= x3002
(2/15) PUTS [2] (x3002*: xF022)
    R7 <= x3002
    PC <= x0456

============================================================
Registers:
============================================================
PC: x0456
N: 0 Z: 0 P: 1 
R0: x3003 R1: x0000 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x3002 

In [6]:
%cont


Hello, World!

============================================================
Registers:
============================================================
PC: x048E
N: 0 Z: 0 P: 1 
R0: x3003 R1: x0000 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x3003 
============================================================
Computation completed
============================================================
Instructions: 167
Cycles: 1382 (0.000691 milliseconds)

In [1]:
%run?

In [2]:
%run ~/calysto_lc3/examples/add.asm


============================================================
Memory disassembled:
============================================================
           x3000: x2004  LD R0, NUM1                               [line: 1]
           x3001: x2204  LD R1, NUM2                               [line: 2]
           x3002: x1440  ADD R2, R1, R0                            [line: 3]
           x3003: x3403  ST R2, SUM                                [line: 4]
           x3004: xF025  HALT                                      [line: 5]
NUM1:      x3005: x0004  BR x300A (or 4)                           [line: 6]
NUM2:      x3006: x0005  BR x300C (or 5)                           [line: 7]
SUM:       x3007: x0000  BR x3008 (or 0)                           [line: 8]

============================================================
Registers:
============================================================
PC: x3008
N: 0 Z: 1 P: 0 
R0: x0000 R1: x0000 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x0000 

In [7]:
%help pc

In [2]:
LICENSE


============================================================
Memory disassembled:
============================================================
LICENSE:   x3000: x0000  BR x3001 (or 0)                           [line: 1]

============================================================
Registers:
============================================================
PC: x3000
N: 0 Z: 1 P: 0 
R0: x0000 R1: x0000 R2: x0000 R3: x0000 
R4: x0000 R5: x0000 R6: x0000 R7: x0000 

In [1]:
%%python

kernel.get_completions({"help_obj": "%pc"})


Out[1]:
['%pc']

In [4]:
%help

In [ ]: