kdrag.contrib.nand2tetris

Functions

ainsn(a)

cinsn(dst, comp[, jmp])

init_state(prog)

ppinsn(insn)

Classes

Comp(*values)

Dest(*values)

Jmp(*values)

class kdrag.contrib.nand2tetris.Comp(*values)

Bases: Enum

A = 48
A_MINUS_D = 7
D = 12
DEC_A = 50
DEC_D = 14
DEC_M = 114
D_AND_A = 0
D_AND_M = 64
D_MINUS_A = 19
D_MINUS_M = 83
D_OR_A = 21
D_OR_M = 85
D_PLUS_A = 2
D_PLUS_M = 66
INC_A = 55
INC_D = 31
INC_M = 119
M = 112
M_MINUS_D = 71
NEG_A = 51
NEG_D = 15
NEG_M = 115
NOT_A = 49
NOT_D = 13
NOT_M = 113
ONE = 63
ZERO = 42
classmethod __contains__(value)

Return True if value is in cls.

value is in cls if: 1) value is a member of cls, or 2) value is the value of one of the cls’s members. 3) value is a pseudo-member (flags)

classmethod __getitem__(name)

Return the member matching name.

classmethod __iter__()

Return members in definition order.

classmethod __len__()

Return the number of members (no aliases)

class kdrag.contrib.nand2tetris.Dest(*values)

Bases: Enum

A = 4
AD = 6
AM = 5
AMD = 7
D = 2
M = 1
MD = 3
NULL = 0
classmethod __contains__(value)

Return True if value is in cls.

value is in cls if: 1) value is a member of cls, or 2) value is the value of one of the cls’s members. 3) value is a pseudo-member (flags)

classmethod __getitem__(name)

Return the member matching name.

classmethod __iter__()

Return members in definition order.

classmethod __len__()

Return the number of members (no aliases)

class kdrag.contrib.nand2tetris.Jmp(*values)

Bases: Enum

JEQ = 2
JGE = 3
JGT = 1
JLE = 6
JLT = 4
JMP = 7
JNE = 5
NULL = 0
classmethod __contains__(value)

Return True if value is in cls.

value is in cls if: 1) value is a member of cls, or 2) value is the value of one of the cls’s members. 3) value is a pseudo-member (flags)

classmethod __getitem__(name)

Return the member matching name.

classmethod __iter__()

Return members in definition order.

classmethod __len__()

Return the number of members (no aliases)

kdrag.contrib.nand2tetris.ainsn(a: int) int
Parameters:

a (int)

Return type:

int

kdrag.contrib.nand2tetris.cinsn(dst: Dest, comp: Comp, jmp=Jmp.NULL) int
Parameters:
Return type:

int

kdrag.contrib.nand2tetris.init_state(prog: list[int]) DatatypeRef
Parameters:

prog (list[int])

Return type:

DatatypeRef

kdrag.contrib.nand2tetris.ppinsn(insn: int) str
Parameters:

insn (int)

Return type:

str

Modules

hack

hdl