3 svar
45 visningar
mueoc är nöjd med hjälpen
mueoc 160
Postad: 21 apr 17:42

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
	
	
Laguna Online 28680
Postad: 21 apr 19:10

Är word fyra bytes?

mueoc 160
Postad: 22 apr 23:30
Laguna skrev:

Är word fyra bytes?

Ja det gör det

Laguna Online 28680
Postad: 22 apr 23:51

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.

Svara Avbryt
Close