-
Notifications
You must be signed in to change notification settings - Fork 0
/
ejercicio12.txt
45 lines (34 loc) · 1.19 KB
/
ejercicio12.txt
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
;;; 12.-Dada una lista de números binarios en memoria, ordenarlos en forma
;;; creciente en los mismos lugares de memoria, siendo conocidas las direcciones
;;; del primer y del último dato en memoria.
;;; de menor a mayor
ROM EQU $C000
RAM EQU $0000
RESET EQU $FFFE
ORG RAM
dirNumIni EQU $0001
dirNumFin EQU $0008
aux RMB 1
Main:
ORG ROM
;;; obtenemos la cantidad de numeros que vamos a ordenar y lo almacenamos en aux
LDAA #dirNumFin
SUBA #dirNumIni
STAA aux
LDX #dirNumIni
loop LDAA 0,X
CMPA 1,X
BGT aMayorX
continuamos INX
CPX #dirNumFin ;;; de esta manera compara la direccion del indexRegister con la direccion de 'dirNumFin'
BEQ finRecorrido
BRA loop
aMayorX LDAB 1,X
STAA 1,X
STAB 0,X
BRA continuamos
finRecorrido DEC aux
BEQ fin
LDX #dirNumIni
BRA loop
fin BRA fin