Annotation of cci/sys/tahoe/Awrite_word.c, revision 1.1.1.1

1.1       root        1: #include       "../machine/alignment.h"
                      2: 
                      3: write_word (infop, word, where)
                      4: process_info   *infop;
                      5: long           word;
                      6: struct oprnd   *where;
                      7: /*
                      8: /*     Put the word at the given address in
                      9: /*     tahoe's memory.
                     10: /*     
                     11: /*     1. The least significant word is written.
                     12: /*
                     13: /**************************************************/
                     14: {
                     15:        register struct operand_des *look_at;
                     16: 
                     17:        look_at = &Table[opCODE].operand[last_operand];
                     18:        if (! (look_at->add_modes & NOVF))
                     19:                if (word > 0x7fff || word < -0x8000) overflow_1;        
                     20:        if (! (where->mode & W)) exception(infop, ILL_ADDRMOD);
                     21:        switch (where->mode & ADDFIELD) /* Mask out R/W bits */
                     22:        {
                     23:        case Add:
                     24:                put_word (infop, word, where->address);
                     25:                break;
                     26:        case Dir:
                     27:                Replace (infop, where->reg_number, word);
                     28:                break;
                     29:        case SPmode: 
                     30:                where->mode = where->mode & ~SPmode | Add; 
                     31:                write_longword (infop, word, where);
                     32:                break;
                     33:        default:
                     34:                printf("Unknown destination in write_word (alignment code)\n");
                     35:        };
                     36: }      

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.