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