Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 1.43 KB | None | 0 0
  1.     PRESERVE8                           ; 8-битное выравнивание стека
  2.     THUMB                               ; Режим Thumb (AUL) инструкций
  3.  
  4.     GET stm32f10x.s
  5.  
  6.     AREA RESET, CODE, READONLY
  7.  
  8.     ; Таблица векторов прерываний
  9.     DCD STACK_TOP                       ; Указатель на вершину стека
  10.     DCD Reset_Handler                   ; Вектор сброса
  11.  
  12.     ENTRY                               ; Точка входа в программу
  13.  
  14. Reset_Handler   PROC                    ; Вектор сброса
  15.     EXPORT  Reset_Handler               ; Делаем Reset_Handler видимым вне этого файла
  16.  
  17. main
  18.     MOV32   R1, POINTER
  19.    
  20.     MOV     R0, #5
  21.     STRB    R0, [R1], #1
  22.     MOV     R0, #2
  23.     STRB    R0, [R1], #1
  24.     MOV     R0, #3
  25.     STRB    R0, [R1], #1
  26.     MOV     R0, #4
  27.     STRB    R0, [R1], #1
  28.     MOV     R0, #0xFF
  29.     STRB    R0, [R1]
  30.    
  31.     MOV32   R0, POINTER
  32.     MOV     R1, AMOUNT
  33.     BL      generateLRC
  34.    
  35.     ENDP
  36.  
  37. generateLRC     PROC                        ; Подпрограмма задержки
  38.     PUSH    {R0, R1, R3}                        ; Загружаем в стек R0, т.к. его значение будем менять
  39.     MOV32   R2, #0
  40. lrc_loop   
  41.     LDRB    R3, [R0], #1   
  42.     ADD     R2, R3
  43.     SUBS    R1, #1
  44.     BNE     lrc_loop
  45.     EOR     R2, #0xFF                   ; before - ‭0001 0000 1101‬, after 0001 1111 0010
  46.     ADD     R2, #1
  47.     AND     R2, #0xFF
  48.    
  49.     POP     {R0, R1, R3}                        ; Выгружаем из стека R0
  50.     BX      LR                          ; выход из подпрограммы (переход к адресу в регистре LR - вершина стека)
  51.     ENDP
  52.    
  53.     END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement