예제 #1
0
        public void EmitIfNecessary(Format13OpCode opCode, int signed9BitOffset)
        {
            if (signed9BitOffset == 0)
            {
                return;
            }
            CheckRange(signed9BitOffset, -(1 << 9) + 1, (1 << 9) - 1, 3);
            var  fluentComment = "ADD SP,#" + signed9BitOffset;
            int  signFlagBits;
            uint offsetBits;

            if (signed9BitOffset > 0)
            {
                signFlagBits = 0;
                offsetBits   = (uint)signed9BitOffset;
            }
            else
            {
                signFlagBits = 1;
                offsetBits   = (uint)-signed9BitOffset;
            }
            offsetBits = offsetBits >> 2;
            EmitHelper(null, 13, fluentComment, 11 << 4, 8, signFlagBits, 1, (int)offsetBits, 7);
        }
예제 #2
0
 public void EmitIfNecessary(Format13OpCode opCode, int signed9BitOffset)
 {
     if(signed9BitOffset==0) {
     return;
       }
       CheckRange(signed9BitOffset, -(1<<9)+1, (1<<9)-1, 3);
       var fluentComment="ADD SP,#"+signed9BitOffset;
       int signFlagBits;
       uint offsetBits;
       if(signed9BitOffset>0) {
     signFlagBits=0;
     offsetBits=(uint)signed9BitOffset;
       } else {
     signFlagBits=1;
     offsetBits=(uint)-signed9BitOffset;
       }
       offsetBits=offsetBits>>2;
       EmitHelper(null, 13, fluentComment, 11<<4, 8, signFlagBits, 1, (int)offsetBits, 7);
 }