MPASM 02.70 Released WEEK2A.ASM 5-16-2001 12:11:26 PAGE 1 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00001 title " Hogeschool van Utrecht Opdracht week " 00002 subtitle " titel van het programma " 00003 00004 00005 ; XT Oscillator is used target 4 MHz 00006 ; do not use power up nor watchdog nor code protection !! 00007 00008 ;destinations for file register-byte 00009 00000000 00010 indirect equ 00h ;Indirect data adressing 00000001 00011 tmr0 equ 01h ;counter register 00000002 00012 pcl equ 02h ;Program Counter 00000003 00013 status equ 03h ;status word register 00000004 00014 fsr equ 04h ;File select register 00000005 00015 port_a equ 05h 00000006 00016 port_b equ 06h 00000005 00017 tris_a equ 05h ; new value for port a reg 00000006 00018 tris_b equ 06h ; new value for port b reg 00000008 00019 eedata equ 08h ; eeprom registers 00000009 00020 eeadr equ 09h 0000000A 00021 pclatch equ 0ah ; 0000000B 00022 intcon equ 0bh ; interrupt settings 00023 00024 ;bit declarations 00025 00000000 00026 w equ 00h ;destination is W-register 00000001 00027 f equ 01h ;destination is a File register 00028 00000001 00029 input equ 01h 00000000 00030 output equ 00h 00031 00032 00000005 00033 rp0 equ 05h ;bank change bit 00000002 00034 zero_bit equ 02h ;zero bit in status byte 00000000 00035 carry_bit equ 00h ;carry bit in status byte 00000001 00036 dc_bit equ 01h ;digit carry 00000002 00037 tf0 equ 02h ;timer overflow in intcon 00000007 00038 gie equ 07h 00039 00040 00041 ; byte declarations 00042 0000000C 00043 l1 equ 0ch 0000000D 00044 l2 equ 0dh 0000000E 00045 l3 equ 0eh 00046 00047 00048 ; reset vector equ 000h jump to out off call 00049 0000 00050 org 000h 0000 2801 00051 goto start 00052 00053 ; initialiseren van de poorten MPASM 02.70 Released WEEK2A.ASM 5-16-2001 12:11:26 PAGE 2 Hogeschool van Utrecht Opdracht week titel van het programma LOC OBJECT CODE LINE SOURCE TEXT VALUE 00054 0001 00055 start 00056 0001 0185 00057 clrf port_a ; clear init byte port_a 0002 0186 00058 clrf port_b ; clear init byte port_b 0003 1683 00059 bsf status,rp0 ; select bank 1 0004 301F 00060 movlw B'00011111' ; 1 = input , 0 = output 0005 0085 00061 movwf tris_a ; set port a in bank 1 0006 3000 00062 movlw B'00000000' ; 1 = input , 0 = output 0007 0086 00063 movwf tris_b ; set port b in bank 1 0008 1283 00064 bcf status,rp0 ; select bank 0 00065 00066 00067 ; start of the programm 00068 00069 ; l1 = locatie 0c 00070 ; l2 = locatie 0d 00071 ; l3 = locatie 0e 00072 0009 00073 main ; your coding comes here 0009 1586 00074 BSF port_b, 3 000A 2010 00075 call wacht 000B 1186 00076 BCF port_b, 3 000C 2010 00077 call wacht 000D 2809 00078 goto main 000E 0000 00079 NOP 00080 000F 2809 00081 goto main 00082 0010 00083 wacht 0010 3080 00084 movlw 080h ;zet 080h in locatie 0ch 0011 008C 00085 movwf l1 0012 00086 loop3 0012 30FF 00087 movlw 0ffh 0013 008D 00088 movwf l2 ;zet 0ffh in locatie 0dh 0014 00089 loop2 0014 30FF 00090 movlw 0ffh 0015 008E 00091 movwf l3 ;zet 0ffh in locatie 0eh 0016 00092 loop1 0016 0B8E 00093 decfsz l3, f ;telt tot getal in locatie 0eh 0 is. 0017 2816 00094 goto loop1 0018 0B8D 00095 decfsz l2,f ;trekt 1 van locatie 0d af en 0019 2814 00096 goto loop2 ;springt vervolgens naar loop2 001A 0B8C 00097 decfsz l1, f ;trekt 1 van locatie 0c af en springt vervolgens naar loop3 001B 3400 00098 retlw 0h ;gaat terug naar aangevraagde 00099 001C 2809 00100 goto main Warning[205]: Found directive in column 1. (end) 00101 end MPASM 02.70 Released WEEK2A.ASM 5-16-2001 12:11:26 PAGE 3 Hogeschool van Utrecht Opdracht week titel van het programma SYMBOL TABLE LABEL VALUE __16F84 00000001 carry_bit 00000000 dc_bit 00000001 eeadr 00000009 eedata 00000008 f 00000001 fsr 00000004 gie 00000007 indirect 00000000 input 00000001 intcon 0000000B l1 0000000C l2 0000000D l3 0000000E loop1 00000016 loop2 00000014 loop3 00000012 main 00000009 output 00000000 pcl 00000002 pclatch 0000000A port_a 00000005 port_b 00000006 rp0 00000005 start 00000001 status 00000003 tf0 00000002 tmr0 00000001 tris_a 00000005 tris_b 00000006 w 00000000 wacht 00000010 zero_bit 00000002 MEMORY USAGE MAP ('X' = Used, '-' = Unused) 0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXX--- ---------------- ---------------- All other memory blocks unused. Program Memory Words Used: 29 Program Memory Words Free: 995 Errors : 0 Warnings : 1 reported, 0 suppressed Messages : 0 reported, 0 suppressed