Advertisement
Guest User

Untitled

a guest
Dec 12th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 3.06 KB | None | 0 0
  1. ;********************************************************************
  2. ;* Hochschule für Technik und Wirtschaft                           *
  3. ;* Fakultät für Ingenieurwissenschaften                               *
  4. ;* Labor für Eingebettete Systeme                                  *
  5. ;* Mikroprozessortechnik                                            *
  6. ;********************************************************************
  7. ;*                                                                  *
  8. ;* Assembler_Startup.S:                                             *
  9. ;* Programmrumpf für Assembler-Programme mit dem Keil              *
  10. ;* Entwicklungsprogramm uVision für ARM-Mikrocontroller                *
  11. ;*                                                                  *
  12. ;********************************************************************
  13. ;* Aufgabe-Nr.:             *                                       *
  14. ;*                          *                                       *
  15. ;********************************************************************
  16. ;* Gruppen-Nr.:             *                                       *
  17. ;*                          *                                       *
  18. ;********************************************************************
  19. ;* Name / Matrikel-Nr.:     *                                       *
  20. ;*                          *                                       *
  21. ;*                          *                                       *
  22. ;********************************************************************
  23. ;* Abgabedatum:             *                                       *
  24. ;*                                                                  *
  25. ;********************************************************************
  26.  
  27. ;********************************************************************
  28. ;* Daten-Bereich                                                    *
  29. ;********************************************************************
  30.                 AREA        Daten, DATA, READWRITE
  31. Datenanfang    
  32. Stack               EQU         Datenanfang
  33. Stack_Ende          EQU         Stack + 0x400
  34. String              EQU         Stack_Ende
  35.  
  36. ;********************************************************************
  37. ;* Programm-Bereich                                                 *
  38. ;********************************************************************
  39.                 AREA        Programm, CODE, READONLY
  40.                 ARM
  41. Reset_Handler   MSR         CPSR_c, #0x10   ; User Mode aktivieren
  42.  
  43. ;********************************************************************
  44. ;* Hier das eigene Programm einfügen                               *
  45. ;********************************************************************
  46. Start
  47.         LDR SP,=Stack_Ende
  48.         LDR R0,=Wort
  49.         BL  StrChar
  50. Ende    B   Ende
  51.  
  52. StrChar
  53.             STMFD SP!, {R0-R4, R14} ;rette Register und Rücksprungaddresse
  54.             LDR R2,= String
  55.            
  56. schleife    LDRB R4,[R0],#1 ;lade 1Byte von R0 in Register R4
  57.             CMP R4,0x5F ;ist byte sonderzeichen?
  58.             BEQ sonderz
  59.             CMP R4,0x35
  60.             BEQ zahl
  61.             CMP R4,0x00 ;ist das Wort bereits zuende?
  62.             STRNEB R4,[R3],#1
  63.             BEQ ausgeben
  64.             BNE schleife
  65.            
  66.            
  67. sonderz    
  68.  
  69. zahl
  70.  
  71.  
  72.  
  73. ausgeben
  74. ;********************************************************************
  75. ;* Ende des eigenen Programms                                       *
  76. ;********************************************************************
  77.  
  78. ;********************************************************************
  79. ;* Konstanten im CODE-Bereich                                       *
  80. ;********************************************************************
  81. Wort            DCB         "Hello WORLD _5/_:,#+-0123456789",0x00
  82.  
  83. ;********************************************************************
  84. ;* Ende der Programm-Quelle                                         *
  85. ;********************************************************************
  86.                 END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement