00001 #include "p18cxxx.inc" 00002 udata_acs ; Adatterület lefoglalása 00003 i res 2 ; int i; 00004 j res 2 ; int j; 00005 00006 RST CODE 00007 goto start 00008 PGM CODE 00009 start: 00010 ;--- if (i>j) 00011 movlw 0 00012 movwf i 00013 movlw 0x80 00014 movwf i+1 00015 movf i,W 00016 subwf j,W ; j-i LSByte 00017 movf i+1,W 00018 subwfb j+1,W ; j-i MSByte 00019 bov ov_1 00020 bnn end_if ; skip if V=0,N=0 00021 bra if_body ; V=0, N=1 00022 ov_1: 00023 bn end_if ; skip if V=1,N=1 00024 if_body: 00025 ;--- i = i + j 00026 movf j,W 00027 addwf i ; i=i+j, LSByte 00028 movf j+1,W 00029 addwfc i+1,W ; i=i+j, MSByte 00030 end_if: 00031 ;--- további utasítások... 00032 goto $ 00033 END