Jump to content
Sign in to follow this  
Insurgente

Sintaxe de Código no MASM

 Read less than a minute

Recommended Posts

 Read less than a minute

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:

img.thumb.png.2f6c09bebf9778661c050292fc0ad9c1.png

Obrigado pela ajuda!

 

Share this post


Link to post
Share on other sites
 Read less than a minute

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!

Share this post


Link to post
Share on other sites
 Read less than a minute
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?

Programa_1.png.ae54daeb709c56d9922c266327cd9aa8.png

Grato!

Share this post


Link to post
Share on other sites
 Read less than a minute

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!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...