Professional Documents
Culture Documents
INDICE
1. DIAGRAMA DE FLUJO..3
2. PROGRAMA...6
3. CODIFICACION..7
2012-B
2012-B
2010 2014
IMPARES:
2015 2019
1 DIAGRAMA DE FLUJO
INICIO
VAR1 = 0
CONTADOR1= Ah
[198Fh] = 0
4
VAR2 = FFh
CONTADOR2 = Ah
VAR3 = 0
3
VAR2
<
[VAR3 +
2000h]
Si
No
[VAR3 +
2000h]
<=
[VAR1 + 198F]
2
No
2
Si
VAR3 = VAR3 + 1
CONTADOR2 = CONTADOR2 - 1
CONTADOR2
=
0
No
Si
[VAR1 + 1900] = VAR2
VAR1 = VAR1 + 1
CONTADOR1 = CONTADOR1 - 1
CONTADOR1
=
0
Si
5
No
2012-B
VAR1 = 0
VAR2 = 0
VAR3 = 0
CONTADOR = Ah
7
RECORRER A LA
DERECHA UNA
POSICION
[VAR1 + 1990]
ACARREO
=
0
No
[VAR2 + 2015] = [VAR1 + 1990]
VAR2 = VAR2 + 1
FIN
Si
2012-B
2012-B
SEUDOCODIGO
Para ordenar los nmeros:
- Comparamos el primero de los valores con un valor A (por defecto ser FFh)
- Si este valor A es menor que el primero de los datos no se hace nada y se compara
con el siguiente de los datos
- Si no es menor se compara el primero de los datos con el primer dato, menos una
posicin, ya ordenado
- Si este valor es menor o igual, quiere decir que es un valor que ya se tom
previamente y se sale del bucle
- Si no es menor o igual, entonces reemplazamos el valor A por el dato que se est
procesando
- Al terminar de comparar con todos los valores se halla el menor de los valores y se
escribe en la memoria
- Se vuelve a poner A en FFh para iniciar nuevas comparaciones y volver a encontrar el
siguiente menor y se vuelve a colocar este valor en memoria (una posicin ms que el
anterior valor)
2 PROGRAMA
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; SECUENCIA PARA ORDENAR LOS NUMEROS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SIGUE2:
SIGUE1:
EXIT:
XOR
MOV
MOV
MOV
MOV
PUSH
MOV
XOR
CMP
JB
MOV
CMP
JBE
MOV
INC
LOOP
MOV
INC
POP
LOOP
BX,BX
CX,A
AL,00
[198F],AL
AL,FF
CX
CX,A
SI,SI
AL,[SI][2000]
EXIT
AH,[SI][2000]
AH,[BX][198F]
EXIT
AL,[SI][2000]
SI
SIGUE1
[BX][1990],AL
BX
CX
SIGUE2
BX,BX
mod =11
w =1
reg =011
3.2 MOV
00110001 11011011
31
DB
CX,A
reg =001
3.3 MOV
AL,0
reg =000
10110000 00000000
B0
00
2012-B
[198F],AL
addr-low =10001111
addr-high =00011001
3.5 MOV
AL,FF
reg =000
3.6 PUSH
10110000 11111111
B0
FF
CX
TIPO: Registro
CODIGO DE INSTRUCCIN:
01010 reg
reg =001
CODIGO RESULTANTE (BINARIO):
CODIGO RESULTANTE (HEXADECIMAL):
0C9C:202C
51
0C9C:202D
01010001
51
2012-B
2012-B
CX,A
reg =001
3.8 XOR
SI,SI
mod =11
w =1
reg =110
3.9 CMP
00110001 11110110
31
F6
AL,[SI][2000]
d =1
mod =10
r/m = 100
w= 0
reg =000
2012-B
2046
01110010 disp.
3.11 MOV
01110010 00001110
72
0E
AH,[SI][2000]
d =1
mod =10
r/m =100
w =0
reg =100
3.12 CMP
AH,[BX][198F]
d =1
mod =10
r/m = 111
w =0
reg =100
2012-B
2046
01110110 disp
3.14 MOV
01110110 00000100
76
04
AL,[SI][2000]
d =1
mod =10
r/m =100
w =0
reg =000
3.15 INC
SI
TIPO: Registro
CODIGO DE INSTRUCCIN:
01000 reg
reg=110
CODIGO RESULTANTE (BINARIO):
CODIGO RESULTANTE (HEXADECIMAL):
0C9C:2046
46
0C9C:2047
10
01000110
46
2012-B
2032
11100010 disp
3.17 MOV
11100010 11101001
E2
E9
[BX][1990],AL
d =0
mod =10
r/m =111
w =0
reg =000
3.18 INC
BX
TIPO: Registro
CODIGO DE INSTRUCCIN:
01000 reg
reg =011
CODIGO RESULTANTE (BINARIO):
CODIGO RESULTANTE (HEXADECIMAL):
0C9C:204D
43
0C9C:204E
11
01000011
43
CX
TIPO: Registro
CODIGO DE INSTRUCCIN:
01011 reg
reg =001
CODIGO RESULTANTE (BINARIO):
CODIGO RESULTANTE (HEXADECIMAL):
0C9C:204E
59
0C9C:204F
3.20 LOOP
01011001
59
202A
11100010 disp
3.21 XOR
11100010 11011001
E2
D9
BX,BX
mod = 11
w =1
reg = 011
12
00110001 11011011
31
DB
2012-B
SI,SI
mod =11
w =1
reg =110
3.23 XOR
00110001 11110110
31
F6
DI,DI
mod =11
w =1
reg =111
3.24 MOV
00110001 11111111
31
FF
CX,A
reg =001
13
2012-B
2012-B
AL,[BX][1990]
d =1
mod =10
r/m =111
w =0
reg =000
3.26 PUSH
AX
TIPO: Registro
CODIGO DE INSTRUCCIN:
01010 reg
reg =000
CODIGO RESULTANTE (BINARIO):
CODIGO RESULTANTE (HEXADECIMAL):
0C9C:205E
50
0C9C:205F
3.27 ROR
01010000
50
AL,1
mod = 11
w =0
r/m = 000
14
11010000 11001000
D0
C8
2012-B
206B
01110011 disp.
3.29 POP
01110011 00001000
73
08
AX
TIPO: Registro
CODIGO DE INSTRUCCIN:
01011 reg
reg =000
CODIGO RESULTANTE (BINARIO):
CODIGO RESULTANTE (HEXADECIMAL):
0C9C:2063
58
0C9C:2064
3.30 MOV
01011000
58
[SI][2015],AL
d =0
mod =10
r/m =100
w =0
reg =000
15
SI
TIPO: Registro
CODIGO DE INSTRUCCIN:
01000 reg
reg =110
CODIGO RESULTANTE (BINARIO):
CODIGO RESULTANTE (HEXADECIMAL):
0C9C:2068
46
0C9C:2069
3.32 JMP
01000110
46
2071
11101011 disp
3.33 POP
11101011 00000110
EB
06
AX
TIPO: Registro
CODIGO DE INSTRUCCIN:
01011 reg
reg =000
CODIGO RESULTANTE (BINARIO):
CODIGO RESULTANTE (HEXADECIMAL):
0C9C:206B
58
0C9C:206C
16
01011000
2012-B
2012-B
[DI][2010],AL
d =0
mod =10
r/m =101
w =0
reg =000
3.35 INC
DI
TIPO: Registro
CODIGO DE INSTRUCCIN:
01000 reg
reg =111
CODIGO RESULTANTE (BINARIO):
CODIGO RESULTANTE (HEXADECIMAL):
0C9C:2070
47
0C9C:2071
3.36 INC
01000111
47
BX
TIPO: Registro
CODIGO DE INSTRUCCIN:
01000 reg
reg =011
CODIGO RESULTANTE (BINARIO):
CODIGO RESULTANTE (HEXADECIMAL):
0C9C:2071
43
0C9C:2072
17
01000011
43
2012-B
205A
11100010 disp
11100010 11100110
E2
E6
18