Está en la página 1de 1

0001 0000 .

page
0002 0000 .title (6800_1)-ETN 801-UMSA
0003 0000 ; *******************************************
0004 0000 ; UNIVERSIDAD MAYOR DE SAN ANDRES
0005 0000 ; FACULTAD DE INGENIERIA
0006 0000 ; CARRERA DE INGENIERIA ELECTRONICA
0007 0000 ; ETN 801 - MICROPROCESADORES
0008 0000 ; *******************************************
0009 0000 ; PROGRAMA PARA CALCULAR LA MULTIPLICACION DE
0010 0000 ; 32 BITS UTILIZANDO EL ALGORITMO DE ROTACION
0011 0000 ; A LA DERECHA(para Emulador)
0012 0000 ; *******************************************
0013 0000 ; PROGRAMA ELABORADO POR: RENE ALONZO CHOQUE
0014 0000 ; *******************************************
0016 0000 ; ****SEGMENTO DE DATOS**********************
0017 0000 .dseg
0018 0001 .org 1
0019 0001 m_do .block 4
0020 0005 m_dor .block 4
0021 0009 Prod .block 8
0022 0011 m_dox .block 8
0023 0019 cont .block 1
0026 001A ; ****SEGMENTO DE PROGRAMA ******************
0027 001A .cseg
0028 001A .org 26
0029 001A ; INICIAR VARIABLES
0030 001A CE 00 08 ldx #Prod-1 ;Cargar Prod.
0031 001D 08 seg1: inx ;Cargar cont.
0032 001E 4F clra
0033 001F A7 00 staa 0,x
0034 0021 8C 00 19 cpx #cont
0035 0024 26 F7 bne seg1
0036 0026 CE 00 00 ldx #m_do-1
0037 0029 08 seg2: inx
0038 002A A6 00 ldaa 0,x
0039 002C A7 10 staa 16,x
0040 002E 8C 00 04 cpx #m_do+3
0041 0031 26 F6 bne seg2
0042 0033 ; DESPLAZAR m_dox A LA DERECHA
0043 0033 0C seg: clc
0044 0034 CE 00 10 ldx #m_dox-1
0045 0037 08 seg3: inx
0046 0038 A6 00 ldaa 0,x
0047 003A 46 rora
0048 003B A7 00 staa 0,x
0049 003D 8C 00 18 cpx #m_dox+7
0050 0040 26 F5 bne seg3
0051 0042 ; ANALIZAR m_dor BIT POR BIT
0052 0042 D6 05 ldab m_dor
0053 0044 59 rolb
0054 0045 CE 00 09 ldx #m_dor+4
0055 0048 09 seg4: dex
0056 0049 A6 00 ldaa 0,x
0057 004B 49 rola
0058 004C A7 00 staa 0,x
0059 004E 8C 00 05 cpx #m_dor
0060 0051 26 F5 bne seg4
0062 0053 ; DESICION SI BIT = 0 O 1
0063 0053 24 10 bcc cprocess
0064 0055 0C clc
0065 0056 CE 00 11 ldx #Prod+8 ;Actualizar Prod.
0066 0059 09 seg5: dex
0067 005A A6 00 ldaa 0,x
0068 005C A9 08 adca 8,x
0069 005E A7 00 staa 0,x
0070 0060 8C 00 09 cpx #Prod
0071 0063 26 F4 bne seg5
0072 0065 ; ULTIMO PROCESO ?
0073 0065 7C 00 19 cprocess: inc cont
0074 0068 86 20 ldaa #32
0075 006A 91 19 cmpa cont
0076 006C 26 C5 bne seg
0077 006E 3E wai
0079 006F .end
tasm: Number of errors = 0

También podría gustarte