Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
Я к тому, что вот: сделали ex (sp),hl - положили значение hl в стек, а тут прерывание приходит и его портит. Потом мы его восстанавливаем уже некорректным... Я согласен, такое бывает редко. Но метко. Криво как-то написано. Нет? Я что-то не так понял?

Код:
void beep(char semitone, char len) __naked
{ semitone, len;
__asm
	pop  af
	pop  bc
;	ex  (sp),hl
	push bc
	push af
	push ix
   ld a,b
   ld b,#0
	push bc
;	ld   a,l
	call 11560
	ld   a,#100
	call 11560
	rst 40
	.db 5, 56
	pop bc
	ld  a,c
	and a
	jp  m,1$
	call 11560
	jp 1016
1$:	neg
	call 11560
	rst 40
	.db  27,56
	call  1016
	pop  ix
	ret
__endasm;
}
выделенные ЖЫРНЫМ строки имеют вначале символ ;
что означает комментарий