12-13-2018, 04:24 PM
MIPS ASM Hacking (Part 3) Some cool tricks:
Ok here is some quick tips to get started:
// The spoiler in the post are for the people who wants to practise 'thinking-outside-the-box' , to do that first you have to 'thinking-inside-the-box'. Because if you don't know where the box is then how do you know where your thinking is.
// If you can't think of it based on the basic (Part 2), okay fine open it. You might think it is cheating but it is not in that case, life is fair. Even if you see them it won't make you remember it well like you managed to think of it by yourself. Or just lowering your standard/expectation to only prove that the method is fine. You can have big plans but if you took so long other competitors will do it and you MIGHT have to dump all of your work. Just thinking that they help you to improve your method and put you back into the reality. Do people appreciate you competiting with your 'demons' or you competiting with a real person? Demons did their best to show themselves to you and ONLY you because you detach yourself from people.
// While you still having to refer to this topic, then you are not getting your brain's certificate to use that. Cheating life means using a knowledge without your brain's certificate.
- How to load a constant
Problem: All IMMEDIATE opcodes requires at least 1 input register (exception)
Idea: Use a constant register
Recommended Knowledge:
- add opcodes
- boolean opcodes
- Why should I use 'OR' and when I can use 'ADD' code?
- How do I load a negative constant?
[offtopic]For example:
- Loading 0x39 into a3
addiu a3, zero, 0x39
means
a3 = 0x39
- Loading 0x18030 into register a3
lui a3, 0x1
ori a3, a3, 0x8030
means
a3 = 0x18030[/offtopic]
- Damn can't think of anymore, I will go straight into an example...
// The spoiler in the post are for the people who wants to practise 'thinking-outside-the-box' , to do that first you have to 'thinking-inside-the-box'. Because if you don't know where the box is then how do you know where your thinking is.
// If you can't think of it based on the basic (Part 2), okay fine open it. You might think it is cheating but it is not in that case, life is fair. Even if you see them it won't make you remember it well like you managed to think of it by yourself. Or just lowering your standard/expectation to only prove that the method is fine. You can have big plans but if you took so long other competitors will do it and you MIGHT have to dump all of your work. Just thinking that they help you to improve your method and put you back into the reality. Do people appreciate you competiting with your 'demons' or you competiting with a real person? Demons did their best to show themselves to you and ONLY you because you detach yourself from people.
// While you still having to refer to this topic, then you are not getting your brain's certificate to use that. Cheating life means using a knowledge without your brain's certificate.
- How to load a constant
Problem: All IMMEDIATE opcodes requires at least 1 input register (exception)
Idea: Use a constant register
Recommended Knowledge:
- add opcodes
- boolean opcodes
- Why should I use 'OR' and when I can use 'ADD' code?
- How do I load a negative constant?
[offtopic]For example:
- Loading 0x39 into a3
addiu a3, zero, 0x39
means
a3 = 0x39
- Loading 0x18030 into register a3
lui a3, 0x1
ori a3, a3, 0x8030
means
a3 = 0x18030[/offtopic]
- Damn can't think of anymore, I will go straight into an example...
[spoiler=MIPS ASM Hacking (Part 4) Decoding your childhood's secret][/spoiler]
