Advertisement
UrQuan

ADR Zadaca 3

May 21st, 2014
493
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 2.12 KB | None | 0 0
  1. * Napisati asemblerski program koji unosi
  2. znakove preko tipkovnice dok se ne
  3. unese broj 0 (nula). Program broji koliko
  4. unesenih znakova su velika ili mala slova
  5. engleske abecede. Ukoliko je taj broj veæi
  6. od 5 ispisati poruku:“Nemoj pritiskati
  7. samo slova! Ima jos znakova na tipkovnici.
  8.                    
  9. .global _start
  10. .text
  11. _start:                                          
  12.         LDR r0,a
  13.         LDR R1,b
  14.         LDR R2,c
  15.         LDR R3,d
  16.         LDR R4,e
  17.         LDR R5,f
  18.        
  19. loop:
  20.         CMP R1,#5
  21.         BHI tekst
  22. veliko1:
  23.         CMP R2,#'A'
  24.         BEQ velikazb1
  25. malo1:
  26.         CMP R3,#'a'
  27.         BEQ malozb1
  28. veliko2:
  29.         CMP R4,#'Z'
  30.         BEQ velikazb2
  31. malo2:
  32.         CMP R5,#'z'
  33.         BEQ malozb2
  34. nula:
  35.         CMP R0,#0
  36.         BEQ stop
  37. malozb1:
  38.         ADD R6,R6,#1
  39.         b   veliko2
  40. malozb2:
  41.         ADD R6,R6,#1
  42.         b   nula
  43.        
  44. velikazb1:
  45.         ADD R7,R7,#1
  46.         b   malo1
  47. velikazb2:
  48.     ADD R7,R7,#1
  49.     b   malo2
  50. ispisk:
  51.         LDR R8,=tekst
  52.         b   veliko1
  53.  
  54. stop:
  55.         b   stop
  56.  
  57. a: .word 0
  58. b: .word 6
  59. c: .word  'A'
  60. d: .word  'a'
  61. e: .word  'Z'
  62. f: .word  'z'
  63. tekst:
  64.       .asciz "Nemoj pritiskati samo slova! Ima jos znakova na tipkovnici."
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76. * Napisati asemblerski program koji unosi 5
  77. jednoznamenkastih brojeva (0-9) te
  78. nakon toga ispisati najveæi i najmanji
  79. uneseni broj. Pri unosu potrebno je
  80. zanemariti znakove koji nisu brojevi.
  81. Traženje najveæeg i najmanjeg broja
  82. realizirati kroz procedure.
  83.  
  84.                    
  85. .global _start
  86. .text
  87.  
  88. _start:                                          
  89.         MOV sp, #stack_top
  90.         LDR R0,br1 
  91.         LDR R1,br2
  92.         LDR R2,br3
  93.         LDR R3,br4
  94.         LDR R4,br5 
  95.         LDR R14,a
  96.         CMP R14,#'a'
  97.         BEQ min
  98. min:
  99.         CMP R0,R1      
  100.         MOVLT R9,R0    
  101.         CMP R1,R0
  102.         MOVLT R9,R1
  103.         CMP R2,R3
  104.         MOVLT R5,R2
  105.         CMP R3,R2
  106.         MOVLT R5,R3
  107.         CMP R5,R9
  108.         MOVLT R10,R5
  109.         CMP R9,R5
  110.         MOVLT R10,R9  
  111.         CMP R4,R10
  112.         MOVLT R11,R4
  113.         CMP R10,R4
  114.         MOVLT R11,R10 /*min je u R11*/
  115.         b   max
  116.    
  117. max:
  118.         CMP R0,R1
  119.         MOVHI R6,R0
  120.         CMP R1,R0
  121.         MOVHI R6,R1
  122.         CMP R2,R3
  123.         MOVHI R7,R2
  124.         CMP R3,R2
  125.         MOVHI R7,R3
  126.         CMP R6,R7
  127.         MOVHI R8,R6
  128.         CMP R7,R6
  129.         MOVHI R8,R7  
  130.         CMP R4,R8
  131.         MOVHI R12,R4
  132.         CMP R8,R4
  133.         MOVHI R12,R8 /*max u R12*/
  134.         b   stop
  135.  
  136. stop:
  137.     b   stop
  138.        
  139.        
  140. br1: .word 2
  141. br2: .word 7
  142. br3: .word 6
  143. br4: .word 5
  144. br5: .word 1
  145. a: .asciz "a"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement