Ir para conteúdo

Pedro Otavio

Membros
  • Postagens

    1
  • Registro em

  • Última visita

Tudo que Pedro Otavio postou

  1. Boa tarde, galera! Tenho acompanhado o livro "Aprendendo Assembly" disponibilizado aqui no Mente Binária. https://mentebinaria.gitbook.io/assembly/ Quero primeiramente parabenizar a iniciativa de disponibilizar este conteúdo, assim como muitos outros. Acho incrível a filosofia de compartilhar o conhecimento de forma "open source", pretendo fazer o mesmo assim que solidificar meus conhecimentos. ? Bom, sou iniciante em Assembly e estou com algumas dúvidas que estão tirando o meu sono... Não entendi muito bem o conceito das diretivas "db, dw, dd, dq,...". Andei pesquisando em outras fontes, porém essa névoa continua a pairar sobre meus pensamentos. Pelo que entendi até agora, essas diretivas tem o propósito de alocação de bytes em memória, db corresponde a 1 byte, dw corresponde a 2 bytes e assim por diante. Porém, não estou conseguindo assimilar como a instrução abaixo pode comportar na "variável" msg uma string contendo 14 caracteres sendo que db aloca somente um byte. msg: db 'Hello world!', 0xA, 0xD Talvez pelo meu entendimento de alocação de memória em alto nível (como em C) esteja atrapalhando o meu entendimento sobre como essas diretivas funcionam. Meu pensamento é: "Ora, se db aloca somente 1 byte e cada caracter possui 1 byte, como pode comportar uma string contendo pelo menos 14 bytes se msg foi alocado com somente 1 byte?". Penso também: "Será então que a diretiva db é utilizada para despejar byte por byte na memória de rótulo msg? E caso fosse então dw, ao invés de db, seria despejado na "variável" msg de 2 em 2 bytes?" Se alguém puder me jogar uma luz, ficarei muito agradecido! Peço também desculpas pela minha ignorância. Abraço a todos! o/
×
×
  • Criar Novo...