Ensamblador - numero pares impares y cero

 
Vista:

numero pares impares y cero

Publicado por jorge robles (1 intervención) el 10/05/2017 06:01:27
tengo problemas por que no me toma lo que se pide
el programa me pide tomar datos por teclado y que identifique si es par impar o cero .



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
model small  ; define el tipo de memoria que se utilizara
.stack 64    ; es para darle el grandor a la pila
.data
 
msn1 db, 13,10,"por favor ingrese un numero: ", '$'         ; el 13,10 es para dar salto de linea
msn2 db, 13,10, "el numero ingresado es Par: ", '$' ; se determina el letrero que va a salir
msn3 db, 13,10, "el numero ingresado es Impar: ", '$'; en cuando salga el resultado.
msn4 db, 13,10, "el numero ingresado es cero: ", '$'
 
var1 db, 0; definimos variables
 
.code
 
inicio proc far ; iniciamos procedimiento
 
mov ax, @data ; direccionamiento de segmentos
mov ds, ax
 
; limpiar pantalla
 
mov ah, 00
mov al, 03h
int 10h
 
mov ah, 09h
lea dx, msn1
int 21h
 
;leer y convertir el numero  para verlo en pantalla
 
mov ah,01h
int 21h
sub al, 30h; para convertir en ascii y visualizarlo
 
mov var1, al
int 21h
sub al, 30h
mov ah, var1
 
mov bl, var1
 
cmp bl,1
 
 
JP PAR ; que salte si es par
JNP IMPAR; que salte si es impar
Jz CERO ; que salte si en cero
 
;cuando es positivo que muestre en el msn2
PAR:
mov ah,09h
lea dx, msn2
int 21h
jmp salir
 
;cuando es negativo mostrar el msn3
IMPAR:
mov ah,09h
lea dx, msn3
int 21h
jmp salir
;cuando es cero mostrar el msn4
CERO:
mov ah,09h
lea dx, msn4
int 21h
jmp salir
 
; salir del programa
salir:
mov ax, 4c00h
int 21h
inicio endp
end inicio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

numero pares impares y cero

Publicado por fredy (1 intervención) el 20/11/2018 07:15:27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
.model small  ; define el tipo de memoria que se utilizara
.stack 64    ; es para darle el grandor a la pila
.data
 
msn1 db 13,10,"por favor ingrese un numero: ", '$'
msn2 db 13,10, "el numero ingresado es Par: ", '$'
msn3 db 13,10, "el numero ingresado es Impar: ", '$'
msn4 db 13,10, "el numero ingresado es cero: ", '$'
 
var1 db 0; definimos variables
 
.code
 
inicio proc far ; iniciamos procedimiento
 
mov ax, @data ; direccionamiento de segmentos
mov ds, ax
 
; limpiar pantalla
 
mov ah, 00
mov al, 03h
int 10h
 
mov ah, 09h
lea dx, msn1
int 21h
 
;leer y convertir el numero  para verlo en pantalla
 
mov ah,01h
int 21h
sub al, 30h; para convertir en ascii y visualizarlo
 
mov var1, al
int 21h
sub al, 30h
mov ah, var1
 
mov bl, var1
 
cmp bl,1
 
 
JP PAR ; si es par
JNP IMPAR; si es impar
Jz CERO ; es cero
 
;cuando es par que muestre en el msn2
PAR:
mov ah,09h
lea dx, msn2
int 21h
jmp salir
 
;cuando es impar mostrar el msn3
IMPAR:
mov ah,09h
lea dx, msn3
int 21h
jmp salir
 
;cuando es cero mostrar el msn4
CERO:
mov ah,09h
lea dx, msn4
int 21h
jmp salir
 
; salir del programa
salir:
mov ax, 4c00h
int 21h
inicio endp
end inicio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

numero pares impares y cero

Publicado por Jose harvinjose84@hotmail.com (1 intervención) el 25/11/2018 21:20:04
Si se ingresa cero (0) muestra que es par y si ingreso 7, dice que es par. No es consistente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar