Advertisement
Guest User

Untitled

a guest
Dec 12th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 0.97 KB | None | 0 0
  1. ********************************************************************
  2.             ;Load adresses
  3.             LDR         R0,=Speicher
  4.             LDR         R1,=STRING
  5.            
  6.             ;Load String to DATA
  7.             LDM         R1,{R2,R3,R4}   ;Load String in our Registers
  8.             STM         R0,{R2,R3,R4}   ;Write String to DATA
  9.             EOR         R1, R1, R1      ;Set Register to Zero
  10.             EOR         R2, R2, R2      ;""
  11.             EOR         R3, R3, R3      ;""
  12.             EOR         R4, R4, R4      ;""
  13.                        
  14.             ;Load const values
  15.             LDR         R3,=0x19 ; (high - low) = 0x5A - 0x41 bzw 0x7A - 0x61
  16.             LDR         R4,=0x41 ; low - capital
  17.             LDR         R5,=0x61 ; low - little
  18.            
  19.             ;Check letters
  20. loop
  21.             LDRB        R6,[R0],#1
  22.             CMP         R6, #0x00
  23.             BEQ         ende
  24.             ADD         R2, R2, #1
  25.             SUBS        R8, R6, R4
  26.             CMP         R8, R3
  27.             ;<19 => capital letter (A-Z)
  28.             ADDLS       R1,R1,#1 ;Increment capital counter
  29.             BLS         loop     ;Next char
  30.             SUBS        R8, R6, R5
  31.             CMP         R8, R3
  32.             ;<19 => little letter (a-z)
  33.             SUBLS       R6, R6, #0x20 ;Convert to capital letter
  34.             STRBLS      R6, [R0,#-1] ;Store at R0-1
  35.             B           loop
  36.            
  37.            
  38.            
  39. ende
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement