diff --git a/lab1.1/main.asm b/lab1.1/opd1.2.asm similarity index 100% rename from lab1.1/main.asm rename to lab1.1/opd1.2.asm diff --git a/lab1.1/opd1.3.asm b/lab1.1/opd1.3.asm new file mode 100644 index 0000000..000e02e --- /dev/null +++ b/lab1.1/opd1.3.asm @@ -0,0 +1,37 @@ +@ this code produces the same binary as listing 1 + + .syntax unified + .cpu cortex-m4 + .thumb + .text + .global main +main: + MOVS.N R0, #8 + LDR.N R1, =0X40023830 + STR.N R0, [R1, #0] + + MOVS.N R0, #0X55 + LSLS.N R0, R0, #24 + LDR.N R1, =0X40020C00 + STR.N R0, [R1, #0] + + MOVS.N R0, #0 + LDR.N R1, =0X40020C14 + STR.N R0, [R1, #0] + + MOVS.N R3, #15 + LSLS.N R3, R3, #12 + + MOVS.N R4, #7 + LSLS.N R4, R4, #12 + +loop: + LDR.N R2, =0X00145854 +delay: + SUBS.N R2, #1 + BNE.N delay +updateLed: + EORS.N R3, R4 + EORS.N R0, R3 + STR.N R0, [R1, #0] + B.N loop diff --git a/lab1.1/sideQuest_circleBlicky.asm b/lab1.1/sideQuest_circleBlicky.asm new file mode 100644 index 0000000..1b8626b --- /dev/null +++ b/lab1.1/sideQuest_circleBlicky.asm @@ -0,0 +1,42 @@ +@ this code produces the same binary as listing 1 + + .syntax unified + .cpu cortex-m4 + .thumb + .text + .global main +main: + MOVS.N R0, #8 + LDR.N R1, =0X40023830 + STR.N R0, [R1, #0] + + MOVS.N R0, #0X55 + LSLS.N R0, R0, #24 + LDR.N R1, =0X40020C00 + STR.N R0, [R1, #0] + + MOVS.N R0, #0 + LDR.N R1, =0X40020C14 + STR.N R0, [R1, #0] + + MOVS.N R4, #0xf + LSLS.N R4, R4, #12 + +circle: + MOVS.N R3, #1 + LSLS.N R3, R3, #12 + +loop: + LDR.N R2, =0X00145854 +delay: + SUBS.N R2, #1 + BNE.N delay +updateLed: + EORS.N R0, R3 + STR.N R0, [R1, #0] + BNE.N loop + + LSLS.N R3, R3, #1 + ANDS.N R3, R4 + BNE.N loop + B.N circle