Comments (8)
No, it reads the word at address r0 into the pc, just as described in the test.
t513:
; ARM 10: Load empty rlist
adr r0, t514
str r0, [mem]
mov r0, mem
dw 0xE8B00000 ; ldmia r0!, {}
f513:
m_exit 513
t514:
from gba-tests.
Is it adr instruction. My decoder decoding it as add instruction
from gba-tests.
The adr
instruction loads the address of label t514
into r0
. This is done by the assembler and ends up being an add
instruction.
from gba-tests.
Sorry for asking another question but which instruction is going to load pc. My emulator just exit with 513 code. Is pc (r15) included in ldmia r0!, {}
from gba-tests.
ldm with an empty register list loads from the base register into r15 and updates the base register by +/- 64 (if writeback is enabled). This is likely due to quirks in how the hardware finds the next set bit in the register list (trailing zero count) as well as how it computes the sum of set bits (population count) when the register list is empty.
from gba-tests.
Is it undefined behavior
from gba-tests.
Yes, it is. You don't need it for an emulator, but I included it out of curiosity.
from gba-tests.
Thanks for your help.
from gba-tests.
Related Issues (10)
- Add tests for STMDB/STMIB with empty Rlist HOT 4
- Test that TST/TEQ/CMP/CMN don't write back the actual value HOT 3
- Test anti-emulation measures of Classic NES Series HOT 3
- BIOS test 2 fail HOT 2
- NES test 002 causes bios write operation HOT 3
- Tests removed in earlier commit still present in .gba HOT 2
- Tests 224/225 Question HOT 3
- Is MOV r0, r0 expected in thumb arithmetic.asm HOT 3
- Question about arm test 254 after 253 HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gba-tests.