Цитата Сообщение от anarchyman Посмотреть сообщение
Ну где то так :-)
у тебя главный цикл какой-то не правильный - call loop вызывает гурбо говоря саму себя, в следствии чего происходит переполнение стека и сброс. И djnz хрен знает куда прыгает. В теории вот так должно быть:

Код:
       halt 
       ld      ix,a1
       call    play
       ld      ix,a2
       call   play

       ld	B,#10
mloop1
       push	bc
       halt ; для синхронизации
       call	aaa ;или что ты тут собрался в цикле вызывать
       pop	bc
       djnz mloop1	
       ret
если надо, что бы
Код:
       ld      ix,a1
       call    play
       ld      ix,a2
       call   play
тоже в этом же цикле выполнялись - переносишь вот этот
Код:
       ld	B,#10
mloop1
       push	bc
участок кода в начало перед первым halt.
дальше твой код пока не смотрел, виснет явно на этом участке.

и вот это:

Код:
hframeaddr
        defw    s1
        defw    s2
тоже в начале кода хранить не следует, перенеси в конец программы, что бы не путаться.