Advertisement
Guest User

Untitled

a guest
Nov 1st, 2017
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .INCLUDE "M128DEF.INC"
  2. .DEF TMP=R17
  3. .DEF TMP1=R18
  4. .ORG 0X00
  5.     JMP START
  6. .ORG 0X100
  7.  
  8. START:
  9.     ;SP INIC
  10.     LDI TMP,HIGH(RAMEND)
  11.     OUT SPH,TMP
  12.     LDI TMP,LOW(RAMEND)
  13.     OUT SPL,TMP
  14.    
  15.     CALL ELSO
  16.     CALL MASODIK
  17.     CALL HARMADIK
  18.  
  19. VEGE:
  20. JMP VEGE
  21.  
  22. ELSO:
  23.     ;X POINTER INIC
  24.     LDI XH,HIGH(0X100)
  25.     LDI XL,LOW(0X100)
  26.  
  27.     LDI R17,0   ;R17 AZ EREDMÉNY
  28.     LDI R18,50  ;R18 AZ 50 EL OSZTHATÓ 8BITES SZÁM AMIT MINDEN LÉPÉSBEN R19 EL NÖVELÜNK
  29.     LDI R19,50  ;MIVEL R19=50 EZÉRT MINDEN NÖVELÉSSEL CSAK 50 EL OSZTHATÓ 8 BITES SZÁMOT KAPUNK R18BA
  30.     LOOP:
  31.         ADD R17,R18
  32.         CLC ;TÖRLI A CARRYT
  33.         ADD R18,R19 ;R18+R19 , ÉS HA TÖRTÉNIK ÁTVITEL AKKOR CARRY=1
  34.         BRCS LOOPEND ; HA CARRY=1 AKKOR UGRIK A CIMKÉRE
  35.         JMP LOOP
  36.     LOOPEND:
  37.     ST  X,R17
  38.     ;AZ EREDMÉNY 238 (EE HEXA) LESZ, MIVEL AZ ÖSSZEG 750 ÉS KÉTSZER CSORDUL EZÉRT 750-2*256=238, AMI 0X100 ADATMEM.RA KERÜL
  39. RET
  40.  
  41. MASODIK:
  42.     LDI R17,0   ;AZ ÖSSZEADÁS HIGH RÉSZ
  43.     LDI R18,0   ;AZ ÖSSZEADÁS LOW RÉSZE
  44.     LDI R19,25  ;A SZÁM AMIT HOZZÁADUNK MINDEN LÉPÉSBE
  45.     LDI R20,25  ;A SZÁM AMIVEL NÖVELJÜK R19 ET MINDEN LÉPÉSBE
  46.     LOOP2:
  47.         CLC
  48.         ADD R18,R19
  49.         BRCS ATVITEL
  50.         VISSZA:
  51.         CLC
  52.         ADD R19,R20
  53.         BRCS LOOP2END
  54.         JMP LOOP2
  55.     ATVITEL:
  56.         INC R17
  57.         JMP VISSZA
  58.     LOOP2END:
  59.         LDI XH,HIGH(0X200)
  60.         LDI XL,LOW(0X200)
  61.        
  62.         ST X+,R18
  63.         ST X,R17
  64. RET
  65.  
  66. HARMADIK:
  67.     ;X POINTER INIC
  68.     LDI XH,HIGH(0X210)
  69.     LDI XL,LOW(0X210)
  70.  
  71.     ;R17,R18 SZÜLETÉSI ÉV HIGH, ÉS LOW RÉSZE
  72.     LDI R17,HIGH(1996)
  73.     LDI R18,LOW(1996)
  74.     ;1996.06.25 16 ÓRA
  75.     ;TEHÁT 1996-625-16 A MEGOLDANDÓ FELADAT
  76.     LDI R19,HIGH(625)
  77.     LDI R20,LOW(625)
  78.     LDI R16,16
  79.    
  80.     CLC
  81.     SUB R18,R20
  82.     SBC R17,R19
  83.     ;EREDMÉNY LOW RÉSZE R18 BA, HIGH RÉSZE R17
  84.     ;KIVONJUK A SZÜLETÉSI IDŐ ÓRÁJÁT ÉS HA TÖRTÉNT ÁTVITEL AKKOR A HIGH RÉSZT CSÖKKENTJÜK 1-EL
  85.     CLC
  86.     SUB R18,R16
  87.     BRCS CSOKKENTES
  88.     ST X+,R18
  89.     ST X,R17
  90.     RET
  91.     CSOKKENTES:
  92.         DEC R17
  93.         ST X+,R18
  94.         ST X,R17
  95.     ;EBBEN A PÉLDÁBAN AZ EREDMÉNY 1355 (AMI HEXA 54B) ALSÓ RÉSZE 0X210 EN, FELSSŐ RÉSZE 0X211 EN TÁROLÓDIK
  96. RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement