Re: instrução halt
[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: instrução halt



Olá

On Thu, 3 Jul 2003, Bruno Takahashi C de Oliveira wrote:

> Leonidas O Brandao writes:
> > É isso mesmo, este é o truque mais "limpo" para fazer isso e a razão é a
> > seguinte: 
> > 
> >  a instrução "AC <- cEE" é a tradução de algum comando "var <- expr", e
> >  como as instruções ocupam os end. de memória mais baixo (no nosso modelo
> >  de comp.) => é impossível sobrar a posição de memória 00 p/ ser usada por
> >  alguma variável ! 
> > 
> 
> não seria mais limpo que a instrução halt fosse uma instrução negativa?
> Por exemplo, -1? Assim deixava possível a instrução AC <- c00
> 
> Digo isso pq estava experimentando escrever diversos programas
...
>     AC <- c00
>     AC <- cAC / c00
> E isso naturalmente não funcionou (sim, no programa em questão c00 != 0)
> 
> Também estava escrevendo alguns programas auto-modificantes, isto é,
> o programa modifica as próprias instruções, para conseguir coisas como
> indireção de ponteiros. Nesses casos também é muito conveniente poder
> ler (e modificar) o quê está na posição 00!
> 
> Mas tem razão, do ponto de vista de programas compilados não faz sentido
> uma instrução como AC <- c00.
> 
> > Notem que sugeri: alocar memória dos endereços mais "alto" primeiro.
> > 
> > OK ?

Já tinha desconfiado que estava pensando em alguma "baixaria". Eu
simplifiquei o trabalho e solicitei uma estrutura mais "limpa". 

Mas se vc quer fazer este tipo de truque, deixe isso alterável em
seu programa (p.e., com teste de alguma variável def. em tempo de
compilação) ou no mínimo indique claramente que adotou outro procedimento
de codificação, mas para manter portabilidade resolva isso na carga do
programa (ao ler a última instrução, se ela for "000" troque para "0-1"
com sugeriu). OK ?

[]s
Leônidas

 --------------------------------------------------------------------------
 Leônidas de Oliveira Brandão  -  Computer Science Dep. of IME-USP (Brazil)
 leo@ime.usp.br - http://www.ime.usp.br/~leo - +55 (011) 3091 [6298 | 6135] 
 Interessado em Matemática?  Visite o "iMatica":   http://www.matematica.br