Uau, não pensei que o MIPS era tão complexo assim! Eu já brinquei de assembly com o z80 e outros computadores de mentira, e pensei que fosse mais parecido com eles. Essas estrutura de If e for é desse compilador/assembler em especifíco?
Não sei como é nos outros assemblers, mas no MIPS não existe especificamente o IF e FOR, o que existe são comandos como o beq (Branch equals), que faz um salto para uma parte do código caso os dois registradores sejam iguais, e o slt (Set on less than), e aí juntamos os dois para comparar se um número é menor ou igual ao outro, por exemplo, e faz o salto para a parte do código marcada com o Label (nome seguido de dois pontos, tipo for1:)
Calma, eles são só labels?? Eu fui enganado?? 🤣. Ficou muito legal a maneira que você colocou eles!
Existem assembler que te dão estruturas assim, eu acho que o da microsoft para x86 dá umas abstrações assim. Mas no caso tudo vira branches e jumps no final, não é nada especifico da arquitetura
são hahahaah, oloco, que massa, não sabia que os outros tinham essas facilidades. Mas eles já são CISC né, ou são RISC ainda?
Esse da microsoft é sim para CISC, mas não impede de fazer isso para um RISC. Talvez tenha algums assemblers de mais alto nível nesse estilo para ARM por exemplo, só não conheço mesmo por não precisar. Porque no final elas só são macros mesmo. Ex do MASM:
.if eax == 1
.elseif eax !=10
.elseif eax >= 11
.else
.endif
saquei, que dahora mano, não conhecia não