Advertisement
edems96

ASM Fibonnacci #1

Nov 4th, 2015
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. DEF LD  0x80                ; LED adatregiszter          (írható/olvasható)
  2. DEF SW  0x81                ; DIP kapcsoló adatregiszter (csak olvasható)
  3. DEF DIG0 0x90
  4. DEF DIG1 0x91
  5.  
  6. init:
  7.     MOV r0, #0;
  8.     MOV r1, #1;
  9.  
  10. work:
  11.     MOV r2, r0;
  12.     ADD r2, r1;
  13.     JMP display_ld;
  14.    
  15. next_state:
  16.     MOV r0, r1;
  17.     MOV r1, r2;
  18.     JMP work;
  19.  
  20. display_ld:
  21.     MOV LD, r2;
  22.     ;JMP next_state;
  23.  
  24. display:
  25.     CMP r2, #1;
  26.     JZ display_01;
  27.    
  28.     CMP r2, #2;
  29.     JZ display_02;
  30.    
  31.     CMP r2, #3;
  32.     JZ display_03;
  33.    
  34.     CMP r2, #4;
  35.     JZ display_04;
  36.    
  37.     CMP r2, #5;
  38.     JZ display_05;
  39.    
  40.     CMP r2, #6;
  41.     JZ display_06;
  42.    
  43.     CMP r2, #7;
  44.     JZ display_07;
  45.    
  46.     CMP r2, #8;
  47.     JZ display_08;
  48.    
  49.     CMP r2, #9;
  50.     JZ display_09;
  51.    
  52.     CMP r2, #10;
  53.     JZ display_10;
  54.     JNZ display_nothing;
  55.    
  56.     JMP next_state;
  57.    
  58. display_nothing:
  59.     JSR display_clear;
  60.     JMP next_state;
  61.    
  62. display_01:
  63.     JSR load_num_1;
  64.     JSR display_dig_0;
  65.     JMP next_state;
  66.    
  67. display_02:
  68.     JSR load_num_2;
  69.     JSR display_dig_0;
  70.     JMP next_state;
  71.    
  72. display_03:
  73.     JSR load_num_3;
  74.     JSR display_dig_0;
  75.     JMP next_state;
  76.    
  77. display_04:
  78.     JSR load_num_4;
  79.     JSR display_dig_0;
  80.     JMP next_state;
  81.    
  82. display_05:
  83.     JSR load_num_5;
  84.     JSR display_dig_0;
  85.     JMP next_state;
  86.    
  87. display_06:
  88.     JSR load_num_6;
  89.     JSR display_dig_0;
  90.     JMP next_state;
  91.    
  92. display_07:
  93.     JSR load_num_7;
  94.     JSR display_dig_0;
  95.     JMP next_state;
  96.    
  97. display_08:
  98.     JSR load_num_8;
  99.     JSR display_dig_0;
  100.     JMP next_state;
  101.    
  102. display_09:
  103.     JSR load_num_9;
  104.     JSR display_dig_0;
  105.     JMP next_state;
  106.    
  107. display_10:
  108.     JSR load_num_0;
  109.     JSR display_dig_0;
  110.     JSR load_num_1;
  111.     JSR display_dig_1;
  112.     JMP next_state;
  113.  
  114. load_num_0:
  115.     MOV r3, #63;
  116.     RTS;
  117.    
  118. load_num_1:
  119.     MOV r3, #6;
  120.     RTS;
  121.  
  122. load_num_2:
  123.     MOV r3, #91;
  124.     RTS;
  125.    
  126. load_num_3:
  127.     MOV r3, #79;
  128.     RTS;
  129.    
  130. load_num_4:
  131.     MOV r3, #102;
  132.     RTS;
  133.    
  134. load_num_5:
  135.     MOV r3, #109;
  136.     RTS;
  137.    
  138. load_num_6:
  139.     MOV r3, #125;
  140.     RTS;
  141.    
  142. load_num_7:
  143.     MOV r3, #7;
  144.     RTS;
  145.    
  146. load_num_8:
  147.     MOV r3, #127;
  148.     RTS;
  149.    
  150. load_num_9:
  151.     MOV r3, #111;
  152.     RTS;
  153.    
  154. display_clear:
  155.     MOV r3, #0;
  156.     MOV DIG0, r3;
  157.     MOV DIG1, r3;
  158.     RTS;
  159.    
  160. display_dig_0:
  161.     MOV DIG0, r3;
  162.     RTS;
  163.    
  164. display_dig_1:
  165.     MOV DIG1, r3;
  166.     RTS;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement