RSS
Facebook
G+

Buscador de IntercambioSOS:


Retroceder   Foro de Ayuda IntercambiosvirtualeS > Soporte Sobre: Educación & Entretenimiento > Zona Académica > Programación
Comunidad

Respuesta
 
Herramientas Desplegado
Antiguo 14-jul-2012     #1
Pregunta [Ayuda]Alguien que sepa Programar en Assembler

Hola compañer@s necesito ayuda con un codigo en assembler, lo único que necesito es que sume el total de hombres y mujeres encuestados, es decir por separado ya muestra el total de hombres y muestra el total de mujeres, pero lo que quiero que sume estos dos totales y muestre en pantalla el mensaje de "TOTAL ENCUESTADOS: N° " donde N° es el total de encuestados.

Les dejo en codigo a continuación para que lo revisen y ver si me pueden ayudar.


Spoiler:
;PROGRAMA PARA OBTENER ESTADISTICA DE UNA ENCUESTA
.MODEL LARGE
.STACK
;----------------------------------------------------------------------------------------------
; El data segment permite reducir espacio de memoria al direccionar fuera del entorno de código
;----------------------------------------------------------------------------------------------
DATOS SEGMENT ;area de segmento de datos.

Mensaje1 DB 13,10,'Ingrese sexo de la persona (M:Mujer / H:Hombre) $'
Mensaje2 DB 13,10,'Ingrese estado civil persona (C:Casado / S:Soltero / V:Viudo / D:Divorsiado) $'
Mensaje3 DB 13,10,'Ingrese nivel de estudio (B:Basica/M:Media /T:Tecnico /U:Universitario) $'
Mensaje4 DB 13,10,'Total Mujeres $',13,10
Mensaje5 DB 13,10,'Total Hombres $',13,10
Mensaje6 DB 13,10,'Total Casados $',13,10
Mensaje7 DB 13,10,'Total Solteros $',13,10
Mensaje8 DB 13,10,'Total Viudos $',13,10
Mensaje9 DB 13,10,'Total Divorsiados $',13,10
Mensaje10 DB 13,10,'Total Basica $',13,10
Mensaje11 DB 13,10,'Total Media $',13,10
Mensaje12 DB 13,10,'Total Tecnico $',13,10
Mensaje13 DB 13,10,'Total Universitario $',13,10
Mensaje14 DB 13,10,'Total Encuestados $',13,10
Mensaje DB 13,10,'Chao pescado $',13,10

Salida DB 13,10,'Desea continuar [S/N] : $'
Fin DB 13,10,'Hasta la vista baby ...$'

; Definición de variables
Mujeres DB 0 ; Total mujeres
Hombres DB 0 ; total hombres
Casados DB 0 ; total casados
Solteros DB 0 ; total solteros
Viudos DB 0 ; total viudos
Divorsiados DB 0 ; total divorsiados
Bas DB 0 ; total Basica
Med DB 0 ; total Media
Tec DB 0 ; total Tecnico
Uni DB 0 ; total Universitario
Enc DB 0 ; total Encuestados
Input DB 0 ;captura por teclado el valor.
;----------------------------------------------------------------------------------------------
; Fin del segmento de datos
;----------------------------------------------------------------------------------------------

DATOS ENDS

PILA SEGMENT STACK ;declaracion de pila.
DB 1024 DUP(0)
PILA ENDS ;fin de pila.

;----------------------------------------------------------------------------------------------
; El Code segment permite reducir espacio de memoria al direccionar fuera del entorno de código
;----------------------------------------------------------------------------------------------
CODIGO SEGMENT 'CODE'
ASSUME CS:CODIGO,DS:DATOS,SS:PILA

MOV CX,0 ;inicio del programa.
MOV AX,DATOS
MOV DS,AX
CONTINUA:
MOV DX,OFFSET Mensaje1 ; Solicita el sexo de la persona
MOV AH,09H
INT 21H

SEXO:
MOV AH,01H
INT 21H
MOV Input,AL
CMP Input,'H'
JE Hombre
CMP Input,'M'
JE Mujer
JMP SEXO; si no corresponde a M o H vuelve a solicitar sexo

Mujer: ;incrementa mujer y avanza.
MOV DL,Mujeres
INC DL
MOV Mujeres,DL
JMP OTRO

Hombre: ;incrementa hombre y avanza.
MOV DL,Hombres
INC DL
MOV Hombres,DL
OTRO:
MOV DX,OFFSET Mensaje2 ; Solicita estado civil de la persona.
MOV AH,09H
INT 21H

ESTADO:
MOV AH,01H
INT 21H
MOV Input,AL
CMP Input,'C'
JE Casado
CMP Input,'S'
JE Soltero
CMP Input,'V'
JE Viudo
CMP Input,'D'
JE Divorsiado
JMP ESTADO; si no corresponde a C,S,V o D vuelve a solicitar estado civil

Casado: ;incrementa Casado y avanza.
MOV DL,Casados
INC DL
MOV Casados,DL
JMP LEE

