Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NOTA: En todos los ejercicios realizar el diagrama de flujo, comentar el código y definir los
parámetros necesarios para su funcionamiento y simulación.
Ejercicio 1:
Sintetice dos tablas de igual cantidad de elementos positivos de 1 byte en sólo una que
reemplace a la primera de ellas, conteniendo en cada posición el menor valor correspondiente
de las tablas originales.
Aclaración: Tomar valores positivos de 0 a 255 en decimal o de $00 a $FF en Hexa
org $0080
TABLA FCB $FF,$09,$08,$01,$04,$FB,$0B,$02
LISTA db $04,$0A,$05,$07,$1F,$09,$0C,$0F
org $EE00
INICIO clra
clrx
ldx #08 ;cantidad de elementos de cada tabla
beq FIN
lda TABLA-1,x
cmp LISTA-1,x
bls DECRE ;Bifurca si es menor o igual
bhs MAYOR ;salta si es mayor o igual
MAYOR lda LISTA-1,x
sta TABLA-1,x
org $FFFA
dw INICIO ;vector IRQ
dw INICIO ;vector SWI
dw INICIO ; reset = vector Reset
1
Ejercicio 2:
Invierta el orden de una tabla que comienza en la dirección $0081 y cuya cantidad de
elementos consecutivos de 1 byte cada uno, se indica en el contenido de la dirección $0080.
org $0080
NUM FCB $05
BYTE FCB $FB,$03,$0A,$FF,$09
CONT EQU $95
AUX EQU $9A
org $EE00
INICIO clra
clrx
clrh
ldhx #$0081
mov #05,AUX
FIN swi
org $FFFA
dw INICIO
dw INICIO
dw INICIO
2
Ejercicio 3:
org $0090
DB $6D,$6F,$69,$73,$65,$73,$0D
CR EQU $9A
CONVER lda ,x
cbeq CR,EXIT ;cbeq hace los mismo que hacer cmp CR y despues beq EXIT. Comparo el
; contenido de ACC con (M)=0D= Carriage Return.
sub #20 ;le resto al codigo ASCII de cada minuscula $20 para convertirla en mayuscula
sta ,x
incx
bra CONVER
EXIT swi
org $FFFA
dw INICIO
dw INICIO
dw INICIO
3
Ejercicio 4:
Realice la suma algebraica de tres números de 16 bits ubicados entre las posiciones de
memoria $0080 y $0085. Pruebe las operaciones utilizando números positivos y negativos y
almacene el resultado en las direcciones de memoria $0090 y $0091.
org $0080
NUM1 DB $4D,$28
NUM2 DB $7F,$F3
NUM3 DB $01,$5B
NUM4 DB $00,$00 ;resultado de la suma de NUM1 + NUM2 = NUM4
RTDO EQU $90 ;resultado total de sumar NUM1+NUM2+NUM3
org $EE00
INICIO clra
clrx
ldx #02
START beq SUMO
jsr SINC
lda NUM1-1,x
adc NUM2-1,x ;sumo la parte alta con carry de NUM1 y de NUM2
sta NUM4-1,x
decx
bra START
org $FFFA
;dw INICIO
dw INICIO
;dw reset
Ejercicio 5:
4
Ejercicio 6:
org $0080
LONG EQU $80
RTDO EQU $81
org $0082
TABLA DB $09,$F2,$01,$FA,$F8,$10,$F3,$00
org $EE00
INICIO clra
clrx
clrh
ldx #08
stx $80
PNEGA tst TABLA-1,x
bmi CONT
dbnzx PNEGA
EXIT swi
CONT inca
sta $81 ;almaceno la cantidad de num negativos
decx
beq EXIT
bra PNEGA
org $FFFA
;dw INICIO
dw INICIO
;dw Reset
5
Ejercicio 7:
org $0080
LONG EQU $80
org $0081
CADE DB '0ACDC2010' ;cadena de caracteres
CERO EQU $90
ESP EQU $96
CONT EQU $94
org $EE00
INICIO clra
clrx
clrh
ldhx #$0081
mov #09,LONG
mov #$30,CERO ;almaceno en CERO=$30
mov #$20,ESP ;cargo $20 = SP
mov #0A,CONT
EXIT swi
org $FFFA
;dw INICIO
dw INICIO
;dw Reset