Todavia no dijimos que compilador estamos usando, parece MASM, pero puede ser cualquier otro que utilice la sintaxis de Intel. Tambien parece ser DOS por el INT 21h 20h
Estos codigos que estamos haciendo se encuentras muy incompletos como para tratar de compilarlos, y el tema es mucho mas comlpejo, asi que voy a tratar de focalizarme sobre las instrucciones nomas.
El primer codigo, 2 cosas:
- Ponerle una etiqueta con un numero no se si es posible para comenzar, y eso no va a hacer que esa direccion sea la 0x1000, seguramente necesites usar la directiva ORG 1000h para indicar que alli comienza.
- Los INC aumentan de a 1, y vos necesitas aumentar de a 2, ya que son numeros de 16 bits.
El punto 2, es modificar el valor de la ORG a 1500h , y ponerle una etiqueta al comienzo, asi poder hacer un CALL a esa etiqueta desde otro lugar.
Lamentablemente hasta aca llega mi conocimiento de ASM.
El punto 3 te pide que la rutina que vos tenes ahora sea una interrupcion.
Esto va a llevar que.... posiciones toda la rutina en la direccion 3000:2200 ( no tengo claro a que se refiere esta notacion, Si es para dividir los 16bits, o si esta usando memoria segmentada), voy a asumir que se trata de una memoria segmentada, por lo que la direccion abosulta es de ( 3000h * 16d + 2200h = 32200h ) imagino que lo harias con un ORG,
no estoy seguroSi es una interrupcion vas a tener que volver de la misma, por lo tanto el INT 20h va a tener que ser reemplazado por un IRET
Vas a tener que modificar la tabla de interrupciones que empieza en 0000h:0000h termina en 0000h:03FFh, para la interrupcion numero 61, esta interrupcion para DOS es una interrupcion de usuario, puedas definir la direccion de tu rutina cargando el valor sobre los vectores de interrupcion, es decir cargar el valor 32200h en la direccion de vector ( 61h * 4 = 184h ) ya que ocupan 4 bytes cada direccion de interrupcion.
Entonces pienso que quedaria algo asi:
; Aca modifico la tabla de vectores, solo la int 61h
; Hago el INT 61h
; Y hago el INT 20h ( o 21h + AX = 0 )
ORG 32200h
; Aca la rutina con un IRET
Seguramente antes de esos ejercicios te dieron cuales eran las directivas para hacerlo.
Y como ves no es a ciencia cierta lo que estoy diciendo, asi que deberias tomarlo con pinzas, esperar que alguien pueda responderte con mas seguridad, o buscar informacion por vos mismo.