Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
012:utilidades [d/m/Y H:i] – [Listado ensamblador] miguel | 012:utilidades [d/m/Y H:i] (actual) – [Listado ensamblador] miguel | ||
---|---|---|---|
Línea 35: | Línea 35: | ||
INC HL | INC HL | ||
LD A, | LD A, | ||
- | CP 248;' | + | CP 248 ;' |
JR Z, | JR Z, | ||
- | CP 239;' | + | CP 239 ;' |
JP Z,TLOAD | JP Z,TLOAD | ||
- | CP 214;' | + | CP 214 ;' |
JP Z, | JP Z, | ||
- | CP 213;' | + | CP 213 ;' |
JR Z, | JR Z, | ||
JR ERRORA SI NINGUNO EXISTE SALTA A ERROR. | JR ERRORA SI NINGUNO EXISTE SALTA A ERROR. | ||
Línea 73: | Línea 73: | ||
CALL SAVE SALVA LA CABECERA. | CALL SAVE SALVA LA CABECERA. | ||
LD B,#32 | LD B,#32 | ||
- | HALT SE PRODUCE UN RETARDO ANTES DE SALVAR EL SEGUNDO | + | PSAV HALT SE PRODUCE UN RETARDO ANTES DE SALVAR EL SEGUNDO |
DJNZ PSAV BLOQUE. | DJNZ PSAV BLOQUE. | ||
POP AF RECUPERA " | POP AF RECUPERA " | ||
Línea 117: | Línea 117: | ||
RET | RET | ||
TLOAD CALL LDPREV | TLOAD CALL LDPREV | ||
- | SET (j.|IY+37) SEÑAL "CARGA EL BLOQUE" | + | SET 0,(IY+37) SEÑAL "CARGA EL BLOQUE" |
- | JR NC.LDBYTE SALTA SI NO ES UN PROGRAMA BASIC. | + | JR NC,LDBYTE SALTA SI NO ES UN PROGRAMA BASIC. |
- | LD DE.(LONBUF| TOMA LONGITUD TOTAL DEL BLOQUE A CARGAR. | + | LD DE,(LONBUF) TOMA LONGITUD TOTAL DEL BLOQUE A CARGAR. |
- | LD HL.I23635) | + | LD HL,(23635) |
- | ADD HL.DE MIRA SI EL PROGRAMA A CARGAR ES MENOR QUE EL PRO- | + | ADD HL,DE MIRA SI EL PROGRAMA A CARGAR ES MENOR QUE EL PRO- |
- | EX DE.HL GRAMA RESIDENTE. | + | EX DE,HL GRAMA RESIDENTE. |
- | LD HL.I23641) SCF | + | LD HL,(23641) |
- | SBC HL.DE | + | SCF |
- | JR C.ADDS SIES MAYOR O IGUAL. SALTA | + | SBC HL,DE |
- | JR Z.ADDS PARA CREAR ESPACIO. | + | JR C,ADDS SI ES MAYOR O IGUAL. SALTA |
- | LD B.H RECLAMA LOS BYTES SOBRANTES. | + | JR Z,ADDS PARA CREAR ESPACIO. |
- | LD C.L | + | LD B,H RECLAMA LOS BYTES SOBRANTES. |
- | EX DE.HL | + | LD C,L |
- | CALL «19E8 | + | EX DE,HL |
- | JR PPL | + | CALL #19E8 |
- | ADDS ADD HL.DE CREA ESPACIO SUFICIENTE EN MEMORIA PARA EL NUEVO | + | JR PPL |
- | EX DE.HL PROGRAMA. | + | ADDS ADD HL,DE CREA ESPACIO SUFICIENTE EN MEMORIA PARA EL NUEVO |
- | AND A | + | EX DE,HL PROGRAMA. |
- | SBC HL.DE | + | AND A |
- | LD ' | + | SBC HL,DE |
- | LD C,L | + | LD B,H |
- | EX DE.HL | + | LD C,L |
- | CALL »1655 | + | EX DE,HL |
- | PPL LD HL.(23635) ASIGNA LA DIRECCION CORRECTA DE LAS VARIABLES DE | + | CALL #1655 |
- | LD BC.(INFBUF) PROGRAMA. | + | PPL LD HL,(23635) ASIGNA LA DIRECCION CORRECTA DE LAS VARIABLES DE |
- | ADD HL.BC | + | LD BC,(INFBUF) PROGRAMA. |
- | LD (23627), | + | ADD HL,BC |
- | LD HL(DIBUF) MIRA SI EL PROGRAMA BASIC SE AUTOEJECUTA Y EN QUE U- | + | LD (23627), |
- | LD A.H NEA. | + | LD HL,(DIBUF) MIRA SI EL PROGRAMA BASIC SE AUTOEJECUTA Y EN QUE LI- |
- | AND *C0 | + | LD A,H NEA. |
- | JR NZ.CPROG | + | AND #C0 |
- | LD (23618I.HL SI ES ASI. HACE UNA COPIA. | + | JR NZ,CPROG |
- | LD |IY+101.0 SEÑALA PRIMERA INSTRUCCION DE LA LINEA. | + | LD (23618),HL SI ES ASI. HACE UNA COPIA. |
- | CPROG LD DE.ILONBUF) | + | LD (IY+10),0 SEÑALA PRIMERA INSTRUCCION DE LA LINEA. |
- | LD IX.(23635) | + | CPROG LD DE,(LONBUF) |
- | CARGA LD A.«FF | + | LD IX,(23635) |
- | BIT 0 .(IY+37Í EXAMINA "LOAD O VERIFY | + | CARGA LD A,#FF |
- | JR Z.VBYT LMBYT SCF | + | BIT 0 |
- | VBYT CALL LOAD | + | JR Z,VBYT |
- | RET C | + | LMBYT SCF |
- | JP ERRORR | + | VBYT CALL LOAD |
- | LDBYTE AND A SE EFECTUA UN CHEQUEO DEL REGISTRO " | + | RET C |
- | JR NZ.INDEF MINAR EL TIPO DE CARGA | + | JP ERRORR |
- | LD IX.16384 A=0 INDICA "LOAD SCREENS" | + | LDBYTE AND A SE EFECTUA UN CHEQUEO DEL REGISTRO " |
- | LD DE.(LONT) A=1 INDICA "LOAD CODE" | + | JR NZ,INDEF MINAR EL TIPO DE CARGA |
- | LD HL(LONBUF) A=2 INDICA "LOAD CODE XXXX" | + | LD IX,16384 A=0 INDICA "LOAD SCREENS" |
- | AND A A=3 INDICA "LOAD CODE XXXX. XXXX" | + | LD DE,(LONT) A=1 INDICA "LOAD CODE" |
- | SBC HL.DE JP | + | LD HL,(LONBUF) A=2 INDICA "LOAD CODE XXXX" |
- | JR CARGA | + | AND A A=3 INDICA "LOAD CODE XXXX. XXXX" |
- | INDEF CP 2 | + | SBC HL,DE |
- | JR NC(DIDEF) | + | JP NZ,ERRORR |
- | LD IX.(DIBUF) | + | JR CARGA |
- | DEFLO LD DE.(LONBUF) | + | INDEF CP 2 |
- | JR CARGA | + | JR NC(DIDEF) |
- | DIDEF LD IX.IDIRT) | + | LD IX,(DIBUF) |
- | JR NZ.TODEF | + | DEFLO LD DE,(LONBUF) |
- | JR DEFLO | + | JR CARGA |
- | TODEF LD DE, | + | DIDEF LD IX,(DIRT) |
- | JR CARGA | + | JR NZ,TODEF |
- | RELOAD LD IX.BUFCAB DIRECCION DE CARGA DE LA CABECERA. | + | JR DEFLO |
- | LD DE.17 | + | TODEF LD DE, |
- | XOR A SCF | + | JR CARGA |
- | CALL LOAD | + | RELOAD LD IX,BUFCAB DIRECCION DE CARGA DE LA CABECERA. |
- | JR NC.RELOAD SI ERROR. INSISTE. | + | LD DE,17 |
- | RES (j.|IY+82) ABRE CANAL SUPERIOR DE PANTALLA. | + | XOR A |
- | LD 82 PREVEE SCROLL DE TRES LINEAS. | + | SCF |
- | LD HL.CABEC DIRECCION PUNTERO CABECERA ESPECIFICADA. | + | CALL LOAD |
- | LD C.128 SEÑAL " | + | JR NC,RELOAD SI ERROR. INSISTE. |
- | LD A.(BUFCAB) | + | RES 0,(IY+2) ABRE CANAL SUPERIOR DE PANTALLA. |
- | CP (HL) COMPARA AMBAS CABECERAS. | + | LD (IY+82),3 PREVEE SCROLL DE TRES LINEAS. |
- | JR NZ.LDTIP SALTA SI NO SON IGUALES. | + | LD HL,CABEC DIRECCION PUNTERO CABECERA ESPECIFICADA. |
- | LD C.246 SEÑAL "id CARACTERES IGUALES" | + | LD C,128 SEÑAL " |
- | LDTIP CP 4 SI EL TIPO DE BLOQUE ES MAYOR | + | LD A,(BUFCAB) |
- | JR NC.RELOAD QUE 3.CARGA NUEVA CABECERA | + | CP (HL) COMPARA AMBAS CABECERAS. |
- | LD DE. »900 | + | JR NZ,LDTIP SALTA SI NO SON IGUALES. |
- | PUSH BC IMPRIME EL MENSAJE ASOCIADO A CADA TIPO DE BLOQUE | + | LD C,246 SEÑAL "10 CARACTERES IGUALES" |
- | CALL «C0A Y EL NOMBRE DEL BLOQUE ENTRANTE. | + | LDTIP CP 4 SI EL TIPO DE BLOQUE ES MAYOR |
- | POP BC | + | JR NC,RELOAD QUE 3,CARGA NUEVA CABECERA |
- | LD DE.BUFNAM | + | LD DE,#9C0 |
- | LD HL.NOMBRE | + | PUSH BC IMPRIME EL MENSAJE ASOCIADO A CADA TIPO DE BLOQUE |
- | LD B.10 | + | CALL #C0A Y EL NOMBRE DEL BLOQUE ENTRANTE. |
- | LD A,(HL) | + | POP BC |
- | INC A | + | LD DE,BUFNAM |
- | JR NZ.LDNAME | + | LD HL,NOMBRE |
- | LD A.C | + | LD B,10 |
- | ADD A.B | + | LD A, |
- | LD C.A | + | INC A |
- | LDNAME LD A.(DE) | + | JR NZ,LDNAME |
- | CP (HL) | + | LD A,C |
- | INC HL | + | ADD A,B |
- | INC DE | + | LD C,A |
- | JR NZ.LDPR | + | LDNAME LD A,(DE) |
- | INC C | + | CP (HL) |
- | LDPR RST 16 | + | INC HL |
- | DJNZ LDNAME | + | INC DE |
- | BIT 7, | + | JR NZ,LDPR |
- | JR NZ.RELOAD ENTRANTES COINCIDEN. | + | INC C |
- | LD A.13 | + | LDPR RST 16 |
- | RST 16 | + | DJNZ LDNAME |
- | RET _ | + | BIT 7,C EXAMINA SI EL TIPO Y EL NOMBRE |
+ | JR NZ,RELOAD ENTRANTES COINCIDEN. | ||
+ | LD A,13 | ||
+ | RST 16 | ||
+ | RET | ||
</ | </ |