LOAD: MACRO (ra,etiq) or ra,r0,low(etiq) or.u ra,ra,high(etiq) ENDMACRO ;Carga el registro ra con el valor de la etiqueta etiq. BEQ: MACRO (ra,rb,etiq) cmp r2,ra,rb bb1 2,r2,etiq ENDMACRO ;Salta a etiq si son iguales los contenidos de ra y rb. ACTUALIZA: LOAD (r20,TAB_B) ;r20 puntero a TABLA B. OTRO_B: LOAD (r10,TAB_A) ;r10 puntero a TABLA A. ld r21,r20,0 ;r21 contiene la CLAVE de TABLA B. ld r22,r20,4 ;r22 contiene el valor TRANS de TABLA B. BEQ (r21,r0,FIN) ;Si se ha recorrido toda la TABLA B ir a fin, OTRO_A: ld r11,r10,0 ;si no, r11 con la CLAVE de TABLA A ld r12,r10,4 ;y r12 contiene el SALDO. BEQ (r11,r0,INSERT) ;Si CLAVE de TABLA B no está en TABLA A, se BEQ (r11,r21,ACTUAL) ;inserta, si está, se actualiza el SALDO add r10,r10,8 ;Se pasa al siguiente de TABLA A. br OTRO_A INSERT: st r21,r10,0 st r22,r10,4 st r0,r10,8 br SALTA ACTUAL: add r12,r12,r22 st r12,r10,4 SALTA: add r20,r20,8 br OTRO_B FIN: stop ;Datos contenidos en la Tabla A org 10000 TAB_A: data 0x28669907, 1000, 0x12345678, 2000, 0x10203040, -2000, 0 ;Datos contenidos en la Tabla B org 20000 TAB_B: data 0x28669907, 10000, 0x12345678, -4553, 0x40302010, -20 data 0x28669907, 500, 0