Cisco
From assembly to machine code (assembler in MIPS,
De assembly para código de máquina (assembler em MIPS, x86 e ARM)
#assembly #machine #code #assembler #MIPS
“Waine – Dev do Desempenho”
We are used to considering the lowest level language we can program. But it’s important to remember that…
source
To see the full content, share this page by clicking one of the buttons below |
Fala waine como o OS lida com programas escrevendo no mesmo arquivos da ruim?
Eu tô implementando um emulador MIPS em C# com a ajuda do Aistudio; já implementei instruções como lb, sb, lw, sw, jal, Jr, add, sub, syscall
Já tenho uma tabela de interrupções definida de 0-256 da memória (convenção que eu adorei para a máquina)
Já tenho um compilador do ASM-MIPS pra um formato assembly que eu defini e que a máquina possa executar
O programa do emular é capaz de criar dinamicamente portas Socket-TCP/IP para comunicação com outros programas externos (esses serão os dispositivos!)
E o mais legal de tudo é que eu já consigo ler e escrever nessas portas pelo próprio assembly!
Meu grande desafio agora é criar um transpilador que consiga transformar Python em ASM-MIPS, para então compilar para binário e rodar
Estou ansioso pra publicar o projeto, tá ficando muito do caralho
cara tu acha que poderia existir um modelo de execução de código que não use o salvamento do stack frame ? Fico pensando na morte da bezerra sobre esse assunto como forma de evitar ataques ou problemas de buffer overflow
Bacana demais! 🤝
Engraçado, pelo que me lembre o mips que aprendi na universidade era 16 bits. (ARQ I) não tinha mais cadeiras pra ciências da computação.
Maneiro o video, Waine.
Ja viu uns "mov"fuscators q existem por ai?
Ou programas escritos so com traps?
Ou entao uns emuladores q rodam so subleqs (oiscs)?
Tem gente q tem tempo demais a disposicao por ai 😂
Eu não sei o que deu na minha cabeça, mas há uns dois dias atrás eu botei na cabeça que iria rodar um programa de assembly de celular nativamente, utilizei um antigo J2 prime como cobaia, aprendi as instruções basicas de ARM32 específicas de Armv7a. Montei o binário de rodei o programa via terminal do android deu super certo, eu nem sabia que dava pra fazer algo desse tipo tão facilmente no mobile. Mas enfim, eu estava querendo aprofundar meus conhecimentos em ARM 32 bits pra poder fazer coisas mais complexas como um joguinho de terminal, mas tá difícil de achar esse tipo de conteúdo na internet. Outra coisa complicada de achar é sobre argumentos de chamadas de sistema (Syscall) para linux, o que cada coisa faz e tals. Você tem algumas recomendações de sites, pdf e etc? Forte abraço!
Agora sim um video de baixaria de verdade… 👏👏👏👏 Na facul eu me lasquei mto com asm. Kkkk
Vídeo maravilhoso amigo já deixo o meu like
Assembler é uma linguagem como qualquer outra. Pra rodar vc compila e linka usando MASM e Linker em x86, simples.
Esse canal é cada vez mais " baixo nivel"!. 😱
Faz um vídeo de computação assimétrica com dois SO rodando (Linux embarcado + RTOS) e um de sistemas heterogêneo
já estamos no ARMV9 haha! Temos o ARM V7 só 32 Bits, V8 32 e 74 Bits e o V9 64 Bits . Todo celular é ARM sem exceção.
COTEX M, CORTEX A, COETEX R, o X e o Neoverse (este último é para data center / cloud). Além das GPUs e NPU
Uma curiosidade sobre o conjunto de instruções ARM. Arm é o inglês para braço enquanto thumb é dedão, então o conjunto ARM é grande como um braço já o conjunto thumb é só dedão das instruções ARM 😅
E a diferença entre thumb versão 1 e o thumb2 está apenas que você não precisa mais ficar mudando o processador para modo ARM e thumb, os processadores que suportam thumb2 faz a mudança automática do processador de instruções ARM de 32 bits para as thumb de 16 bits. E sim, processadores Cortex-A também suportam instruções thumb, porque o dedão também faz parte do braço 🤣🤣🤣🤣🤣
boa ,falando nisso, MIPS está datado e com os dias contado
Eu sou a favor de que toso programador deveria iniciar pelo código de máquina
Na faculdade de engenharia elétrica aprendemos MCS-51, depois de lá fui pra PIC, AVR e depois pra ARM thumb2.
Não aprendam Assembly, isso é um caminho sem volta. 😱Quando você perceber já vai ser tarde demais e vocês já vão estar fazendo um rtos só pra poder escrever mudança de contexto em assemble 😓
Faço curso superior em Sistemas de Informação. Nesse semestre algumas avaliações requeriam que fizéssemos a conversão de instruções MIPS para código de máquina. Não é algo que eu realmente queira me aprofundar, talvez eu mude de idéia um dia, mas realmente é algo importante de se ter o conhecimento.
O program counter do MIPS só pode saltar por 64Megabytes de memória? (por usar 26bits pra endereço no jump)
Muito Obrigado!! pelo o conhecimento compartilhado, eu estava querendo experimentar algum tipo de assembly, mas eu não sabia por onde começar, com esse MPIS… eu acredito que a minha experiência não será tão frustrante kkk.
Primero a comentar!!! Vamo que vamo! 🎛️