viernes, 21 de mayo de 2010

Digitales II --

Este programa permitia cargar datos a una especie de base de datos y despues lo podias consultar.

No recuerdo para que profersor era pero si funcionaba, generalmente los controles los hacia el profesor Ochoa.

 
   5:          ORG 2000H
   6:          LD SP,3DFFH
   7:   
   8:          LD IY,3000H
   9:          LD B,0
  10:  LIMPIAM:        LD (IY),0
  11:          INC IY
  12:          DJNZ LIMPIAM
  13:                  
  14:          LD HL,CONTADOR
  15:          LD (HL),0
  16:   
  17:  INICIO:        CALL BORRAR_PAN
  18:          LD IX,LINEA1
  19:          LD A,1
  20:          CALL ENVIAR_MEN
  21:          
  22:          LD IX,LINEA2
  23:          LD A,2
  24:          CALL ENVIAR_MEN
  25:   
  26:          LD IX,LINEA3
  27:          LD A,3
  28:          CALL ENVIAR_MEN
  29:   
  30:          LD IX,LINEA4
  31:          LD A,4
  32:          CALL ENVIAR_MEN
  33:   
  34:  TECLA:        CALL SCAN
  35:          CP "1"
  36:          JP Z,INGRESA
  37:          CP "2"
  38:          JP Z,CONSULTA
  39:          CP "3"
  40:          JP Z,SALIR
  41:          JP TECLA
  42:  SALIR:        CALL BORRAR_PAN
  43:          RST 30H
  44:   
  45:   
  46:  ; INGRESAR
  47:  INGRESA:    CALL BORRAR_PAN
  48:          LD IX,MENSAJE
  49:          LD A,1
  50:          CALL ENVIAR_MEN
  51:          LD IY,3000H
  52:          LD HL,CONTADOR
  53:          LD A,(HL)
  54:          CP 0
  55:          JP Z,NOINCREM
  56:          INC (HL)
  57:          LD A,(HL)
  58:          LD B,A
  59:          LD DE,58
  60:  PROXREG:        ADD IY,DE
  61:          DJNZ  PROXREG
  62:          
  63:  NOINCREM:    PUSH IY
  64:          POP HL
  65:   
  66:          LD B,2
  67:  ESPCOD:        CALL SCAN
  68:          LD (IY),A
  69:          INC IY
  70:          LD (IY),24H
  71:          CALL IMPRIME
  72:          DJNZ ESPCOD
  73:          LD (IY),20H
  74:          INC IY        
  75:   
  76:          LD B,15
  77:  ESPPRO:        CALL SCAN
  78:          CP 20H
  79:          CALL Z,ENTER
  80:   
  81:          LD (IY),A
  82:          INC IY
  83:          LD (IY),24H
  84:          CALL IMPRIME
  85:          DJNZ ESPPRO
  86:          LD (IY),20H
  87:          INC IY        
  88:   
  89:          LD B,30
  90:  ESPDES:        CALL SCAN
  91:          CP 20H
  92:          CALL Z,ENTER
  93:   
  94:          LD (IY),A
  95:          INC IY
  96:          LD (IY),24H
  97:          CALL IMPRIME
  98:          DJNZ ESPDES
  99:          LD (IY),20H
 100:          INC IY        
 101:   
 102:          LD B,5
 103:  ESPPRE:        CALL SCAN
 104:          LD (IY),A
 105:          INC IY
 106:          LD (IY),24H
 107:          CALL IMPRIME
 108:          DJNZ ESPPRE
 109:          LD (IY),20H
 110:          INC IY        
 111:   
 112:   
 113:          LD B,2
 114:  ESPCAN:        CALL SCAN
 115:          LD (IY),A
 116:          INC IY
 117:          LD (IY),24H
 118:          CALL IMPRIME
 119:          DJNZ ESPCAN
 120:          CALL SCAN
 121:          
 122:          JP INICIO
 123:   
 124:  ENTER:        PUSH AF
 125:          LD A,1
 126:  ENTER1:        LD (IY),20H
 127:          INC IY
 128:          DEC B
 129:          CP B
 130:          JP NZ,ENTER1
 131:          POP AF
 132:          RET
 133:          
 134:  IMPRIME:        PUSH HL
 135:          POP IX
 136:          LD A,2
 137:          CALL ENVIAR_MEN
 138:          RET
 139:          
 140:  ;consultar
 141:  CONSULTA:    CALL BORRAR_PAN
 142:          LD IX,LINEA5
 143:          LD A,1
 144:          CALL ENVIAR_MEN
 145:   
 146:          LD B,2
 147:          LD IY,CODIGO
 148:  CODIG:        CALL SCAN
 149:          LD (IY),A
 150:          INC IY
 151:          LD IX,LINEA5
 152:          LD A,1
 153:          CALL ENVIAR_MEN
 154:          DJNZ CODIG
 155:   
 156:          LD HL,CONTADOR
 157:          LD A,(HL)
 158:          CP 0
 159:          JP Z,NADA
 160:          
 161:          LD B,(HL)
 162:          LD IX,3000H
 163:          
 164:  SIGUI2:        LD IY,CODIGO
 165:          LD A,(IX)
 166:          CP (IY)
 167:          JP NZ,SIGUI
 168:          LD A,(IX+1)
 169:          CP (IY+1)
 170:          JP NZ,SIGUI
 171:   
 172:          PUSH IX
 173:          POP HL
 174:          CALL IMPRIME
 175:          CALL SCAN
 176:          JP INICIO
 177:   
 178:  SIGUI:        LD DE,58
 179:          ADD IX,DE
 180:          DJNZ SIGUI2        
 181:          LD IX,LINEA6
 182:          LD A,2
 183:          CALL ENVIAR_MEN
 184:          CALL SCAN
 185:  NADA:        JP INICIO
 186:   
 187:          ORG 2500H
 188:  LINEA1        DB " MENU DE OPCIONES",24H
 189:  LINEA2        DB "1. AGREGAR PRODUCTOS",24H
 190:  LINEA3        DB "2 . CONSULTAR",24H
 191:  LINEA4        DB "3. SALIR",24H 
 192:  MENSAJE    DB " CODIGO PRODUCTO        DESCRIPCION                    PRECIO CANTIDAD",24H
 193:  CONTADOR    DB 0
 194:  LINEA5        DB "    INTRODUCE EL CODIGO DEL PRODUCTO       "
 195:  CODIGO        DB "         ",24H
 196:  LINEA6        DB "    CODIGO NO TIENE PRODUCTO REGISTRADO",24H
 197:   
 198:          ORG 3000H
 199:   
 200:  ENVIAR_MEN    RET ;EQU 052BH
 201:  SCAN        RET ;EQU 04F1H
 202:  BORRAR_PAN    RET ;EQU 055CH
 203:   
 204:          END

No hay comentarios:

Publicar un comentario