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

1.1       root        1: #include       "../machine/alignment.h"
                      2: 
                      3: write_byte (infop,byte, where)
                      4: process_info   *infop;
                      5: long           byte; 
                      6: struct oprnd   *where;
                      7: /*
                      8: /*     Put the 'byte' at the given address in
                      9: /*     tahoe's memory.
                     10: /*     
                     11: /*     1. Only the least significant byte 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 (byte > 0x7f || byte < -0x80) 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_byte(infop, byte, where->address);
                     25:                break;
                     26:        case Dir:
                     27:                Replace (infop, where->reg_number, byte);
                     28:                break;
                     29:        case SPmode:
                     30:                where->mode = where->mode & ~SPmode | Add;
                     31:                write_longword (infop, byte, where);
                     32:                break;
                     33:        default:
                     34:                printf("Unknown destination in write_byte (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.