10,00 pasar a modo de video AL 10,01 linea inicial CH 0-4 y final CL 0-4 del cursor 10,02 cursor a fila DH columna DL pagina BH 10,03 cursor? pแgina BH -> CX como 10,01 DX como 10,02 10,05 ir a pแgina activa AL 10,08 chr en cursor de pแgina BH? -> AH atributo AL ascii 10,09 poner CX caracteres AL, atr.BL en cursor de pag. BH. No varia cursor 10,0A idem 10,09, sin atributo 10,0B paleta,fondo,borde BH=0 BL fondo-borde BH=1 BL paleta 10,0C pixel color=AL pag=BH CX=columna DX=fila 10,0D pixel? pag=BH CX=columna DX=fila -> color=AL 10,0E char RTTY ascii=AL (avanza cursor, atributos con 10,09) 10,10,01 borde bh=color 10,10,02 paleta ES:DX offset 17 bytes: 16 colores + borde 10,10,08 borde? -> bh=borde 10,10,10 registro de color BX a CH=verde CL=azul DH=rojo 10,10,12 setear paleta BX=1บreg CX=#reg ES:DX offset tabla 0-63 RGB 10,10,15 leer color #=BX R=DH G=CH B=CL 10,10,17 leer paleta BX=1บreg CX=#reg ES:DX offset buffer RGB 10,10,1B pasa colores a grises BX=1บcolor CX=# de colores 10,11,10 (despues de 10,00) BH=bytes/char BL=bloque ram CX=#colores DX=1บascii ES:BP tabla 10,11,02 carga font 8x8 BL bloque 10,11,04 carga font 8x16 BL bloque 10,12,BL10 -> BH=0 color BH=1 B/N BL=memoria EGA CH=feature bits CL=switch settings 10,12,BL31 AL=0 permite 1 impide carga paleta x defecto ->AL=12 si soporta - o - INT 13: si error CF=1 y en AL vuelve c๓digo error ------------------------------------------------- 13,00 reinicializa disco DL 00-7F floppy (0=a etc) 80-FF rํgido 13,01 ver estado unidad DL -> AH=0 13,02 Leer AL sectores, cilindro=CH sector=CL cabeza=DH disco=DL a ES:BX -> AL=# sectores leidos 13,03 Escribir AL sectores (1-8) cilindro=CH sector i=CL DH=cabeza DL=unidad 13,04 Verificar AL sectores (1-8) cilindro=CH sector i=CL DH=cabeza DL=unidad 13,05 Formatear una pista AL=interleave ES:BX lista de campos CHRN(4bytes c/u) cilindro=CH sector i=CL DH=cabeza DL=unidad CHRN=cilindro,cabeza,sector,tama๑o sector(00-128,01-256,02-512,03-1024) 13,0A leer AL sectores absolutos HD Cilindro=CH CL=7,6MSBcilindro 5-0#sect. DH cabeza DL unidad (80-FF) ES:BX buffer 13,0D recalibrado HD DL (80-FF) 13,10 pide estado HD DL -> c๓digo en AH INT 14: PORT SERIE ------------------------------------------------- 14,00 prepara COM AL= --- --- --- --- --- --- --- --- ฆvel en baudฆparidadฆ p ฆ datos ฆ DX=puerto-1 --- --- --- --- --- --- --- --- 0=COM 1 etc. 7 6 5 4 3 2 1 0 -> AH= 000 0 sin parada 10=7 estado COM n 001 1 impar 0=1 11=8 AL= 010 2 par 1=2 estado modem 011 100 101 110 111 14,01 escribir ascii AL en COM (DX+1) -> AH= estado COM bit 7=0 timeout 6-0 estado puerto 14,02 leer ascii en COM (DX+1) -> AL=ascii AH=estado COM INT 16: TECLADO ------------------------------------------------- 16,00 leer ascii del teclado -> AL=ascii AH=c๓digo de tecla (espera tecla) 16,01 pide estado del teclado -> ZF=0 no hay ZF=1 hay AL=ascii AH=c๓digo 16,01 pide flags del teclado -> AL=flags [0040:0017] [ SHIFT ] ——— ——— ——— ——— ——— ——— ——— ——— ฆINS CAP NUM SCL ALT CTR SIZ SDEฆ ——— ——— ——— ——— ——— ——— ——— ——— 7 6 5 4 3 2 1 0 16,02 pide flags del teclado expandido AL= [ SHIFT ] ——— ——— ——— ——— ——— ——— ——— ——— ฆINS CAP NUM SCL ALT CTR SIZ SDEฆ ——— ——— ——— ——— ——— ——— ——— ——— 7 6 5 4 3 2 1 0 AH= d d i i ——— ——— ——— ——— ——— ——— ——— ——— ฆSYS SLK NUM SCL ALT CTR ALT CTRฆ ——— ——— ——— ——— ——— ——— ——— ——— 7 6 5 4 3 2 1 0 INT 17: IMPRESORA ------------------------------------------------- 17,00 Saca ascii AL por LPT(DX+1) -> AH=estado 7=libre 6=desconectada 17,01 inicializa LPT(DX+1) -> AH=estado 5=sin papel 4=selecccionada 3=error E/S 0=time out INT 18: ROM BASIC ----------------- Llama a la ROM basic cuando esta estแ instalada INT 19: RESET ------------- INT 1A: MEMORIA CMOS -------------------- 1A,00 consulta el reloj del CMOS -> AL=0 pas๓ medianoche desde la ๚ltima consulta AL<>0 no pas๓ medianoche desde la ๚ltima consulta en CX:DX (HW-LW) = contador de pulsos 54,9254ms / 18,2065(12h)/seg (contador se pone a 0 al resetear) 1092 (444h) /min 65543(19911h)/hora 1573040(180080h)/dํa 1A,01 pone reloj a CX:DX 1A,02 pide hora CMOS CH=hora CL=min DH=seg DL=0 standard 01 adelantada 1A,03 pone hora CMOS CH=hora CL=min DH=seg DL=0 standard 01 adelantada 1A,03 pide fecha CMOS CH=siglo(19-20) CL=a๑o DH=mes DL=dํa (todo en BCD) 1A,04 pone fecha CMOS CH=siglo(19-20) CL=a๑o DH=mes DL=dํa (todo en BCD) 1A,06 conecta alarma CMOS CH=hora CL=min DH=seg 1A,07 desconecta alarma CMOS