
wordfrequency
Dependencies: LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI
Program4_F20_Nguyen.s@0:349c994479c8, 2020-12-05 (annotated)
- Committer:
- kaneyn
- Date:
- Sat Dec 05 21:12:01 2020 +0000
- Revision:
- 0:349c994479c8
- Child:
- 1:586013f67abf
s
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kaneyn | 0:349c994479c8 | 1 | AREA Program4_F20_Nguyen, CODE, READONLY |
kaneyn | 0:349c994479c8 | 2 | |
kaneyn | 0:349c994479c8 | 3 | // |
kaneyn | 0:349c994479c8 | 4 | // R1 int32_t CountItems(); |
kaneyn | 0:349c994479c8 | 5 | // R2 int32_t SumAllFrequencies(); |
kaneyn | 0:349c994479c8 | 6 | // R3 uint8_t * GetWordAt(int32_t i); // NOTE: returns a pointer to a string |
kaneyn | 0:349c994479c8 | 7 | // R4 int16_t GetFreqAt(int32_t i); // NOTE: return the value of the frequency count |
kaneyn | 0:349c994479c8 | 8 | // |
kaneyn | 0:349c994479c8 | 9 | |
kaneyn | 0:349c994479c8 | 10 | GLOBAL CountItems |
kaneyn | 0:349c994479c8 | 11 | ;int32_t CountItems() |
kaneyn | 0:349c994479c8 | 12 | CountItems |
kaneyn | 0:349c994479c8 | 13 | //COUNT WORD |
kaneyn | 0:349c994479c8 | 14 | ADR R1, table |
kaneyn | 0:349c994479c8 | 15 | MOV R2, #0 ; count |
kaneyn | 0:349c994479c8 | 16 | MOV R3, #0 ; ACCESS MEMORY |
kaneyn | 0:349c994479c8 | 17 | loop |
kaneyn | 0:349c994479c8 | 18 | LDRB R4, [R1, R3] |
kaneyn | 0:349c994479c8 | 19 | CMP R4, #0 |
kaneyn | 0:349c994479c8 | 20 | BEQ leave |
kaneyn | 0:349c994479c8 | 21 | ADD R2, #1 |
kaneyn | 0:349c994479c8 | 22 | ADD R3, #12 |
kaneyn | 0:349c994479c8 | 23 | b loop |
kaneyn | 0:349c994479c8 | 24 | leave |
kaneyn | 0:349c994479c8 | 25 | MOV R0, R2 |
kaneyn | 0:349c994479c8 | 26 | BX LR |
kaneyn | 0:349c994479c8 | 27 | |
kaneyn | 0:349c994479c8 | 28 | GLOBAL SumAllFrequencies |
kaneyn | 0:349c994479c8 | 29 | ;int32_t SumAllFrequencies() |
kaneyn | 0:349c994479c8 | 30 | SumAllFrequencies |
kaneyn | 0:349c994479c8 | 31 | GLOBAL GetWordAt |
kaneyn | 0:349c994479c8 | 32 | ;uint8_t * GetWordAt(int32_t i) |
kaneyn | 0:349c994479c8 | 33 | GetWordAt |
kaneyn | 0:349c994479c8 | 34 | GLOBAL GetFreqAt |
kaneyn | 0:349c994479c8 | 35 | ;int16_t GetFreqAt(int32_t i) |
kaneyn | 0:349c994479c8 | 36 | GetFreqAt |
kaneyn | 0:349c994479c8 | 37 | |
kaneyn | 0:349c994479c8 | 38 | |
kaneyn | 0:349c994479c8 | 39 | |
kaneyn | 0:349c994479c8 | 40 | table DCB "pears",0 |
kaneyn | 0:349c994479c8 | 41 | ALIGN 4 |
kaneyn | 0:349c994479c8 | 42 | DCW 8 ; Freq |
kaneyn | 0:349c994479c8 | 43 | SPACE 2 |
kaneyn | 0:349c994479c8 | 44 | //----------- |
kaneyn | 0:349c994479c8 | 45 | |
kaneyn | 0:349c994479c8 | 46 | DCB "apples",0 |
kaneyn | 0:349c994479c8 | 47 | ALIGN 4 |
kaneyn | 0:349c994479c8 | 48 | DCW 16 |
kaneyn | 0:349c994479c8 | 49 | SPACE 2 |
kaneyn | 0:349c994479c8 | 50 | //------------ |
kaneyn | 0:349c994479c8 | 51 | DCB "pie",0 |
kaneyn | 0:349c994479c8 | 52 | ALIGN 4 |
kaneyn | 0:349c994479c8 | 53 | space 4 |
kaneyn | 0:349c994479c8 | 54 | DCW 30 |
kaneyn | 0:349c994479c8 | 55 | SPACE 2 |
kaneyn | 0:349c994479c8 | 56 | //-------------- |
kaneyn | 0:349c994479c8 | 57 | DCB "beans",0 |
kaneyn | 0:349c994479c8 | 58 | ALIGN 4 |
kaneyn | 0:349c994479c8 | 59 | DCW 12 |
kaneyn | 0:349c994479c8 | 60 | SPACE 2 |
kaneyn | 0:349c994479c8 | 61 | DCB 0 |
kaneyn | 0:349c994479c8 | 62 | |
kaneyn | 0:349c994479c8 | 63 | |
kaneyn | 0:349c994479c8 | 64 | |
kaneyn | 0:349c994479c8 | 65 | END |
kaneyn | 0:349c994479c8 | 66 | |
kaneyn | 0:349c994479c8 | 67 |