Advertisement
Guest User

KappaController

a guest
Apr 1st, 2015
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. Opdracht 7 - Subroutines en macro's
  2. -----------------------------------
  3.  
  4. +----------------+
  5. | Schrijf cijfer |
  6. +----------------+
  7.  
  8. Schrijfcijfer macro cijfer
  9.  
  10. local gtNegen, print
  11.  
  12. movlw cijfer ; cijfer --> WREG
  13. movwf getal ; WREG --> getal
  14.  
  15. movlw 0x0A ; 0x0A --> WREG
  16. cpfslt getal ; Skip if getal < WREG (getal < 0x0A)
  17. bra gtNegen ; else go gtNegen
  18.  
  19. movlw '0' ; '0' --> WREG
  20. addwf getal ; '0' + getal --> getal
  21. bra print ; go print
  22.  
  23. gtNegen:
  24. movlw 0x37 ; 0x37 --> WREG
  25. addwf getal ; 0x37 + getal --> getal
  26.  
  27. print:
  28. movff getal, LATD ; getal --> LATD
  29. movlw 0x46 ; 0x46 --> WREG
  30. cpfsgt getal ; Skip if getal > WREG (getal > 0x0F)
  31. call Epuls ; Druk op LCD
  32.  
  33. EndM
  34.  
  35.  
  36. LCD_Init
  37. LCD_Lijn1
  38.  
  39. Schrijfcijfer 0x05
  40. Scrhijfcijfer 0x0E
  41.  
  42. lus:
  43. bra lus
  44.  
  45.  
  46. +-----------------+
  47. | Grootste cijfer |
  48. +-----------------+
  49.  
  50. Grootste
  51. movff getal1, WREG
  52. cpfsgt getal2 ; Skip if getal2 > getal1
  53. bra getal1GT2
  54.  
  55. movff getal2, WREG
  56. cpfsgt getal3
  57. bra druk2
  58. bra druk3
  59.  
  60. getal1GT2:
  61. cpfsgt getal3 ; Skip if getal3 > getal1
  62. bra druk1
  63. bra druk3
  64.  
  65. druk1:
  66. Schrijfcijfer getal1
  67. bra einde
  68.  
  69. druk2:
  70. Schrijfcijfer getal2
  71. bra einde
  72.  
  73. druk3:
  74. Schrijfcijfer getal3
  75.  
  76. einde:
  77. return
  78.  
  79. **************************************************
  80.  
  81. Grootste
  82. movlw getal1
  83. cpfslt getal2
  84. movlw getal2
  85. cpfslt getal3
  86. movlw getal3
  87.  
  88. Schrijfcijfer WREG
  89.  
  90. return
  91.  
  92. movlw 0x04
  93. movwf getal1
  94. movlw 0x07
  95. movwf getal2
  96. movlw 0x08
  97. movwf getal3
  98. call Grootste
  99.  
  100. lus:
  101. bra lus
  102.  
  103.  
  104. +---------------+
  105. | Schrijf tekst |
  106. +---------------+
  107.  
  108. printTekst MACRO adres
  109. local printString, printCharacter, EindePrintMenu
  110.  
  111. movlw UPPER adres
  112. movwf TBLPTRU
  113. movlw HIGH adres
  114. movwf TBLPTRH
  115. movlw LOW adres
  116. movwf TBLPTRL
  117.  
  118. printString:
  119. tblrd*+
  120. tstfsz TABLAT
  121. bra printCharacter
  122. bra EindePrintMenu
  123.  
  124. printCharacter:
  125. ;aanvullen om de inhoud van TABLAT op het LCD te plaatsen
  126. movff TABLAT, LATD
  127. call Epuls
  128.  
  129. bra printString
  130.  
  131. EindePrintMenu:
  132. EndM
  133.  
  134. tekst1 db "Hallo Wereld",0
  135. printTekst tekst1
  136. tekst2 db "Lorem Ipsum",0
  137. printTekst tekst2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement