Insurgente Posted May 21, 2020 at 09:54 PM Share Posted May 21, 2020 at 09:54 PM Olá, Tenho um código que funciona que consegui de outra postagem aqui do site: Eu queria fazer este código simples funcionar: ;[ORG 0x100] MOV AH, 9 ; AH deve ser 9 para a int 21 imprimir uma string MOV DX, msg ; DX=Ponteiro para msg INT 0x21 MOV AX, 0x4C00 ; Termina o programa INT 0x21 msg DB 'HelloWorld!$' ; Insere a mensagem que é uma string terminada em "$" Como faço pra esse pequeno código acima funcionar? Vejam a imagem a seguir. Eu quero fazer o código da esquerda ir para o editor à direita e rodar: Obrigado pela ajuda! Link to comment Share on other sites More sharing options...
Fernando Mercês Posted May 22, 2020 at 12:14 AM Share Posted May 22, 2020 at 12:14 AM Isso é código de 16-bits. Nunca usei o MASM para tal, mas esse cara dá algumas dicas pra fazer funcionar: https://blog.fpmurphy.com/2017/11/16-bit-intel-assembly-on-windows-10.html - perceba que ele só rodou o binário no DOSBox (um emulador de DOS), mas compilou no MASM 6.14 e 7.10 (com a opção /omf). Enfim, dá um trabalhinho mas vai. ? Abraço! Link to comment Share on other sites More sharing options...
Insurgente Posted May 22, 2020 at 12:52 AM Author Share Posted May 22, 2020 at 12:52 AM 36 minutos atrás, Fernando Mercês disse: Isso é código de 16-bits. Nunca usei o MASM para tal, mas esse cara dá algumas dicas pra fazer funcionar: https://blog.fpmurphy.com/2017/11/16-bit-intel-assembly-on-windows-10.html - perceba que ele só rodou o binário no DOSBox (um emulador de DOS), mas compilou no MASM 6.14 e 7.10 (com a opção /omf). Enfim, dá um trabalhinho mas vai. ? Abraço! Opa, obrigado pela explicação. Tem alguma dica pra saber se o programa é 16bits ou 32bits? Este programa abaixo é 16bits também? Grato! Link to comment Share on other sites More sharing options...
Fernando Mercês Posted May 22, 2020 at 01:27 AM Share Posted May 22, 2020 at 01:27 AM De nada ? O código-fonte (à esquerda) é em C e pode ser compilado pra 16, 32 ou 64 sem problemas. Já o exemplo do código compilado à direita tá em Assembly e o fato de ter esse ".model small" acredito que só faça sentido em programas de 16-bits sim, mas aqui tem uma explicação mais completa: https://stackoverflow.com/questions/47252660/what-is-meaning-of-model-small-in-8086-programs Abraço! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.