URL
https://opencores.org/ocsvn/lxp32/lxp32/trunk
Subversion Repositories lxp32
[/] [lxp32/] [trunk/] [verify/] [lxp32/] [src/] [firmware/] [test019.asm] - Rev 9
Compare with Previous | Blame | View Log
/** This test verifies non-returnable interrupt handling* Note: "iret" is never called here*/lc r100, 0x10000000 // test result output pointerlcs r101, haltlc r102, failurelc r103, 0x20000000 // timer: number of pulses (0xFFFFFFFF - infinite)lc r104, 0x20000004 // timer: delay between pulses (in cycles)lcs r105, successlcs r32, 0 // counterlcs iv0, test_loop@1 // set IRF to mark the interrupt as non-returnablemov cr, 1 // enable timer interruptsw r104, 100 // delay between interruptssw r103, 100 // generate 100 interruptshlt // wait for a non-returnable interrupttest_loop:add r32, r32, 1cjmpuge r105, r32, 100 // successhlt // wait for a non-returnable interruptfailure:sw r100, 2 // should never reach herejmp r101 // haltsuccess:sw r100, 1 // successhalt:hltjmp r101 // halt
