Buenas. Alfonso ya te ha dado las pistas, pero sí, por ahi van los tiros.
org 4000h
DB 41h,42h
DW start
DB "MiprimeraROM"
start di
ld HL,RUTIME ; Cambio del interrup handler por RUTIME
ld (38h+1),HL
ld A,0C3h
ld (38h),A
ei
main jp main ; No sale.
El código es impecable, pero estás tratando de escribir en la dirección
$0038, que en el momento en que se carga la ROM están mapeadas como BIOS y
no como RAM. Si ejecutaras un programa así desde BASIC tampoco te
funcionaría.
Como dice Alfonso, cambia esa dirección por uno de los punteros de
interrupción de la RAM alta de sistema. Puedes utilizar el hook de teclado,
por ejemplo, que suele ser lo más habitual. Con ese pequeño cambio, todo te
funcionará como la seda.
De todos modos, pasar de .COM (todo RAM) a .ROM (casi todo ROM), tiene sus
problemillas, sobre todo con la gestión de las variables. Tenlo en cuenta.
Un saludo,
Edu R.
_________________________________________________________________
La información más fresca desde diferentes puntos de vista en la Revista de
Prensa de MSN. http://es.newsbot.msn.com/