Skip to content
Snippets Groups Projects
Select Git revision
  • 994b980722d282ab82fb735b71d366863a0c77e4
  • main default protected
  • blm_dev_chan
  • release/1.4.0 protected
  • widgets_draw
  • return_of_melodic_demo
  • task_cleanup
  • mixer2
  • dx/fb-save-restore
  • dx/dldldld
  • fpletz/flake
  • dx/jacksense-headset-mic-only
  • release/1.3.0 protected
  • fil3s-limit-filesize
  • allow-reloading-sunmenu
  • wifi-json-error-handling
  • app_text_viewer
  • shoegaze-fps
  • media_has_video_has_audio
  • fil3s-media
  • more-accurate-battery
  • v1.4.0
  • v1.3.0
  • v1.2.0
  • v1.2.0+rc1
  • v1.1.1
  • v1.1.0
  • v1.1.0+rc1
  • v1.0.0
  • v1.0.0+rc6
  • v1.0.0+rc5
  • v1.0.0+rc4
  • v1.0.0+rc3
  • v1.0.0+rc2
  • v1.0.0+rc1
35 results

main.py

Blame
  • asmsum.py NaN GiB
    @micropython.asm_thumb
    def asm_sum_words(r0, r1):
    
        # r0 = len
        # r1 = ptr
        # r2 = sum
        # r3 = dummy
        mov(r2, 0)
    
        b(loop_entry)
    
        label(loop1)
        ldr(r3, [r1, 0])
        add(r2, r2, r3)
    
        add(r1, r1, 4)
        sub(r0, r0, 1)
    
        label(loop_entry)
        cmp(r0, 0)
        bgt(loop1)
    
        mov(r0, r2)
    
    @micropython.asm_thumb
    def asm_sum_bytes(r0, r1):
    
        # r0 = len
        # r1 = ptr
        # r2 = sum
        # r3 = dummy
        mov(r2, 0)
    
        b(loop_entry)
    
        label(loop1)
        ldrb(r3, [r1, 0])
        add(r2, r2, r3)
    
        add(r1, r1, 1)
        sub(r0, r0, 1)
    
        label(loop_entry)
        cmp(r0, 0)
        bgt(loop1)
    
        mov(r0, r2)
    
    import array
    
    b = array.array('l', (100, 200, 300, 400))
    n = asm_sum_words(len(b), b)
    print(b, n)
    
    b = array.array('b', (10, 20, 30, 40, 50, 60, 70, 80))
    n = asm_sum_bytes(len(b), b)
    print(b, n)