Soltero: ;incrementa solteros y avanza.
MOV DL,Solteros
INC DL
MOV Solteros,DL

Viudo: ;incrementa viudos y avanza.
MOV DL,Viudos
INC DL
MOV Viudos,DL

Divorsiado: ;incrementa divorsiados y avanza.
MOV DL,Divorsiados
INC DL
MOV Divorsiados,DL

LEE:
MOV DX,OFFSET Mensaje3 ; Solicita Nivel de estudios de la persona.
MOV AH,09H
INT 21H

NIVEL:
MOV AH,01H
INT 21H
MOV Input,AL
CMP Input,'B'
JE Basica
CMP Input,'M'
JE Media
CMP Input,'T'
JE Tecnico
CMP Input,'U'
JE Universitario
JMP NIVEL; si no corresponde a B o M o T o U vuelve a solicitar Nivel de estudio

Basica: ;incrementa Basica y avanza.
MOV DL,Bas
INC DL
MOV Bas,DL
JMP Sigue

Media: ;incrementa Media y avanza.
MOV DL,Med
INC DL
MOV Med,DL
JMP Sigue

Tecnico: ;incrementa Tecnico y avanza.
MOV DL,Tec
INC DL
MOV Tec,DL
JMP Sigue

Universitario: ;incrementa Universitario y avanza.
MOV DL,Uni
INC DL
MOV Uni,DL

Sigue: ;evalua si ingresar otro registro o sale del programa.
MOV DX,OFFSET Salida
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
CMP AL,'N'
JE FINAL
JMP Continua



FINAL:
MOV DX,OFFSET Mensaje4
MOV AH,09H
INT 21H
MOV DL,Mujeres ; IMPRIME MUJERES ENCUESTADAS
ADD DL,30H
MOV AH,02H
INT 21H
MOV DX,OFFSET Mensaje5
MOV AH,09H
INT 21H
MOV DL,Hombres ; IMPRIME HOMBRES ENCUESTADAS
ADD DL,30H
MOV AH,02H
INT 21H
MOV DX,OFFSET Mensaje6
MOV AH,09H
INT 21H
MOV DL,Casados ; IMPRIME CASADOS ENCUESTADOS
ADD DL,30H
MOV AH,02H
INT 21H
MOV DX,OFFSET Mensaje7
MOV AH,09H
INT 21H
MOV DL,Solteros ; IMPRIME SOLTEROS ENCUESTADOS
ADD DL,30H
MOV AH,02H
INT 21H
MOV DX,OFFSET Mensaje8
MOV AH,09H
INT 21H
MOV DL,Viudos ; IMPRIME VIUDOS ENCUESTADOS
ADD DL,30H
MOV AH,02H
INT 21H
MOV DX,OFFSET Mensaje9
MOV AH,09H
INT 21H
MOV DL,Divorsiados ; IMPRIME DIVORSIADOS ENCUESTADOS
ADD DL,30H
MOV AH,02H
INT 21H
MOV DX,OFFSET Mensaje10
MOV AH,09H
INT 21H
MOV DL,Bas; IMPRIME BASICA ENCUESTADOS
ADD DL,30H
MOV AH,02H
INT 21H
MOV DX,OFFSET Mensaje11
MOV AH,09H
INT 21H
MOV DL,Med; IMPRIME MEDIA ENCUESTADOS
ADD DL,30H
MOV AH,02H
INT 21H
MOV DX,OFFSET Mensaje12
MOV AH,09H
INT 21H
MOV DL,Tec; IMPRIME TECNICO ENCUESTADOS
ADD DL,30H
MOV AH,02H
INT 21H
MOV DX,OFFSET Mensaje13
MOV AH,09H
INT 21H
MOV DL,Uni; IMPRIME DIVORSIADOS ENCUESTADOS
ADD DL,30H
MOV AH,02H
INT 21H

; Mensaje de salida y cierre
MOV DX,OFFSET Fin
MOV AH,09H
INT 21H


CODIGO ENDS ;fin del segmento de codigo.
END ;fin del programa.




No existen malos días,solo son malos momentos que sumados te marcan el día.

Volviendo poco a poco al foro


Respeta las REGLAS de y no hagas
Enviar un mensaje por MSN a wolfito Responder Citando
Usuarios que han agradecido este mensaje de wolfito
jtello (19-nov-2012)
Respuesta

Etiquetas
assembler


(0 miembros y 1 visitantes)
 

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
[Ayuda]Alguien que sepa de Computadoras LeanLencina Peticiones 17 24-oct-2011 19:51
Aprender a programar: consejos y recursos quique88 Programación 9 21-jul-2011 08:12
PROGRAMAR desde 0 killereduardo Programación 15 16-nov-2010 06:17
Como instalo java para poder programar o donde consigo los lenguajes djthreem Programación 5 12-may-2010 12:06


Desarrollado por: vBulletin® Versión 3.8.1
Derechos de Autor ©2000 - 2024, Jelsoft Enterprises Ltd.
Ad Management by RedTyger