Advertisement
Guest User

Untitled

a guest
Jun 5th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. P5 EQU 0F8H
  2. P7 EQU 0DBH
  3.  
  4.  
  5. ORG 0
  6.  
  7.  
  8. START:
  9.    MOV A, #7FH
  10.    LCALL TEST_ROW
  11.    JNC NO_KEY
  12.     LCALL FIND
  13.     MOV P1, A
  14.     SJMP START1
  15. NO_KEY:
  16.     MOV P1, #0
  17.    SJMP START1
  18.  
  19. START1:
  20.    MOV A, #7FH
  21.    LCALL TEST_ROW
  22.    JNC NO_KEY1
  23.     LCALL FIND
  24.     MOV P1, A
  25.     SJMP START2
  26. NO_KEY1:
  27.     MOV P1, #0
  28.    SJMP START2
  29.  
  30. START2:
  31.    MOV A, #7FH
  32.    LCALL TEST_ROW
  33.    JNC NO_KEY2
  34.     LCALL FIND
  35.     MOV P1, A
  36.     SJMP START3
  37. NO_KEY2:
  38.     MOV P1, #0
  39.    SJMP START3
  40.  
  41. START3:
  42.    MOV A, #7FH
  43.    LCALL TEST_ROW
  44.    JNC NO_KEY3
  45.     LCALL FIND
  46.     MOV P1, A
  47.     SJMP START
  48. NO_KEY3:
  49.     MOV P1, #0
  50.    SJMP START
  51.  
  52.  
  53.  
  54. ;-------------------------------------------------
  55. ; SPRAWDZA CZY NACISNIETO KLAWISZ W DANYM WIERSZU A.7..4 - WIERSZ
  56. ;---------------------------------------------------
  57. TEST_ROW:
  58.     ANL A, #0F0H
  59.     MOV B, A
  60.     ANL P5, #0FH
  61.     ORL P5, A
  62.  
  63.     MOV A, P7  
  64.     CPL A
  65.     ANL A, #0FH
  66.     SETB C
  67.     JNZ TEST_ROW_END
  68.     CLR C      
  69.  
  70. TEST_ROW_END:
  71.     RET
  72. ;-------------------------------------------------
  73. ; ZNAJDUJE PIERWSZA JEDYNKE W AKUMULATORZE ZWRACA NR BITU WYSTAPIENIA
  74. ;---------------------------------------------------
  75. FIND:
  76.     MOV R7, #12
  77.     MOV R6, #12
  78.     JZ END_FIND
  79. LOOP_FIND:
  80.     RRC A
  81.     JC PRE
  82.     INC  R7
  83.     SJMP LOOP_FIND
  84. PRE:
  85.     MOV A, B
  86.     SWAP A
  87. LOOP_FIND2:
  88.     RRC A
  89.     JC END_FIND
  90.     INC  R6
  91.     SJMP LOOP_FIND2
  92. END_FIND:
  93.     MOV A, R6
  94.     SWAP A
  95.     ADD A, R7
  96.     RET
  97.  
  98.  
  99. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement