public start public _cpm public __hl public __de public __bc start: sp = (hl = *6); call __main; bc => sp; call _exit; . := .data __bc: &0 __de: &0 __hl: &0 . := .text _cpm: / hl = 2 + sp; bc =^ hl; de => sp; e = *hl; hl + 1; d = *hl; hl + 1; a = *hl; hl + 1; h = *hl; l = a; call *5 hl -> __hl; hl = de -> __de; hl = bc -> __bc; de <= sp; c = a; a + a -^ a -> b; / sign extend ret; /