Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

myself*

_Programa_Assembly

Recommended Posts

Bom noite... Gostava que me ajudassem:

 

Preciso de implementar um programa em Assembly que faça as seguintes coisas:

 

- cria cópias de si próprio em memória;

 

- transfere o controlo do sistema para uma cópia escolhida das que previamente criou e (consequentemente) se lembre de que cópia activa num dado momento;

 

- cada cópia deverá ocupar uma posição diferente na memória e será identificada por um número. A primeira cópia do programa presente quando ele se inicia é a número 0.

 

Nem sei como começar... Esta é so a primeira parte do programa, mas sem a qual não consigo dar seguimento aos procedimentos seguintes. Se tiverem ideias, por favor, postem. Se conseguirem produzir/ explicar este programa numa outra linguagem (por exemplo C) tudo bem... eu tento perceber e adaptar para o assembly. Só não sei é mesmo como começar. Conto com a vossa ajuda.

 

Obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites
- cria cópias de si próprio em memória;

 

Fork

 

- transfere o controlo do sistema para uma cópia escolhida das que previamente criou e (consequentemente) se lembre de que cópia activa num dado momento;

 

Que eu saiba,isso é coisa do sistema operacional. Mas o processo filho comeca a executar na instrucao seguinte à do fork.

 

- cada cópia deverá ocupar uma posição diferente na memória e será identificada por um número. A primeira cópia do programa presente quando ele se inicia é a número 0.

 

Processos ocupam enderecos diferentes. Pelo menos no linux,se você não modificar nenhuma variavel,o processo filho fica no mesmo address space do processo pai.

 

Faca um codigo em C e veja o assembly gerado pelo gcc.você vai ter 2 stacks,2 heaps, 2 copias de registradores...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.