.CSEG
.DSEG
.ORG
.DB
.DW
.BYTE
lds: direkt
ldd: indiziert
ld: indirekt
sts: direkt
st: indirekt
std: indiziert
X-Pointer: r26, r27
Y-Pointer: r28, r29
Z-Pointer: r30, r31
Carry-Flag: c
Sign-Flag: s
Zero-Flag: z
Negativ-Flag: n
Zweierkomplement-Überlauf-Flag: v
Global Interrupt Enable Flag: i
Transfer-Flag: t
brsh
brlo
brpl
brmi
brid
brie
brvs
brvc
brbs
brbc
brts
brtc
brie
brid
add
inc
adc
adiw
sub
dec
subi
sbc
sbci
...
lsr
lsl
rol
ror
asr
swap
bswap
cbw
cdq
cwd
cwde
pusha
popa
pushad
popad
pushaw
popaw
jp
jnp
jo
jno
jpe
jpo
jcxz
jecxz
js
jns
VCC, GND
CLK
S2, S1, S0
AEN
CEN
DEN
ALE
IOWC
IORC
AIOWC
DT/R
IOB
INTA
MWTC
MWDC
AMWDC
...
Lattice
Actel
Atmel
Cypress
QuickLogic
PLD - Programmable Logic Device
PLA - Programmable Loic Array
PAL - Programmable Array Logic
CPLD - Complex Programmable Logic Device
FPGA - Field Programming Gate Array
PAL: Programmierbarer UND-Matrx, Programmierbare ODER-Matrix
PLA: ODER-Matrix-Fest verdrahtet
PROM: Programmierbare Oder-Matrix
public phys_clicks alloc_mem (phys_clicks clicks) {
register struct hole *hp, *prev_ptr;
phys_clicks old_base;
hp = hole_head;
while (hp != NIL_HOLE) {
if (hp->h_len >= clicks) {
old_base = hp->h_base;
hp->h_base += clicks;
hp->h_len -= clicks;
if (hp->h_len != 0)
return old_base;
del_slot (prev_ptr, hp);
return old_base;
}
prev_ptr = hp;
hp = hp->h_next;
}
return E_NO_MEM;
}
mm/mproc.h
mm/glo.h
mm/param.h
mm/const.h
mm/alloc.c
mm/forkexit.c
mm/exec.c
mm/main.c
mm/signal.c
mm/break.c
mm/getset.c
mm/putc.c
alloc_mem ()
free_mem ()
merge ()
max_hole ()
mem_init ()
del_slot ()