Mnemonic |
Narne | |
lodd |
X |
Load Direct |
stod |
X |
Storę Direct |
addd |
X |
Add Direct |
subd |
X |
Sub. Direct |
jpos |
X |
Jurnp on pos. |
jzer |
X |
Jurnp on zero |
jurnp |
X |
Jurnp uncond. |
loco |
c |
Load constant |
lodl |
X |
Load local |
stoi |
X |
Storę local |
addl |
X |
Add local |
subl |
X |
Subtract local |
jneg |
X |
Jurnp on negative |
jnze |
X |
Jurnp on nonzero |
cali |
X |
Cali procedurę |
pshi |
Push indirect | |
popi |
Pop indirect | |
push |
Push onto stack | |
pop |
Pop off stack | |
retn |
Return frorn proc | |
suap |
Suap ac, pc | |
insp |
y |
Increment sp |
desp |
y |
Decrement sp |
Action(s)
ac <- m[x] m[x] <- ac ac<- ac + m[x] ac <- ac - m[x]
IF ac>=0 : pc <- x
IF ac=0 : pc <- x
pc <- x (0 <= x <=4095)
ac <- c (0<=c<=4095)
ac <- m[sp+x]
m[sp+x] <- ac
ac <- ac + m[sp+x]
ac <- ac - m[sp+x]
if ac<0 : pc <- x
if ac!=0 : pc <- x
sp<—sp—1; m[sp] <- pc; pc <- x
sp <- sp—1; m[sp]<-m[ac]
m[ac] <- m[sp] ; sp <- sp+1
sp <- sp—1; m[sp] <- ac
ac <- m[sp]; sp <- sp+1
pc <- m[sp]; sp <- sp + 1
temp <- ac; ac <- sp; sp<-temp
sp <- sp + y; (0 <= y <= 255)
sp <- sp - y; (0 <= y <= 255)
Notes: 1. c is a constant in rangę 0 - 4095
2. x is an address in rangę 0 - 4095
3. y is an address offset in rangę 0 - 255