
wordfrequency
Dependencies: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI
Diff: Program4_F20_Nguyen.s
- 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