Mostra notizie nelle discussioni
  • Avatar
    ☺
    Scritto da
    altg
    utente che non utiene
    il 2013-08-26 00:37:43.0 alle 2013-08-26 00:37:43.0
    Trollate totali: 11540
    Per la cronaca, il sorgente che avevo scritto qualche giorno fa...
    ...e` cambiato. Ho ripulito un po' la sintassi per l'accesso alle variabili locali. Prima era necessario (ma abbastanza stupido) far riferimento alle locali per esteso, come operandi indiretti basati su un indirizzo contenuto (per convenzione) nel registro E. Quindi veniva fuori ad esempio "e [n]" (locale n nel frame puntato da e). Ora, dato che tanto E e` l'unico registro che per convenzione e` designato callee-saved (cioe` viene salvato dalle subroutine chiamate, piuttosto che dal chiamante), e che quindi e` la scelta piu` ovvia per usarlo come base del frame locale, ho implicitato l'indirezione. In soldoni, basta scrivere n. Con la lingua fuori

    Vabbe' insomma questo e` come appare dopo la cura:
    http://anynowhere.com/personal/atmout-new.txt

    E questo, per confronto, e` come appariva prima della cura:
    http://anynowhere.com/personal/atmout.txt

    Ah si`, gia` che c'ero, ho eliminato i duepunti tra % (il nome del registro di riserva) e l'espressione che indica lo scostamento, quando si indirizza indirettamente basandosi sul registro di riserva. Anche quello ripulisce un po' la sintassi e la rende coerente con altre indirezioni basate sui registri generici. Umm...

    glossario:

    registri generici = quelli che possono essere usati liberamente per dati e indirizzi, e il cui accesso e` ortogonale attraverso il set d'istruzioni

    ortogonalita` del set d'istruzioni = vedere wikipedia, forse Anonimo

    registro di riserva = designato dal set di L.in.oleum, solitamente usato per implementare spostamenti da memoria a memoria su macchine load-store, ma nella versione 3 puo` essere usato in un sottoinsieme di circostanze, tra cui per comporre certi operandi a indirizzamento indiretto

    indirizzamento indiretto = quando si fa riferimento a una locazione di memoria usando un registro che contiene un indirizzo base a cui viene aggiunto uno scostamento, cioe` un indice intero

    frame locale = spazio di memoria in cui risiedono le variabili locali, che in Lino3 puo` essere o il call stack, o qualsiasi alto intervallo di memoria piu` persistente, incluso un blocco di heap

    non sapere cosa fare = scrivere queste cose qui a quest'ora...
    • Avatar
      Scritto da
      Non Autenticato
      il 2013-08-26 00:44:07.0 alle 2013-08-26 00:44:07.0
      Re: Per la cronaca, il sorgente che avevo scritto qualche giorno fa...
      > ...e` cambiato. Ho ripulito un po' la sintassi per l'accesso alle variabili locali. Prima era necessario (ma abbastanza stupido) far riferimento alle locali per esteso, come operandi indiretti basati su un indirizzo contenuto (per convenzione) nel registro E. Quindi veniva fuori ad esempio "e [n]" (locale n nel frame puntato da e). Ora, dato che tanto E e` l'unico registro che per convenzione e` designato callee-saved (cioe` viene salvato dalle subroutine chiamate, piuttosto che dal chiamante), e che quindi e` la scelta piu` ovvia per usarlo come base del frame locale, ho implicitato l'indirezione. In soldoni, basta scrivere n. Con la lingua fuori

      Già, è ovvio. Con la lingua fuori

      > Vabbe' insomma questo e` come appare dopo la cura:
      > http://anynowhere.com/personal/atmout-new.txt
      >
      > E questo, per confronto, e` come appariva prima della cura:
      > http://anynowhere.com/personal/atmout.txt
      >
      > Ah si`, gia` che c'ero, ho eliminato i duepunti tra % (il nome del registro di riserva) e l'espressione che indica lo scostamento, quando si indirizza indirettamente basandosi sul registro di riserva. Anche quello ripulisce un po' la sintassi e la rende coerente con altre indirezioni basate sui registri generici. Umm...
      >
      > glossario:
      >
      > registri generici = quelli che possono essere usati liberamente per dati e indirizzi, e il cui accesso e` ortogonale attraverso il set d'istruzioni
      >
      > ortogonalita` del set d'istruzioni = vedere wikipedia, forse Anonimo
      >
      > registro di riserva = designato dal set di L.in.oleum, solitamente usato per implementare spostamenti da memoria a memoria su macchine load-store, ma nella versione 3 puo` essere usato in un sottoinsieme di circostanze, tra cui per comporre certi operandi a indirizzamento indiretto
      >
      > indirizzamento indiretto = quando si fa riferimento a una locazione di memoria usando un registro che contiene un indirizzo base a cui viene aggiunto uno scostamento, cioe` un indice intero

      UHM, nella mia memoria sarebbe un'altra cosa. A bocca aperta

      > frame locale = spazio di memoria in cui risiedono le variabili locali, che in Lino3 puo` essere o il call stack, o qualsiasi alto intervallo di memoria piu` persistente, incluso un blocco di heap
      >
      > non sapere cosa fare = scrivere queste cose qui a quest'ora...
    • Avatar
      ☺
      Scritto da
      ::1
      il 2013-08-26 00:44:08.0 alle 2013-08-26 00:44:08.0
      Trollate totali: 12321
      Re: Per la cronaca, il sorgente che avevo scritto qualche giorno fa...
      Scritto da: altg
      > ...e` cambiato. Ho ripulito un po' la sintassi per l'accesso alle variabili locali. Prima era necessario (ma abbastanza stupido) far riferimento alle locali per esteso, come operandi indiretti basati su un indirizzo contenuto (per convenzione) nel registro E. Quindi veniva fuori ad esempio "e [n]" (locale n nel frame puntato da e). Ora, dato che tanto E e` l'unico registro che per convenzione e` designato callee-saved (cioe` viene salvato dalle subroutine chiamate, piuttosto che dal chiamante), e che quindi e` la scelta piu` ovvia per usarlo come base del frame locale, ho implicitato l'indirezione. In soldoni, basta scrivere n. Con la lingua fuori
      >
      > Vabbe' insomma questo e` come appare dopo la cura:
      > http://anynowhere.com/personal/atmout-new.txt
      >
      > E questo, per confronto, e` come appariva prima della cura:
      > http://anynowhere.com/personal/atmout.txt
      >
      > Ah si`, gia` che c'ero, ho eliminato i duepunti tra % (il nome del registro di riserva) e l'espressione che indica lo scostamento, quando si indirizza indirettamente basandosi sul registro di riserva. Anche quello ripulisce un po' la sintassi e la rende coerente con altre indirezioni basate sui registri generici. Umm...
      >
      > glossario:
      >
      > registri generici = quelli che possono essere usati liberamente per dati e indirizzi, e il cui accesso e` ortogonale attraverso il set d'istruzioni
      >
      > ortogonalita` del set d'istruzioni = vedere wikipedia, forse Anonimo
      >
      > registro di riserva = designato dal set di L.in.oleum, solitamente usato per implementare spostamenti da memoria a memoria su macchine load-store, ma nella versione 3 puo` essere usato in un sottoinsieme di circostanze, tra cui per comporre certi operandi a indirizzamento indiretto
      >
      > indirizzamento indiretto = quando si fa riferimento a una locazione di memoria usando un registro che contiene un indirizzo base a cui viene aggiunto uno scostamento, cioe` un indice intero
      >
      > frame locale = spazio di memoria in cui risiedono le variabili locali, che in Lino3 puo` essere o il call stack, o qualsiasi alto intervallo di memoria piu` persistente, incluso un blocco di heap
      >
      > non sapere cosa fare = scrivere queste cose qui a quest'ora...

      $ diff -d <(curl -s http://anynowhere.com/personal/atmout-new.txt) <(curl -s http://anynowhere.com/personal/atmout.txt)
      59,61c59,61
      < 				% [n st] = locals;
      < 				% [h st] = adr of [st];
      < 				% [p cx] = 0;
      ---
      > 				% : n st = locals;
      > 				% : h st = adrof [st];
      > 				% : p cx = 0;
      95c95
      < 				p = a;
      ---
      > 				e [p] = a;
      119c119
      < 				m = c;
      ---
      > 				e [m] = c;
      123,125c123,125
      < 				n <- units for 'm' bytes;
      < 				q <- at large, heap . grab 'n' units; or: break;
      < 				swap 'n' units at 'p' copying to 'q';
      ---
      > 				e [n] <- units for 'e [m]' bytes;
      > 				e [q] <- at large, heap . grab 'e [n]' units; or: break;
      > 				swap 'e [n]' units at 'e [p]' copying to 'e [q]';
      133,134c133,134
      < 					file block pointer = q;
      < 					file block size = m;
      ---
      > 					file block pointer = e [q];
      > 					file block size = e [m];
      140c140
      < 				at large, heap . drop 'q';
      ---
      > 				at large, heap . drop 'e [q]';
      Young professional woman and busy mom.
      • Avatar
        Scritto da
        Non Autenticato
        il 2013-08-26 00:48:14.0 alle 2013-08-26 00:48:14.0
        Re: Per la cronaca, il sorgente che avevo scritto qualche giorno fa...
        > > ...e` cambiato. Ho ripulito un po' la sintassi per l'accesso alle variabili locali. Prima era necessario (ma abbastanza stupido) far riferimento alle locali per esteso, come operandi indiretti basati su un indirizzo contenuto (per convenzione) nel registro E. Quindi veniva fuori ad esempio "e [n]" (locale n nel frame puntato da e). Ora, dato che tanto E e` l'unico registro che per convenzione e` designato callee-saved (cioe` viene salvato dalle subroutine chiamate, piuttosto che dal chiamante), e che quindi e` la scelta piu` ovvia per usarlo come base del frame locale, ho implicitato l'indirezione. In soldoni, basta scrivere n. Con la lingua fuori
        > >
        > > Vabbe' insomma questo e` come appare dopo la cura:
        > > http://anynowhere.com/personal/atmout-new.txt
        > >
        > > E questo, per confronto, e` come appariva prima della cura:
        > > http://anynowhere.com/personal/atmout.txt
        > >
        > > Ah si`, gia` che c'ero, ho eliminato i duepunti tra % (il nome del registro di riserva) e l'espressione che indica lo scostamento, quando si indirizza indirettamente basandosi sul registro di riserva. Anche quello ripulisce un po' la sintassi e la rende coerente con altre indirezioni basate sui registri generici. Umm...
        > >
        > > glossario:
        > >
        > > registri generici = quelli che possono essere usati liberamente per dati e indirizzi, e il cui accesso e` ortogonale attraverso il set d'istruzioni
        > >
        > > ortogonalita` del set d'istruzioni = vedere wikipedia, forse Anonimo
        > >
        > > registro di riserva = designato dal set di L.in.oleum, solitamente usato per implementare spostamenti da memoria a memoria su macchine load-store, ma nella versione 3 puo` essere usato in un sottoinsieme di circostanze, tra cui per comporre certi operandi a indirizzamento indiretto
        > >
        > > indirizzamento indiretto = quando si fa riferimento a una locazione di memoria usando un registro che contiene un indirizzo base a cui viene aggiunto uno scostamento, cioe` un indice intero
        > >
        > > frame locale = spazio di memoria in cui risiedono le variabili locali, che in Lino3 puo` essere o il call stack, o qualsiasi alto intervallo di memoria piu` persistente, incluso un blocco di heap
        > >
        > > non sapere cosa fare = scrivere queste cose qui a quest'ora...
        >
        >
        $ diff -d <(curl -s http://anynowhere.com/personal/atmout-new.txt) <(curl -s http://anynowhere.com/personal/atmout.txt)
        > 59,61c59,61
        > < 				% [n st] = locals;
        > < 				% [h st] = adr of [st];
        > < 				% [p cx] = 0;
        > ---
        > > 				% : n st = locals;
        > > 				% : h st = adrof [st];
        > > 				% : p cx = 0;
        > 95c95
        > < 				p = a;
        > ---
        > > 				e [p] = a;
        > 119c119
        > < 				m = c;
        > ---
        > > 				e [m] = c;
        > 123,125c123,125
        > < 				n <- units for 'm' bytes;
        > < 				q <- at large, heap . grab 'n' units; or: break;
        > < 				swap 'n' units at 'p' copying to 'q';
        > ---
        > > 				e [n] <- units for 'e [m]' bytes;
        > > 				e [q] <- at large, heap . grab 'e [n]' units; or: break;
        > > 				swap 'e [n]' units at 'e [p]' copying to 'e [q]';
        > 133,134c133,134
        > < 					file block pointer = q;
        > < 					file block size = m;
        > ---
        > > 					file block pointer = e [q];
        > > 					file block size = e [m];
        > 140c140
        > < 				at large, heap . drop 'q';
        > ---
        > > 				at large, heap . drop 'e [q]';


        Com'è bello essere linari. Imbarazzato
        Stavo pensando di procurarmi una SDHC da 32 GB e installarci sopra una iso base di Arch.
      • Avatar
        ☺
        Scritto da
        altg
        utente che non utiene
        il 2013-08-26 00:59:58.0 alle 2013-08-26 00:59:58.0
        Trollate totali: 11540
        Re: Per la cronaca, il sorgente che avevo scritto qualche giorno fa...
        > > ...e` cambiato. Ho ripulito un po' la sintassi per l'accesso alle variabili locali. Prima era necessario (ma abbastanza stupido) far riferimento alle locali per esteso, come operandi indiretti basati su un indirizzo contenuto (per convenzione) nel registro E. Quindi veniva fuori ad esempio "e [n]" (locale n nel frame puntato da e). Ora, dato che tanto E e` l'unico registro che per convenzione e` designato callee-saved (cioe` viene salvato dalle subroutine chiamate, piuttosto che dal chiamante), e che quindi e` la scelta piu` ovvia per usarlo come base del frame locale, ho implicitato l'indirezione. In soldoni, basta scrivere n. Con la lingua fuori
        > >
        > > Vabbe' insomma questo e` come appare dopo la cura:
        > > http://anynowhere.com/personal/atmout-new.txt
        > >
        > > E questo, per confronto, e` come appariva prima della cura:
        > > http://anynowhere.com/personal/atmout.txt
        > >
        > > Ah si`, gia` che c'ero, ho eliminato i duepunti tra % (il nome del registro di riserva) e l'espressione che indica lo scostamento, quando si indirizza indirettamente basandosi sul registro di riserva. Anche quello ripulisce un po' la sintassi e la rende coerente con altre indirezioni basate sui registri generici. Umm...
        > >
        > > glossario:
        > >
        > > registri generici = quelli che possono essere usati liberamente per dati e indirizzi, e il cui accesso e` ortogonale attraverso il set d'istruzioni
        > >
        > > ortogonalita` del set d'istruzioni = vedere wikipedia, forse Anonimo
        > >
        > > registro di riserva = designato dal set di L.in.oleum, solitamente usato per implementare spostamenti da memoria a memoria su macchine load-store, ma nella versione 3 puo` essere usato in un sottoinsieme di circostanze, tra cui per comporre certi operandi a indirizzamento indiretto
        > >
        > > indirizzamento indiretto = quando si fa riferimento a una locazione di memoria usando un registro che contiene un indirizzo base a cui viene aggiunto uno scostamento, cioe` un indice intero
        > >
        > > frame locale = spazio di memoria in cui risiedono le variabili locali, che in Lino3 puo` essere o il call stack, o qualsiasi alto intervallo di memoria piu` persistente, incluso un blocco di heap
        > >
        > > non sapere cosa fare = scrivere queste cose qui a quest'ora...
        >
        >
        $ diff -d <(curl -s http://anynowhere.com/personal/atmout-new.txt) <(curl -s http://anynowhere.com/personal/atmout.txt)
        > 59,61c59,61
        > < 				% [n st] = locals;
        > < 				% [h st] = adr of [st];
        > < 				% [p cx] = 0;
        > ---
        > > 				% : n st = locals;
        > > 				% : h st = adrof [st];
        > > 				% : p cx = 0;
        > 95c95
        > < 				p = a;
        > ---
        > > 				e [p] = a;
        > 119c119
        > < 				m = c;
        > ---
        > > 				e [m] = c;
        > 123,125c123,125
        > < 				n <- units for 'm' bytes;
        > < 				q <- at large, heap . grab 'n' units; or: break;
        > < 				swap 'n' units at 'p' copying to 'q';
        > ---
        > > 				e [n] <- units for 'e [m]' bytes;
        > > 				e [q] <- at large, heap . grab 'e [n]' units; or: break;
        > > 				swap 'e [n]' units at 'e [p]' copying to 'e [q]';
        > 133,134c133,134
        > < 					file block pointer = q;
        > < 					file block size = m;
        > ---
        > > 					file block pointer = e [q];
        > > 					file block size = e [m];
        > 140c140
        > < 				at large, heap . drop 'q';
        > ---
        > > 				at large, heap . drop 'e [q]';


        Curiosita`: per diffare sorgenti con formattazione diversa c'e` mica un qualcosa che si possa fare? Tipo fargli ignorare l'indentazione... Fantasma
        • Avatar
          ☺
          Scritto da
          ::1
          il 2013-08-26 08:00:37.0 alle 2013-08-26 08:00:37.0
          Trollate totali: 12321
          Re: Per la cronaca, il sorgente che avevo scritto qualche giorno fa...
          Scritto da: altg
          > Curiosita`: per diffare sorgenti con formattazione diversa c'e` mica un qualcosa che si possa fare? Tipo fargli ignorare l'indentazione... Fantasma

          Ahhh, sono anni che aspettavo questo momento:
          RTFM!
          man diff
          
                 --ignore-all-space
          	      Ignore white space when comparing lines.
          
                 --ignore-blank-lines
          	      Ignore changes that just insert or delete blank lines.
          
                 --ignore-case
          	      Ignore changes in case; consider upper- and lower-case to be the
          	      same.
          
                 --ignore-matching-lines=regexp
          	      Ignore  changes that just insert or delete lines that match reg-
          	      exp.
          
                 --ignore-space-change
          	      Ignore changes in amount of white space.
          
          Young professional woman and busy mom.
          • Avatar
            ☺
            Scritto da
            altg
            utente che non utiene
            il 2013-08-26 08:43:17.0 alle 2013-08-26 08:43:17.0
            Trollate totali: 11540
            Re: Per la cronaca, il sorgente che avevo scritto qualche giorno fa...
            > > Curiosita`: per diffare sorgenti con formattazione diversa c'e` mica un qualcosa che si possa fare? Tipo fargli ignorare l'indentazione... Fantasma
            >
            > Ahhh, sono anni che aspettavo questo momento:
            > RTFM!
            > man diff
            >
            > 
            > --ignore-all-space
            > 	      Ignore white space when comparing lines.
            > 
            > --ignore-blank-lines
            > 	      Ignore changes that just insert or delete blank lines.
            > 
            > --ignore-case
            > 	      Ignore changes in case; consider upper- and lower-case to be the
            > 	      same.
            > 
            > --ignore-matching-lines=regexp
            > 	      Ignore  changes that just insert or delete lines that match reg-
            > 	      exp.
            > 
            > --ignore-space-change
            > 	      Ignore changes in amount of white space.
            > 


            Che magra soddisfazione per anni d'attesa... In lacrime Con la lingua fuori
    • Avatar
      Scritto da
      Non Autenticato
      il 2013-08-26 08:51:08.0 alle 2013-08-26 08:51:08.0
      Re: Per la cronaca, il sorgente che avevo scritto qualche giorno fa...
      Scritto da: altg
      > ...e` cambiato. Ho ripulito un po' la sintassi per l'accesso alle variabili locali. Prima era necessario (ma abbastanza stupido) far riferimento alle locali per esteso, come operandi indiretti basati su un indirizzo contenuto (per convenzione) nel registro E. Quindi veniva fuori ad esempio "e [n]" (locale n nel frame puntato da e). Ora, dato che tanto E e` l'unico registro che per convenzione e` designato callee-saved (cioe` viene salvato dalle subroutine chiamate, piuttosto che dal chiamante), e che quindi e` la scelta piu` ovvia per usarlo come base del frame locale, ho implicitato l'indirezione. In soldoni, basta scrivere n. Con la lingua fuori
      >
      > Vabbe' insomma questo e` come appare dopo la cura:
      > http://anynowhere.com/personal/atmout-new.txt
      >
      > E questo, per confronto, e` come appariva prima della cura:
      > http://anynowhere.com/personal/atmout.txt
      >
      > Ah si`, gia` che c'ero, ho eliminato i duepunti tra % (il nome del registro di riserva) e l'espressione che indica lo scostamento, quando si indirizza indirettamente basandosi sul registro di riserva. Anche quello ripulisce un po' la sintassi e la rende coerente con altre indirezioni basate sui registri generici. Umm...
      >
      > glossario:
      >
      > registri generici = quelli che possono essere usati liberamente per dati e indirizzi, e il cui accesso e` ortogonale attraverso il set d'istruzioni
      >
      > ortogonalita` del set d'istruzioni = vedere wikipedia, forse Anonimo
      >
      > registro di riserva = designato dal set di L.in.oleum, solitamente usato per implementare spostamenti da memoria a memoria su macchine load-store, ma nella versione 3 puo` essere usato in un sottoinsieme di circostanze, tra cui per comporre certi operandi a indirizzamento indiretto
      >
      > indirizzamento indiretto = quando si fa riferimento a una locazione di memoria usando un registro che contiene un indirizzo base a cui viene aggiunto uno scostamento, cioe` un indice intero
      >
      > frame locale = spazio di memoria in cui risiedono le variabili locali, che in Lino3 puo` essere o il call stack, o qualsiasi alto intervallo di memoria piu` persistente, incluso un blocco di heap
      >
      > non sapere cosa fare = scrivere queste cose qui a quest'ora...

      hai scambiato il forum dei troll per il log dei what's new del tuo assurdo progetto Newbie, inesperto

      Cylon
      • Avatar
        Scritto da
        Non Autenticato
        il 2013-08-26 15:20:39.0 alle 2013-08-26 15:20:39.0
        Re: Per la cronaca, il sorgente che avevo scritto qualche giorno fa...
        > > ...e` cambiato. Ho ripulito un po' la sintassi per l'accesso alle variabili locali. Prima era necessario (ma abbastanza stupido) far riferimento alle locali per esteso, come operandi indiretti basati su un indirizzo contenuto (per convenzione) nel registro E. Quindi veniva fuori ad esempio "e [n]" (locale n nel frame puntato da e). Ora, dato che tanto E e` l'unico registro che per convenzione e` designato callee-saved (cioe` viene salvato dalle subroutine chiamate, piuttosto che dal chiamante), e che quindi e` la scelta piu` ovvia per usarlo come base del frame locale, ho implicitato l'indirezione. In soldoni, basta scrivere n. Con la lingua fuori
        > >
        > > Vabbe' insomma questo e` come appare dopo la cura:
        > > http://anynowhere.com/personal/atmout-new.txt
        > >
        > > E questo, per confronto, e` come appariva prima della cura:
        > > http://anynowhere.com/personal/atmout.txt
        > >
        > > Ah si`, gia` che c'ero, ho eliminato i duepunti tra % (il nome del registro di riserva) e l'espressione che indica lo scostamento, quando si indirizza indirettamente basandosi sul registro di riserva. Anche quello ripulisce un po' la sintassi e la rende coerente con altre indirezioni basate sui registri generici. Umm...
        > >
        > > glossario:
        > >
        > > registri generici = quelli che possono essere usati liberamente per dati e indirizzi, e il cui accesso e` ortogonale attraverso il set d'istruzioni
        > >
        > > ortogonalita` del set d'istruzioni = vedere wikipedia, forse Anonimo
        > >
        > > registro di riserva = designato dal set di L.in.oleum, solitamente usato per implementare spostamenti da memoria a memoria su macchine load-store, ma nella versione 3 puo` essere usato in un sottoinsieme di circostanze, tra cui per comporre certi operandi a indirizzamento indiretto
        > >
        > > indirizzamento indiretto = quando si fa riferimento a una locazione di memoria usando un registro che contiene un indirizzo base a cui viene aggiunto uno scostamento, cioe` un indice intero
        > >
        > > frame locale = spazio di memoria in cui risiedono le variabili locali, che in Lino3 puo` essere o il call stack, o qualsiasi alto intervallo di memoria piu` persistente, incluso un blocco di heap
        > >
        > > non sapere cosa fare = scrivere queste cose qui a quest'ora...
        >
        > hai scambiato il forum dei troll per il log dei what's new del tuo assurdo progetto Newbie, inesperto
        >
        > Cylon

        Pussa via, a me interessa il suo progetto.
        • Avatar
          Scritto da
          Non Autenticato
          il 2013-08-26 19:14:19.0 alle 2013-08-26 19:14:19.0
          Re: Per la cronaca, il sorgente che avevo scritto qualche giorno fa...
          Scritto da:
          > > > ...e` cambiato. Ho ripulito un po' la sintassi per l'accesso alle variabili locali. Prima era necessario (ma abbastanza stupido) far riferimento alle locali per esteso, come operandi indiretti basati su un indirizzo contenuto (per convenzione) nel registro E. Quindi veniva fuori ad esempio "e [n]" (locale n nel frame puntato da e). Ora, dato che tanto E e` l'unico registro che per convenzione e` designato callee-saved (cioe` viene salvato dalle subroutine chiamate, piuttosto che dal chiamante), e che quindi e` la scelta piu` ovvia per usarlo come base del frame locale, ho implicitato l'indirezione. In soldoni, basta scrivere n. Con la lingua fuori
          > > >
          > > > Vabbe' insomma questo e` come appare dopo la cura:
          > > > http://anynowhere.com/personal/atmout-new.txt
          > > >
          > > > E questo, per confronto, e` come appariva prima della cura:
          > > > http://anynowhere.com/personal/atmout.txt
          > > >
          > > > Ah si`, gia` che c'ero, ho eliminato i duepunti tra % (il nome del registro di riserva) e l'espressione che indica lo scostamento, quando si indirizza indirettamente basandosi sul registro di riserva. Anche quello ripulisce un po' la sintassi e la rende coerente con altre indirezioni basate sui registri generici. Umm...
          > > >
          > > > glossario:
          > > >
          > > > registri generici = quelli che possono essere usati liberamente per dati e indirizzi, e il cui accesso e` ortogonale attraverso il set d'istruzioni
          > > >
          > > > ortogonalita` del set d'istruzioni = vedere wikipedia, forse Anonimo
          > > >
          > > > registro di riserva = designato dal set di L.in.oleum, solitamente usato per implementare spostamenti da memoria a memoria su macchine load-store, ma nella versione 3 puo` essere usato in un sottoinsieme di circostanze, tra cui per comporre certi operandi a indirizzamento indiretto
          > > >
          > > > indirizzamento indiretto = quando si fa riferimento a una locazione di memoria usando un registro che contiene un indirizzo base a cui viene aggiunto uno scostamento, cioe` un indice intero
          > > >
          > > > frame locale = spazio di memoria in cui risiedono le variabili locali, che in Lino3 puo` essere o il call stack, o qualsiasi alto intervallo di memoria piu` persistente, incluso un blocco di heap
          > > >
          > > > non sapere cosa fare = scrivere queste cose qui a quest'ora...
          > >
          > > hai scambiato il forum dei troll per il log dei what's new del tuo assurdo progetto Newbie, inesperto
          > >
          > > Cylon
          >
          > Pussa via, a me interessa il suo progetto.

          allora trasferisciti e non rompere i coglioni

          Cylon
          • Avatar
            Scritto da
            Non Autenticato
            il 2013-08-26 21:55:57.0 alle 2013-08-26 21:55:57.0
            Re: Per la cronaca, il sorgente che avevo scritto qualche giorno fa...
            > > > > ...e` cambiato. Ho ripulito un po' la sintassi per l'accesso alle variabili locali. Prima era necessario (ma abbastanza stupido) far riferimento alle locali per esteso, come operandi indiretti basati su un indirizzo contenuto (per convenzione) nel registro E. Quindi veniva fuori ad esempio "e [n]" (locale n nel frame puntato da e). Ora, dato che tanto E e` l'unico registro che per convenzione e` designato callee-saved (cioe` viene salvato dalle subroutine chiamate, piuttosto che dal chiamante), e che quindi e` la scelta piu` ovvia per usarlo come base del frame locale, ho implicitato l'indirezione. In soldoni, basta scrivere n. Con la lingua fuori
            > > > >
            > > > > Vabbe' insomma questo e` come appare dopo la cura:
            > > > > http://anynowhere.com/personal/atmout-new.txt
            > > > >
            > > > > E questo, per confronto, e` come appariva prima della cura:
            > > > > http://anynowhere.com/personal/atmout.txt
            > > > >
            > > > > Ah si`, gia` che c'ero, ho eliminato i duepunti tra % (il nome del registro di riserva) e l'espressione che indica lo scostamento, quando si indirizza indirettamente basandosi sul registro di riserva. Anche quello ripulisce un po' la sintassi e la rende coerente con altre indirezioni basate sui registri generici. Umm...
            > > > >
            > > > > glossario:
            > > > >
            > > > > registri generici = quelli che possono essere usati liberamente per dati e indirizzi, e il cui accesso e` ortogonale attraverso il set d'istruzioni
            > > > >
            > > > > ortogonalita` del set d'istruzioni = vedere wikipedia, forse Anonimo
            > > > >
            > > > > registro di riserva = designato dal set di L.in.oleum, solitamente usato per implementare spostamenti da memoria a memoria su macchine load-store, ma nella versione 3 puo` essere usato in un sottoinsieme di circostanze, tra cui per comporre certi operandi a indirizzamento indiretto
            > > > >
            > > > > indirizzamento indiretto = quando si fa riferimento a una locazione di memoria usando un registro che contiene un indirizzo base a cui viene aggiunto uno scostamento, cioe` un indice intero
            > > > >
            > > > > frame locale = spazio di memoria in cui risiedono le variabili locali, che in Lino3 puo` essere o il call stack, o qualsiasi alto intervallo di memoria piu` persistente, incluso un blocco di heap
            > > > >
            > > > > non sapere cosa fare = scrivere queste cose qui a quest'ora...
            > > >
            > > > hai scambiato il forum dei troll per il log dei what's new del tuo assurdo progetto Newbie, inesperto
            > > >
            > > > Cylon
            > >
            > > Pussa via, a me interessa il suo progetto.
            >
            > allora trasferisciti e non rompere i coglioni
            >
            > Cylon

            Perché mai trasferirmi? E dove, visto che alex.tg viene direttamente qui a render noti i progressi delle sue realizzazioni?
<softv>

Pagina generata in 204 millisecondi

Utenti attivi: 10 nell'ultimo minuto, 20 negli ultimi cinque minuti, 42 negli ultimi 15 minuti