object.c
/*
 *  emit_gh_i_jkm - emit an instruction with 7-bit op code, 3-bit result register, and 22-bit constant
 */
emit an instruction with 7-bit op code, 3-bit result register, and 22-bit constant
emit an instruction with 7 - bit op code 3 - bit result register and 22 - bit constant
void emit_gh_i_jkm(Section *section, u8 gh, u8 i, Value *jkm) {
    u32 instr;
    instr = (gh << 25) | (i << 22) | (jkm->intValue & MASK22);
    putHalfWord(section, section->originCounter, instr);
    if (isExternal(jkm)) {
        addExternalEntry(section, jkm, FALSE, section->originCounter * 16 + 31, 22);
    }
    else if (isRelocatable(jkm)) {
        addStdRelocationEntry(section, jkm, FALSE);
    }
    listCodeLocation(section);
    listCode10_22(instr, jkm->attributes);
    advanceBitPosition(section, 32);
}
void emit_gh_i_jkm ( Section * section , u8 gh , u8 i , Value * jkm ) { u32 instr ; instr = ( gh << 25 ) | ( i << 22 ) | ( jkm -> intValue & MASK22 ) ; putHalfWord ( section , section -> originCounter , instr ) ; if ( isExternal ( jkm ) ) { addExternalEntry ( section , jkm , FALSE , section -> originCounter * 16 + 31 , 22 ) ; } else if ( isRelocatable ( jkm ) ) { addStdRelocationEntry ( section , jkm , FALSE ) ; } listCodeLocation ( section ) ; listCode10_22 ( instr , jkm -> attributes ) ; advanceBitPosition ( section , 32 ) ; }
emit_gh_i_jkm - emit an instruction with 7-bit op code, 3-bit result register, and 22-bit constant
emit_gh_i_jkm - emit an instruction with 7 - bit op code 3 - bit result register and 22 - bit constant