Insurgente Postado Maio 21, 2020 em 21:54 Compartilhar Postado Maio 21, 2020 em 21:54 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 para o comentário Compartilhar em outros sites More sharing options...
Administradores Fernando Mercês Postado Maio 22, 2020 em 00:14 Administradores Compartilhar Postado Maio 22, 2020 em 00:14 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 para o comentário Compartilhar em outros sites More sharing options...
Insurgente Postado Maio 22, 2020 em 00:52 Autor Compartilhar Postado Maio 22, 2020 em 00:52 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 para o comentário Compartilhar em outros sites More sharing options...
Administradores Fernando Mercês Postado Maio 22, 2020 em 01:27 Administradores Compartilhar Postado Maio 22, 2020 em 01:27 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 para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Arquivado
Este tópico foi arquivado e está fechado para novas respostas.