DAMEN ASM ;
os equ 0f003h
dw 7f7fh
db 'DAMEN',1
or a
ld d,8
jr z,mm0
ld d,L ;L Damen
mm0 ld hl,PEnd
ld b,PEnd-DA
mml dec hl
ld m,0
djnz mml ;Alles Null
ld c,1
m1: ld e,m
push hl
ld hl,DA
ld b,c
jr mm3
ll:
ld a,m
cp e
jr z,m2
add b
cp e
jr z,m2
sub b
sub b
cp e
jr z,m2
inc hl
mm3 djnz ll
pop hl ;Korrekte Zeile
inc c
inc hl
ld a,d
cp c
jr nc,m1
call pSolve
call os
db 2ah
ret c
jr mm2b
m2
pop hl
m1a inc m
ld a,m
cp d
jr c,m1
ld m,0
mm2b dec hl
dec c
jr nz,m1a
ret
;
pSolve:
push hl
push de
push bc
ld hl,DA
ld e,3eh
ld c,d
ps1: ld b,d
call os
db 2bh
ld a,(0b7a3h)
push af
ps2:
ld a,e
ld (0b7a3h),a
xor 5
ld e,a
ld a,m
add b
cp d
ld a,' '
jr nz,ps3
ld a,'*'
ps3: call os
db 24h
djnz ps2
pop af
ld (0b7a3h),a
call os
db 2bh
call os
db 2ch
bit 0,d ;ungerade?
jr nz,ps4
ld a,e
xor 5
ld e,a
ps4: dec c
inc hl
jr nz,ps1
ld hl,(NO)
ld a,l
add 1
daa
ld l,a
ld a,h
adc 0
daa
ld h,a
ld (NO),hl
call os
db 1ah
call os
db 23h,'. L|sung',1eh,0
pop bc
pop de
pop hl
ret
;
DA org $+30h
NO org $+2
PEnd:
;
è
PEND:æ
NO:¶
DA:Œ
PS4:r
PS3:b
PS2:Y
PS1:P
PSOLVE:K
MM2B:D
M1A:C
M2:0
Mret
;
DA org $+30h
NO org $+2
PEnd:
;
è
PEND:æ
NO:¶
DA:Œ
PS4:r
PS3:b
PS2:Y
PS1:P
PSOLVE:K
MM2B:D
M1A:C
M2:0
M
Detected encoding: ANSI (CP1252) | 4
|
|