Skip to content
Snippets Groups Projects
Select Git revision
  • d7a276ab838df6d090832ab4f751df57fbe029d2
  • master default protected
2 results

instruction_test.lsn

Blame
  • instruction_test.lsn 662 B
    # Note: Ce fichier a comme but de donner des exemples pour la syntaxe des instructions. 
    # Il n'est pas censé s'executer de façon cohérente
     
    # Constantes
    R0 = 10
    R1 = 0xAF
    R1 = 0x01
    R1 = 0b10
    R1 = 0b101011
    
    # Operations
    #r3 = r0 + r1
    #r3 = r1 - R0
    #r3 = R0 << 1
    #r3 = r3 >> 1
    #r3 = asr r1
    #r3 = r1 and r0
    #r3 = r1 or r0
    #r3 = not r3
    
    # labels afin d'indiquer la destination des instrcutions de saut
    
    loop:
    r1=r2+r3
    
    # Sauts
    bcz -1
    bcn 2
    bcc -3
    bcv 4
    bcc loop
    
    b -5
    b 3
    b loop
    
    bl [r7] 0x21
    bl [r7] 4
    bl [r7] fonction
    
    fonction:
    r0 = r0 + r0
    br [r7]
    
    # Lecture et écriture mémoire 
    ld r0,0x20[r2]
    ld r3,0b1010[r4]
    ld r3,3[r4]
    
    st r0,0x2A[r2]
    st r1,19[r3]