"Hello World" ARM montering på Keil

I

ivar

Guest
Jeg vil simulere til under ARM forsamlingen programmet på uvision3:
Code:

AREA HelloW, CODE, Skrivebeskyttet

SWI_WriteC EQU & 0

SWI_Exit EQU & 11ENTRY

START r1 ADR, TEKST

LOOP R0 LDRB, [r1], # 1

R0 CMP, # 0

Svin SWI_WriteC

BNE LOOP

SWI SWI_Exit

TEXT = "Hello, World!", & 0a, og 0d, 0

END
 
Vil du bare ha to kildefiler i prosjektet?startup.s og <hello>. s?
startup.s gjør referanse til eksterne symboler, skal etter det gjør den innledende oppsett det greiner viktigste, så en funksjon ved at navnet på en av kildefilene.

For å løse de viktigste symbol, opprette en C-fil med int main () / void main () eller legge til en ny assembler subroutine kalt viktigste som bare looper.

Som for de andre symbol Jeg er ikke sikker, kanskje se på referansen prosjekt hvor du plukket startup.s fra.Jeg kunne være en # define eller EQU konstant som mangler.

- Jayson

 
Du kan ikke bruke semihosting SWI samtaler i uVision debugger.Ta ut SWI instruksjonene og endre OMRÅDET sectionname å restarte og koden skal bygge og drive i debugger.Du vil se R0 får lastet og sammenliknet, ikke veldig interessant, men en slags 'Hello World' I suppose.
Code:

AREA RESET, CODE, Skrivebeskyttet

ENTRY

R1 ADR, TEKST

LOOP R0 LDRB, [r1], # 1

R0 CMP, # 0

BNE LOOP

B.

TEXT = "Hello World!", & 0a, og 0d, 0

END
 

Welcome to EDABoard.com

Sponsor

Back
Top