Código de Ensamblador - ordenamiento de un vector

<<>>
sin imagen de perfil

ordenamiento de un vectorgráfica de visualizaciones


Ensamblador

Publicado el 17 de Noviembre del 2021 por Jose
967 visualizaciones desde el 17 de Noviembre del 2021
El programa es un ordenamiento de vector, solo que al imprimir repite la palabra "numero"

me podrían ayudar, cual es mi error.

4.08

Publicado el 17 de Noviembre del 2021gráfica de visualizaciones de la versión: 4.08
967 visualizaciones desde el 17 de Noviembre del 2021
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
DATA SEGMENT
;DECLARAR VARIABLES AQUI<<<<<<<<<<<
 
   ARRAY DW 00h,00h,00h,00h,00h,00h,00h,00h
 
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
 
 ENDS
 
 
CODE SEGMENT
 
    CALL MAIN
 
MAIN PROC
    CALL VECTOR
    CALL BURBUJA
    MENU
    RET
MAIN ENDP
 
    MENU MACRO
        PRINTN ""
        PRINTN "1. ORDENAR MENOR --> MAYOR"
        PRINTN "2. ORDENAR MAYOR --> MENOR"
        PRINTN "3. SALIR"
        PRINTN ""
        PRINT "OPCION: "
 
        CALL SCAN_NUM
        CMP CX, 1
        JE CALL IMPRIMIR1
        CMP CX, 2
        JE CALL IMPRIMIR2
        JMP FIN
        RET
    ENDM
 
    VECTOR PROC
        CALL INICIO
        CALL LLENADO
    VECTOR ENDP
 
    LLENADO PROC
        PRINT "NUMERO: "
        CALL SCAN_NUM
        MOV [ARRAY + SI], CX
        PRINTN ""
        ADD SI, 02
        INC DX
        CMP DX, 8
        JNE LLENADO
        MOV SI, 0
        MOV DX, 0
        MOV CX, 0
        RET
    LLENADO ENDP
 
    INICIO PROC
        LEA SI, ARRAY
        MOV AX, @DATA
        MOV DS, AX
        RET
    INICIO ENDP
 
    FIN PROC
        PRINTN ""
        PRINTN ""
        PRINT "PRESIONE TECLA PARA SALIR"
        MOV AH, 0h
        INT 16h
        MOV AX, 4c00h
        INT 21h
        RET
     FIN ENDP
 
    BURBUJA PROC
        MOV AX, ARRAY[SI]
        MOV BX, ARRAY[SI+2]
        CMP AX, BX
        JA MENOR
        ADD SI, 2
        INC CX
        CMP CX, 8
        JNE BURBUJA
        MOV CX, 0
        MOV SI, 0
        CALL VERIFICARMENOR
        RET
    BURBUJA ENDP
 
    MENOR PROC
        MOV ARRAY[SI], BX
        MOV ARRAY[SI+2], AX
        ADD SI, 2
        INC CX
        JMP CALL BURBUJA
        RET
    MENOR ENDP
 
    VERIFICARMENOR PROC
        MOV AX, ARRAY[SI]
        MOV BX, ARRAY[SI+2]
        CMP AX, BX
        JA RESETMENOR
        ADD SI, 2
        INC CX
        CMP CX, 8
        JNE VERIFICARMENOR
        RET
    VERIFICARMENOR ENDP
 
    RESETMENOR PROC
        MOV SI, 0
        MOV CX, 0
        JMP CALL BURBUJA
        RET
    RESETMENOR ENDP
 
    IMPRIMIR1 PROC
        PRINTN ""
        PRINT "VECTOR DE MENOR A MAYOR: "
        MOV SI, 0
        MOV CX, 8
        PRINTMEN1:
            MOV AX, ARRAY[SI]
            CALL PRINT_NUM
            PRINT ","
            ADD SI, 2
            LOOP PRINTMEN1
        MOV SI, 0
        MOV CX, 0
        PRINTN ""
        MENU
        RET
    IMPRIMIR1 ENDP
 
    IMPRIMIR2 PROC
        PRINTN ""
        PRINT "VECTOR DE MAYOR A MENOR: "
        MOV SI, 14
        MOV CX, 8
        PRINTMEN2:
            MOV AX, ARRAY[SI]
            CALL PRINT_NUM
            PRINT ","
            SUB SI, 2
            LOOP PRINTMEN2
        MOV SI, 0
        MOV CX, 0
        PRINTN ""
        MENU
        RET
    IMPRIMIR2 ENDP
 
 
 
ends



Comentarios sobre la versión: 4.08 (0)


No hay comentarios
 

Comentar la versión: 4.08

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7176