Files
esp-idf/tools/test_apps/system/gdbstub_runtime/main/xesppie_loops.S
2024-12-19 14:07:04 +07:00

51 lines
983 B
ArmAsm

/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Unlicense OR CC0-1.0
*/
#define DEBUG_OUTPUT 0
#define LOOP_COUNT 3
#if DEBUG_OUTPUT
.section .data
loop_counter_str: .string "loop counter is %d\n"
#endif
.section .text
.type test_xesppie_loops, @function
.global test_xesppie_loops
/* This workaround is intended to help the MI2 interpreter find labels in
* assembly code. */
.globl test_loop_start
.type test_loop_start, @function
test_xesppie_loops:
addi sp, sp, -16
sw ra, 12(sp)
#if DEBUG_OUTPUT
sw s0, 8(sp)
la s0, loop_counter_str
#endif
li t0, LOOP_COUNT
test_loop_start:
esp.lp.setup 0, t0, test_loop_end
csrr a1, 0x7C8
#if DEBUG_OUTPUT
mv a0, s0
call ets_printf
#endif
test_loop_end:
nop
#if DEBUG_OUTPUT
lw s0, 8(sp)
#endif
lw ra, 12(sp)
addi sp, sp, 16
ret
.size test_xesppie_loops, .-test_xesppie_loops