Ok, I think I got it almost working:
However, I still wasn't able to figure out how I set a certain pin to low or high.
Code:
.equ SYSINFO_BASE,0x40000000 # datasheet p.31.equ IO_BANK0_BASE,0x40028000.equ PADS_BANK0_BASE,0x40038000.equ GPIO25_PAD_CTRL,0x68 # p.785.equ GPIO_25_CTRL_REG,0x0cc # p.651.equ EN,0x05.equ LED_PIN,25.equ PADS_BANK0_GPIO25_BITMASK, 0xfffffeff # bitmask to clear bit 8.bss.text.global mainmain:li t0, IO_BANK0_BASE # base IO adress in t0li t1, EN# EN in t1sw t1, GPIO_25_CTRL_REG(t0) # t1 in t0 +offsetli t2, PADS_BANK0_BASElw t3, GPIO25_PAD_CTRL(t2)andi t3, t3, PADS_BANK0_GPIO25_BITMASKsw t3, GPIO25_PAD_CTRL(t2)call delayj maindelay:li t0, 100000 # vorladen mit delaytime1:addi t0, t0, -1 # Wert von t0 um 1 dekrementierenbnez t0, 1b # t0 != 0 ? -> 1retStatistics: Posted by werdahias — Wed Apr 29, 2026 8:32 pm




