/* *Aufgabe 5.1 * * Created on: 15.01.2021 * Author: Julia Kisela */ .text /* Specify that code goes in text segment */ .equ IOPIN0, 0xE0028000 // Port 0 Pin value register address .equ IODIR1, 0xE0028018 // Port 1 Direction register address .equ IOSET1, 0xE0028014 // Port 1 Output set register address .equ IOCLR1, 0xE002801C // Port 1 Output clear register .code 32 /* Select ARM instruction set */ .global _startup /* Specify global symbol */ _startup: //Aufgabe 5_1 ldr sp, =0x40001000 ldr r1, =IODIR1 ldr r0, =0x00ff0000 str r0, [r1] ldr r2, =IOSET1 ldr r3, =IOCLR1 ldr r0, =0x10000 while: str r0, [r2] bl delay mov r0, r0, lsl #1 cmp r0, #0x01, 8 bne while stop: nop bal stop delay: stmfd sp!, {r7, lr} /* Speichern des verwendeten Registers und des lr auf Stack */ ldr r7,=5000000 wait: subs r7,r7,#1 bne wait ldmfd sp!, {r7, pc} /* Lesen des verwendetes Registers und des pc vom Stack */ .end