No te funciona porque, primero, al cargarlo con ,8,1 el programa queda cargado en memoria a partir de 4096, mientras que un programa BASIC tiene que empezar en 2049. Aparte supongo que al meter la sentencia BASIC delante haz movido todo tu codigo unos cuantos bytes más adelante, asi que aún haciendo el SYS manualmente luego de la carga no te va a funcionar.
Yo no se usar el turbo assembler, pero te puedo guiar más o menos como arreglar el tema:
1) Sin modificar la direccion de memoria de tu rutina:
*= $0801
.word $080B,2000 ;el '2000' es el número de linea, puedes cambiarlo a tu gusto
.byte $9e
.text "4096"
.byte 0,0,0
*=$1000
;(y aquí pon tu rutina sin modificar)
2) Poniendo tu rutina siguiendo al header BASIC
*= $0801
.word $080B,2000 ;el '2000' es el número de linea, puedes cambiarlo a tu gusto
.byte $9e
.text "2061"
.byte 0,0,0
;(y aquí pon tu rutina modificando direcciones de ser necesario)
Con eso ya puedes cargar tu rutina simplemente con ,8 y cargará en la dirección de memoria correspondiente. Claro que ,8,1 también funcionará y dará el mismo resultado.