wordfrequency

Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Revision:
0:349c994479c8
Child:
1:586013f67abf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Program4_F20_Nguyen.s	Sat Dec 05 21:12:01 2020 +0000
@@ -0,0 +1,67 @@
+        AREA Program4_F20_Nguyen, CODE, READONLY
+        
+       // 
+//         R1 int32_t CountItems();
+//         R2 int32_t SumAllFrequencies();
+//         R3 uint8_t * GetWordAt(int32_t i);   // NOTE: returns a pointer to a string
+//         R4 int16_t GetFreqAt(int32_t i);      // NOTE: return the value of the frequency count   
+//            
+    
+            GLOBAL CountItems
+            ;int32_t CountItems()
+CountItems     
+            //COUNT WORD
+            ADR     R1, table
+            MOV     R2, #0 ; count
+            MOV     R3, #0 ; ACCESS MEMORY
+loop            
+            LDRB    R4, [R1, R3]
+            CMP     R4, #0
+            BEQ leave
+            ADD R2, #1
+            ADD R3, #12
+            b loop
+leave       
+            MOV R0, R2
+            BX LR
+            
+            GLOBAL SumAllFrequencies
+            ;int32_t SumAllFrequencies()
+SumAllFrequencies 
+            GLOBAL GetWordAt
+            ;uint8_t * GetWordAt(int32_t i)
+GetWordAt            
+            GLOBAL GetFreqAt
+            ;int16_t GetFreqAt(int32_t i)
+GetFreqAt   
+               
+            
+ 
+table       DCB "pears",0
+            ALIGN 4
+            DCW 8 ; Freq
+            SPACE 2
+            //-----------
+            
+            DCB "apples",0
+            ALIGN 4
+            DCW 16
+            SPACE 2
+            //------------
+            DCB "pie",0
+            ALIGN 4
+            space 4
+            DCW 30
+            SPACE 2
+            //--------------
+            DCB "beans",0
+            ALIGN 4
+            DCW 12
+            SPACE 2
+            DCB 0
+            
+            
+             
+            END
+                
+    
\ No newline at end of file