# 微算機lab4 ###### tags: `microcontroller lab` [題目](https://drive.google.com/file/d/1m2A8AFIx1dEgmbac4X4ELqEDZsuF4kyH/view?usp=sharing) 連結可能失效!!! ``` LIST p=18f4520 #include<p18f4520.inc> CONFIG OSC = INTIO67 CONFIG WDT = off org 0x00 initial: movlf macro va,vb lfsr FSR0,vb movlw va movwf INDF0 endm addfff macro va,vb,vc lfsr FSR0, va movff INDF0, WREG lfsr FSR0, vb addwf INDF0, 0 lfsr FSR0, vc movwf INDF0 endm movlf 0x00, 0x10 movlf 0x01, 0x11 start: rcall Fibs rcall finish Fibs: addfff 0x10, 0x11, 0x12 lfsr FSR0, 0x11 lfsr FSR1, 0x12 movff INDF0, 0x10 movff INDF1, 0x11 movlw 0x14 btfss INDF1, 3 movwf PCL return finish: end ``` ```c #include <xc.h> extern unsigned int add(unsigned int a, unsigned int b); void main(void){ unsigned int result = add(12, 10); while(1); return; } #include "xc.inc" GLOBAL _add PSECT mytext, local, class=CODE, reloc=2 _add: movff 0x001, LATD movff LATD, WREG addwf 0x003, W movwf 0x001, F return