Trabajo de arquitectura de computadoras
ltayj22 de Junio de 2014
12.912 Palabras (52 Páginas)270 Visitas
;
; ** TRABAJO DE ARQUITECTURA DE COMPUTADORAS **
;
;**********************************************************
PAGE 60,132
; PUBLIC NAMEPAR,MAXNLEN,ACTNLEN,TEXTO,MENSA1,MENSA2
; PUBLIC BEGIN,A20LOOP,FIN,A30,B10PRMP,D10INPT,F10CLNM
; PUBLIC BEGIN,B10PRMP,D10INPT,F10CLNM
; PUBLIC F20,Q10CLR,Q20CURS
; PUBLIC Q10CLR,Q20CURS
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; PROGRAMA PARA CONVERTIR CADENAS
TITLE ECO
;--------------------------------------------------------------------
STACKSG SEGMENT PARA STACK 'STACK'
DW 32 DUP (?)
STACKSG ENDS
;--------------------------------------------------------------------
DATASG SEGMENT PARA 'DATA'
CADENA1 LABEL BYTE ;START OF NAME PARAMETER LIST
MAXNLEN DB 11 ;MAX. LENGTH OF NAME
ACTNLEN DB ? ;MRO. CHARS ENTERED
TEXTO DB 13 DUP (' '),'$' ;NAME & DELIMITER
CADENA2 LABEL BYTE
MAXNLEN2 DB 11
ACTNLEN2 DB ?
TEXTO2 DB 13 DUP (' '),'$'
CADENA3 LABEL BYTE
MAXNLEN3 DB 11
ACTNLEN3 DB ?
TEXTO3 DB 13 DUP (' '),'$'
CADENA4 LABEL BYTE
MAXNLEN4 DB 11
ACTNLEN4 DB ?
TEXTO4 DB 13 DUP (' '),'$'
CADENA5 LABEL BYTE
MAXNLEN5 DB 11
ACTNLEN5 DB ?
TEXTO5 DB 13 DUP (' '),'$'
MENSAJE1 DB '* CUANTAS CADENAS DE CARACTERES QUIERE INGRESAR : $'
MENSAJE2 DB '¯ NO ESTA DENTRO DEL RANGO, INTENTE DE NUEVO... $'
MENSAJE3 DB '- INGRESE CADENA :$'
MENSAJE4 DB '* SELECCIONE DE QUE MANERA QUIERE QUE SE MUESTRE EL CODIGO: $'
MENSAJE5 DB '- MOSTRAR EN CODIGO HEXADECIMAL (ASCII) - PRESIONE "A" $'
MENSAJE6 DB '- MOSTRAR EN CODIGO BINARIO (ASCII) - PRESIONE "B" $'
MENSAJE7 DB '- MOSTRAR EN CODIGO HEXADECIMAL (EBCDIC) - PRESIONE "H" $'
MENSAJE72 DB '- MOSTRAR EN CODIGO OCTAL (ASCII) - PRESIONE "O" $'
MENSAJE73 DB ' DIGITE LA LETRA DEL CODIGO: $'
MENSAJE8 DB 'LA OPCION IGRESADA ES INCORRECTA, LEA E INTENTE NUEVAMENTE... $'
MENSAJE9 DB 'USTED A SELECCIONADO ASCII: $'
MENSAJE10 DB 'USTED A SELECCIONADO BINARIO : $'
MENSAJE11 DB 'USTED A SELECCIONADO HEXADECIMAL : $'
MENSAJE12 DB 'USTED A SELECCIONADO OCTAL : $'
MENSAJE13 DB 'PRESIONE EL NUMERO DE CADENA QUE DESEE MOSTRAR: $'
MENSAJE14 DB '1.- $'
MENSAJE15 DB '2.- $'
MENSAJE16 DB '3.- $'
MENSAJE17 DB '4.- $'
MENSAJE18 DB '5.- $'
MENSAJE19 DB 'INGRESE EL NUMERO DE LA CADENA QUE DESEA CONVERTIR: $'
MENSAJE20 DB '¯ OPCION INCORRECTA, INTENTE DE NUEVO $'
MENSAJE21 DB '* ERROR $'
MENSAJE22 DB '* USTED NO HA INGRESADO EL NUMERO DE CADENAS INGRESADAS $'
MENSAJE23 DB '- PRESIONE CUALQUIER TECLA PARA REGRESAR... $'
MENSAJE24 DB ' ¨ DESEA CONTINUAR ? SI(S) NO(N) $'
MENSAJE25 DB ' *ERROR* $'
MENSAJE26 DB '¯ POR FAVOR SOLO INGRESE LAS LETRAS ASIGNADAS A CADA OPCION... $'
MENSAJE30 DB ' *** GRACIAS *** $'
MENSAJE31 DB ' INTEGRANTES: $'
MENSAJE32 DB '- FLORES BORDAIS, JESUS MAXIMO COD: 09190058 $'
MENSAJE33 DB '- GRANDA COLLADO, MANUEL COD: 09190092 $'
MENSAJE34 DB '- HUANCA HONORIO, DENNIS COD: 09190127 $'
MERROREBC DB ' EL SIMBOLO INGRESADO NO ESTA CODIFICADO... $'
MERROREBC1 DB '¯ PARA EL CODIGO EBCDIC SOLO PUEDE INGRESAR VALORES $'
MERROREBC2 DB ' ALFANUMERICOS... $'
DATASG ENDS
;---------------------------------------------------------------------
CODESG SEGMENT PARA 'CODE'
BEGIN PROC FAR
ASSUME CS:CODESG,DS:DATASG,SS:STACKSG,ES:DATASG
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATASG
MOV DS,AX
MOV ES,AX
INICIO PROC NEAR
MOV CH,00H
MOV DX,050AH ;PONE EL CURSOR A FILA 00, COLUMNA 00
CALL CURSOR
MOV CL,00
CALL ESCRIBIR
CALL LEER
CALL RANGO
CALL ESTRUCTURA
CALL ELECCION
RET
INICIO ENDP
;------------------------------------------
ESCRIBIR PROC NEAR
LEA DX,MENSAJE1
MOV AH,09H
INT 21H
RET
ESCRIBIR ENDP
;------------------------------------------
LEER PROC NEAR
MOV AH,01H
INT 21H
RET
LEER ENDP
;------------------------------------------
RANGO PROC NEAR
CMP AL,30H
JLE ERROR
CMP AL,35H
JG ERROR
MOV BL,AL
SUB BL,30H
RET
RANGO ENDP
;------------------------------------------
ERROR PROC NEAR
CALL LIMPIA
MOV DX,030AH ;PONE EL CURSOR A FILA 00, COLUMNA 00
CALL CURSOR
LEA DX,MENSAJE2
MOV AH,09H
INT 21H
CALL INICIO
RET
ERROR ENDP
;------------------------------------------
ESTRUCTURA PROC NEAR
MOV DX,070CH
ADD DH,CL
CALL CURSOR
LEA DX,MENSAJE3
MOV AH,09H
INT 21H
CALL LEERCAD
INC CL
DEC BL
JZ QCODIGO
CALL ESTRUCTURA
RET
ESTRUCTURA ENDP
;------------------------------------------
LEERCAD PROC NEAR
SUB DX,DX
MOV DX,CH
MOV AH,0AH
INT 21H
ADD CH,10H
RET
LEERCAD ENDP
;-*****************************************
QCODIGO PROC NEAR
MOV DX,0D0AH
CALL CURSOR
LEA DX,MENSAJE4
MOV AH,09H
INT 21H
MOV DX,0F0CH
CALL CURSOR
LEA DX,MENSAJE5
MOV AH,09H
INT 21H
MOV DX,100CH
CALL CURSOR
LEA DX,MENSAJE6
MOV AH,09H
INT 21H
MOV DX,110CH
CALL CURSOR
LEA DX,MENSAJE7
MOV AH,09H
INT 21H
MOV DX,120CH
CALL CURSOR
LEA DX,MENSAJE72
MOV AH,09H
INT 21H
MOV DX,140FH
...