3
svar
107
visningar
mueoc behöver inte mer hjälp
Jag har inga problem med C. Men i assembly
Hej
jag har fått en ERROR som jag inte känner till och detta gör att blir svårt för mig att lösa
At pc=00000058: Instruction fetched from a location outside of a code section (.text or .exceptions).Details...
Processor seems to be executing from the .data section.
Min kod:
.equ LEDS_BASE, 0xff200000
.equ SWITCHES_BASE, 0xff200040
.equ PUSH_BUTTONS_BASE, 0xff200050
.equ DISPLAYS_BASE_1, 0xff200020
.equ DISPLAYS_BASE_2, 0xff200030
.equ STACK_BASE, 0x10000000 // stack beginning
.data
HEX_array:
.word 0x3F
.word 0x06
.word 0x5B
.word 0x66
.word 0x6D
.word 0x7D
.word 0x07
.word 0x7F
.word 0x6F
.word 0x77
.word 0x7C
.word 0x39
.word 0x5E
.word 0x79
.word 0x71
HEX_array_end:
.word 0
.equ LENGTH_ARRAY, HEX_array_end - HEX_array
.global _start
_start:
LDR sp, =STACK_BASE
LDR r3, =HEX_array
MOV r4, #0
LOOP:
CMP r4, #LENGTH_ARRAY
BEQ _end //if equal //kanske behöves ta bort
LDR r2, [r3]
add r3, #4 // denna utökar arrayem
add r4, #4 // denna utökar en counter tills når längd
B LOOP
_end:
B _end
Är word fyra bytes?
Laguna skrev:Är word fyra bytes?
Ja det gör det
Det står .data före arrayen i början. Ska det kanske stå .text före koden? Jag kan inte den här processorn, men minnet är ofta uppdelat i data- och kodsektioner, och kodsektionerna kallas också text.