Programkd elemzse List file lst Hex file HEX

  • Slides: 21
Download presentation
Programkód elemzése List file (. lst) Hex file (. HEX)

Programkód elemzése List file (. lst) Hex file (. HEX)

Hardver RB 0, RB 1, RB 2, RB 3 – ON RB 4, RB

Hardver RB 0, RB 1, RB 2, RB 3 – ON RB 4, RB 5, RB 6, RB 7 – OFF

. asm file errorlevel -205 PROCESSOR 16 f 84 #include "p 16 f 84.

. asm file errorlevel -205 PROCESSOR 16 f 84 #include "p 16 f 84. inc" __CONFIG _XT_OSC & _PWRTE_ON & _WDT_OFF & _CP_OFF errorlevel -203 errorlevel -302 Main bsf clrf bcf STATUS, RP 0 TRISA TRISB STATUS, RP 0 movlw b'00001111‘ movwf PORTB org goto 0 x 00 Main Loop goto org goto 0 x 04 Main end Loop

. lst file

. lst file

. hex file

. hex file

Instrukciók

Instrukciók

Instrukciók

Instrukciók

Instrukciók

Instrukciók

Instrukciók

Instrukciók

Dobókocka https: //people. vts. su. ac. rs/~pmiki/_DALJINSKA_NASTAVA_ASEMBLERI/11. 05/PIC_Dice. mp 4

Dobókocka https: //people. vts. su. ac. rs/~pmiki/_DALJINSKA_NASTAVA_ASEMBLERI/11. 05/PIC_Dice. mp 4

Dobókocka PROCESSOR 16 f 84 #include "p 16 f 84. inc" __CONFIG _XT_OSC &

Dobókocka PROCESSOR 16 f 84 #include "p 16 f 84. inc" __CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF cblock 0 x 0 c Pointer d 1 d 2 d 3 endc Loop clrf btfsc goto call goto org goto Table addwf retlw retlw 0 x 00 Main 0 x 04 Main bsf clrf bsf bcf movlw movwf STATUS, RP 0 TRISB TRISA, 1 STATUS, RP 0 b'11111110‘ PORTB Pointer PORTA, 1 Loop Delay 10 ms PORTA, 1 Loop Shuffle Loop PCL 0 x 10 0 x 82 0 x 92 0 x. AA 0 x. BA 0 x. EE Shuffle movf call movwf call btfss goto return incf movf sublw btfss goto clrf goto Pointer, 0 Table PORTB Delay 20 ms PORTA, 1 $+5 Delay 10 ms PORTA, 1 $+2 Pointer, 1 Pointer, W 6 STATUS, Z Shuffle Pointer Shuffle Delay 10 ms … Delay 20 ms … end

Dobókocka Delay 10 ms movlw d'6‘ movwf d 3 movlw d'11‘ movwf d 2

Dobókocka Delay 10 ms movlw d'6‘ movwf d 3 movlw d'11‘ movwf d 2 movlw d'255‘ movwf d 1 decfsz d 1 goto $-1 decfsz d 2 goto $-5 decfsz d 3 goto $-9 return Delay 20 ms movlw d'5‘ movwf d 3 movlw d'27‘ movwf d 2 movlw d'255‘ movwf d 1 decfsz d 1 goto $-1 decfsz d 2 goto $-5 decfsz d 3 goto $-9 return end

Dobókocka Shuffle movf call movwf call btfss goto return incf movf sublw btfss goto

Dobókocka Shuffle movf call movwf call btfss goto return incf movf sublw btfss goto clrf goto Pointer, 0 Table PORTB Delay 20 ms PORTA, 1 $+5 Delay 10 ms PORTA, 1 $+2 Pointer, 1 Pointer, W 6 STATUS, Z Shuffle Pointer Shuffle Table addwf retlw retlw PCL 0 x 10 0 x 82 0 x 92 0 x. AA 0 x. BA 0 x. EE Delay 10 ms return Delay 20 ms return end

Számjegyek kiválasztása d’ 234’ = b’ 11101010’ Százasok=2 (var_100) Tízesek=3 (var_10) Egyesek=4 (var_1)

Számjegyek kiválasztása d’ 234’ = b’ 11101010’ Százasok=2 (var_100) Tízesek=3 (var_10) Egyesek=4 (var_1)

Számjegyek kiválasztása (getnums. asm) Main PROCESSOR 16 f 84 bank 1 #include "p 16

Számjegyek kiválasztása (getnums. asm) Main PROCESSOR 16 f 84 bank 1 #include "p 16 f 84. inc" __CONFIG _XT_OSC & _WDT_OFF clrf movlw & movwf _PWRTE_ON & _CP_OFF bank 0 #include "bank. inc" clrf #include "digit. inc" cblock 0 x 0 c movlw var_100 movwf var_10 var_1 digit rez temp Loop endc goto org 0 x 00 end goto main org goto 0 x 04 main TRISB b'00000001‘ TRISA PORTB d'234' rez Loop

Számjegyek kiválasztása makró (digit. inc) digit macro rez local Loop 100 Loop 10 clrf

Számjegyek kiválasztása makró (digit. inc) digit macro rez local Loop 100 Loop 10 clrf var_100 var_1 movf movwf rez, W temp movlw Loop 100 incf subwf btfsc goto decf addwf d'100‘ var_100, f temp, f STATUS, C Loop 100 var_100, f temp, f movlw Loop 10 incf subwf btfsc goto decf addwf d'10' var_10, f temp, f STATUS, C Loop 10 var_10, f temp, f movf temp, W movwf var_1 endm

Véletlen szám generálása

Véletlen szám generálása

Véletlen szám generálása PROCESSOR 16 f 84 ciklus #include "p 16 f 84. inc"

Véletlen szám generálása PROCESSOR 16 f 84 ciklus #include "p 16 f 84. inc" incf __CONFIG _XT_OSC & _WDT_OFF btfsc & _PWRTE_ON & _CP_OFF cblock rnd endc 0 x 0 c org goto Main bsf clrf movlw movwf bcf clrf 0 x 00 Main 0 x 04 Main STATUS, RP 0 TRISB b'00000001‘ TRISA STATUS, RP 0 PORTA PORTB rnd goto clrc rrf rrf rnd PORTA, 0 ciklus rnd rnd movlw b'00001111‘ andwf rnd, W call Data. Table movwf PORTB goto ciklus Data. Table addwf retlw retlw retlw retlw return end PCL b'00111111' b'00000110' b'01011011' b'01001111' b'0110' b'00101101' b'00111101' b'00000111' b'01111111' b'01101111' b'0111' b'01111100' b'00111001' b'01011110' b'01111001' b'01110001' ; 0 ; 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 ; A ; b ; C ; d ; E ; F

Véletlen szám generálása ciklus incf btfsc goto clrc rrf rrf rnd PORTA, 0 ciklus

Véletlen szám generálása ciklus incf btfsc goto clrc rrf rrf rnd PORTA, 0 ciklus rnd rnd movlw b'00001111‘ andwf rnd, W call Data. Table movwf PORTB goto ciklus Data. Table addwf retlw retlw retlw retlw return end PCL b'00111111' b'00000110' b'01011011' b'01001111' b'0110' b'00101101' b'00111101' b'00000111' b'01111111' b'01101111' b'0111' b'01111100' b'00111001' b'01011110' b'01111001' b'01110001' ; 0 ; 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 ; A ; b ; C ; d ; E ; F