Ir ao conteúdo
  • Cadastre-se

Edinho-013

Membro Júnior
  • Posts

    10
  • Cadastrado em

  • Última visita

Reputação

6
  1. Olá na noite de Domingo 20/11/2021, ontem, logo após realizar a prova do Enem, me veio a mente em criar um projeto de Wallpaper engine. Mas, não encontrei artigos ou algum lugar falando do funcionamento do mesmo, pois na minha visão não deve ser apenas um software que simplesmente muda a imagem de fundo do PC, dando a cessação de movimento, através de uma chamada de sistema ou algo do tipo. Então se alguém poder me ajudar, desde já agradeço.
  2. Bom no python todo arquivo é um módulo, e os diretorios são pacotes de modulos. Assim pygame é um pacote, com varios módulo. Quando se faz: `from pygame.sprite import Sprite` Você está importando apenas a classe Sprite. Algo aparecido como: Do (from) pacote (pygame), dento do modulo sprite (pygame.sprite) importe (import) a classe Sprite (Sprite) Se você quiser fazer esse tipo de import faça o seguinte teste: - crie um arquivo methods.py neste arquivo crie uma função teste methods.py def teste(): print("Hello module") - e em seu arquivo main.py faça isso from methods import teste teste() # resultado console output Hello module
  3. Olá, estou criando uma máquina virtual baseada em registo. Mas surgiu uma pequena duvida sobre o codigo de montagem. Por exemplo digamos que tenha o seguinte codigo: fun t(a, b) { return a + b } var a = t(10, 20) O codigo assembly seria algo como: .data: a 0x1 t: pop R0 # valor de a pop R1 # valor de b add R0 R1 push R0 main: push $10 push $20 call t pop &a # tira o valor da pilha e # coloca na var. "a" para realizar a montagem e depois a execução é uma boa ideia fazer com que a vm leia o codigo e ô coloque em memória? Algo como: struct Label { uint16_t *code; }; struct Label program[]; Onde o campo "code" vai ter as instruções. E cada label do codigo assembly, seria traduzido para uma "struct Label". Ou tem uma forma melhor de fazer isso?
  4. Olá estava lendo a documentação da JVM e me deparei com a seguinte frase "O código compilado a ser executado pela Java Virtual Machine é representado usando um formato binário" o que seria esse "representado em formato binario"?
  5. Ola bom dia! Bom tenho uma duvida como a máquina do Virtual do python armazena o bytecode? É em um array? Um exemplo: Import dis def ex1(): return 10 dis.dis(ex1) Isso mostra o bytecode gerado pela função ex1 que seria: 2 0 LOAD_CONST 1 (10) 3 RETURN_VALUE Alguem tem um site onde posso estudar melhor esse bytecode? E entender como ele é armazenado na memória e executado?
  6. @arfneto as máquinas virtuais ja usei, estava apenas buscando mais conhecimento! Mas obrigado pela ajuda!
  7. @arfneto Sim, esse é o problema! Meu projeto é de um compilador (para estudos) e o back end gera um codigo em assembly onde tenho que usar o nasm para gerar os arquivos executaveis. Dai vem um problema se eu mandar para um amigo e ele nao tiver o nasm nao poderá executar o codigo. Então fui pesquisar sobre o assunto, dai encontrei o formato PE (Portable Executable) mas é inviável tentar aprender os opcodes e escrever em um arquivo exe ou elf. Até porque cada um segue uma estrutura como cabeçalho .... além do numero de bytes que terar que escrever. Então agora estou procurando uma solução de gerar os executável de forma mais simples e viável. Por exemplo depois das etapas da compilação (análise lexica, sintática e semântica) chega a hora de gerar o executável mas como? Ja que usar o nasm para montar os arquivos objetos e depois fazer a link edição e por fim um arquivo executável o meu problema ira continuar, e tentar escrever os bytes em um arquivo exe é inviável. Como consigo embutir um linker ja pronto
  8. Ola, tudo bem! Alguem pode me explica como o compiladores gerar os códigos executável? .exe por exemplo. Ja que minha última ideia era aprender a programa em hex code (codigo em hexadecimal, dos executável), mas nao é uma solução viável para o meu projeto de um compilador. alguém pode me ajudar a entender o processo de geração de codigo?
  9. Sim isso mesmo! Quero gerar executável do zero sem o nasm. Muito obrigado!
  10. Ola em meus estudos sobre programação, especialmente implementação de compiladores tenho uma duvida. Como faço para gerar arquivos executaveis por exemplo arquivos exe para Windows ou elf para Linux? porque tive estudando e vi que as instruções sao em hexadecimal, mas como faço esses arquivos, ja que a instrução em assembly "ret" é traduzido em 0x3c. Em meus projetos o que o compilador faz é traduzido o codigo em alto nível para codigo em assembly, porém preciso do nasm para compilar e gerar os executável. E esse é minha duvida, quero criar os executável alguem pode me ajudar? Com links, tutoriais, livros e etc.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...