The document shows the byte ordering within Cintcode object modules
for both 32 and 64 bit BCPL and for both little and big ender
computers.

Cintcode object module are sequences of 32 or 64 bit words which can
be thought of as integers often written as hexadecimal numbers. For
instance the hand written library cin/syscin/syslib for 32 bit little
ender code contains the following:


000003E8 0000001C 
0000001C
0000FDDF 7379730B 2062696C 20202020          # syslib
0000DFDF 7379730B 20202020 20202020 00007B91 # sys:       SYS RTN
0000DFDF 6168630B 6365676E 2020206F 000000F0 # changeco:  CHGCO
0000DFDF 6C756D0B 20766964 20202020 000000EF # muldiv:    MDIV
00000000
00000003 00000024
00000006 00000038
00000005 0000004C
00000006 

This contains the Section name syslib and the hand written definitions
of the functions sys, changeco and muldiv which are placed in globals
3, 6 and 5.

The little ender ordering of bytes in 32 bit words is as follows:

                   -------------------
Byte address  0:  |  3 |  2 |  1 |  0 |
                   -------------------
                   -------------------
Byte address  4:  |  7 |  6 |  5 |  4 |
                   -------------------

So the fourth and fifth words of syslib as a sequence of bytes is as
follows:

12: DF             word 0000FDDF     Section name marker
13: FD
14: 00
15: 00

16: 0B  len 11     word 7379730B     Start of "syslib     "
17: 73  's'
18: 79  'y'
19: 73  's'

The version of syslib for 32 bit big ender Cincode is:

#000003E8 0000001C 
#0000001C
#0000FDDF 0B737973 6C696220 20202020          # syslib
#0000DFDF 0B737973 20202020 20202020 917B0000 # sys:       SYS RTN
#0000DFDF 0B636861 6E676563 6F202020 F0000000 # changeco:  CHGCO
#0000DFDF 0B6D756C 64697620 20202020 EF000000 # muldiv:    MDIV
#00000000
#00000003 00000024
#00000006 00000038
#00000005 0000004C
#00000006 

So the fourth and fifth words of syslib as a sequence of bytes is as
follows:

12: 00             word 0000FDDF     Section name marker
13: 00
14: FD
15: DF

16: 0B  len 11     word 0B737973     Start of "syslib     "
17: 73  's'
18: 79  'y'
19: 73  's'

Note that the length of a string in placed in the zeroth byte of the
string so appears as the senior byte of the first word of the string.

Cintcode consists of a stream of bytes stored in consecutive
increasing byte locations. Cintcode instructions can have immediate
operands of length 1, 2 or 4 bytes. These immediately follow the
function byte. On little ender Cintcode the first byte of 2 or 4 byte
immediate operands is the least significant byte of the constant. For
big ender Cintcode it is the senior byte. These immediate operands
need not be aligned on 2 or 4 byte boundaries. Other 2 byte integers
are used in Cintcode in the implementation of switches and indirect
relative addresses. These integers are always aligned on even
addresses and in little ender Cintcode they adopt the little ender
ordering. In big ended Cintcode they use big ender ordering. In 32 bit
Cintcode there are 32 bit integers that are not immediate operands.
These are used for static variables, table elements and the
implementation of strings and are always aligned on a 4 byte
boundary. In little ender Cintcode these integers use little ender
ordering otherwise big ender ordering is used.


There are still 32 bit immediate operands in 64 bit Cintcode but no 32
bit integers. Instead all large integers are 8 byte aligned 64 bit
values. The ordering conventions are the same as for 32 bit Cintcode.

The Ocode generated by the compiler front end is usually not dependent
on the word length used by the compiler nor the word length of the
target Cintcode. But when a 32 bit compiler is generating Ocode for a
64 bit target there are some differences. For instance, the Ocode
statement LN n is replaced by LFLT~n when loading floating point
constants. The n in this case will be a 32 bit floating point number
to be expanded to double length by the codegenerator. When allocating
Floating point static variables and table elements, ITEMFLT n is used
rather than ITEMN n.  Again n is a single precision number to be
expanded to double length by the codegenerator.

The Ocode generated by the front end is not dependent on the endianness
of either the compiler or target Cintcode.




The follow test program illustrates how Cintcode varies when the word
length of the compiler and target change between 32 and 64. This test
program also shows the effect of endianness of the compiler and
target.

GET "libhdr"

STATIC { Stat = #xAABBCCDD; One = 1.0 }

LET start() = VALOF
{ LET a, b, c = 15, #xAABB, #xAABBCCDD
  SWITCHON a+b INTO
  { DEFAULT:                  RESULTIS 0
    CASE 1:  a := "ABCDEFGH"; RESULTIS 1
    CASE 2:  a := #xABCD;     RESULTIS 2
    CASE 3:  a := 3;          RESULTIS 3
    CASE 4:  a := 4;          RESULTIS 4
    CASE 5:  a := 5;          RESULTIS 5
    CASE 6:  a := 6;          RESULTIS 6
    CASE 7:  a := 7;          RESULTIS 7
    CASE 8:  a := 8;          RESULTIS 8
    CASE 9:  a := 9;          RESULTIS 9
  }
  RESULTIS 0
}

The corresponding Ocode when compiling with 32 bit BCPL with
a 32 bit target is:

DATALAB L10
ITEMN #AABBCCDD  // This is the value of static variable Stat.
DATALAB L11
ITEMN #3F800000  // This is the value of statics variable One.
ENTRY L12 5  's' 't' 'a' 'r' 't'
SAVE 3

LN 15            // LET a, b, c = 15, #xAABB, #xAABBCCDD
LN 43707
LN #AABBCCDD
STORE

LP 4            // SWITCHON a+b INTO
LP 3
ADD
RES L13

LAB L15         // { DEFAULT: RESULTIS 0
LN 0               
FNRN

LAB L16         //   CASE 1:  a := "ABCDEFGH"; RESULTIS 1
LSTR 8  'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H'
SP 3
LN 1
FNRN

LAB L17         // CASE 2:  a := #xABCD;     RESULTIS 2
LN 43981
SP 3
LN 2
FNRN

LAB L18         // CASE 3:  a := 3;          RESULTIS 3
LN 3
SP 3
LN 3
FNRN

LAB L19         // CASE 4:  a := 4;          RESULTIS 4
LN 4
SP 3
LN 4
FNRN

LAB L20         // CASE 5:  a := 5;          RESULTIS 5
LN 5
SP 3
LN 5
FNRN

LAB L21         // CASE 6:  a := 6;          RESULTIS 6
LN 6
SP 3
LN 6
FNRN

LAB L22         // CASE 7:  a := 7;          RESULTIS 7
LN 7
SP 3
LN 7
FNRN

LAB L23         // CASE 8:  a := 8;          RESULTIS 8
LN 8
SP 3
LN 8
FNRN

LAB L24         // CASE 9:  a := 9;          RESULTIS 9
LN 9
SP 3
LN 9
FNRN

LAB L13              // Destination of RES L13
RSTACK 6
SWITCHON 9 L15       // 9 case with default label L15
       9   L24       // The cse constant-label pairs
       8   L23
       7   L22
       6   L21
       5   L20
       4   L19
       3   L18
       2   L17
       1   L16

LAB L14
LN 0
FNRN

STACK 3
LN 0                 // RESULTIS 0
FNRN
ENDPROC

STACK 3
STORE
GLOBAL 1             // Global initialisation data
       1   L12       // Entry point of Global 1 is L12

The corresponding Cintcode is:

       000003E8               // Hunk
       00000022               // Size 34 words

   0: 00000022  DATAW #x00000000       // Will be the length of the object module
   4: 0000DFDF  DATAW #x0000DFDF       // Marker for the code of function start
   8: 6174730B  DATAW #x6174730B
  12: 20207472  DATAW #x20207472
  16: 20202020  DATAW #x20202020

// Entry to:   start      
  20: L12:
  20: 60        L   15             // { LET a, b, c = 15, #xAABB, #xAABBCCDD
      0F
  22: A3        SP3  
  23: 61        LH  43707
      BB                           // Little ender AABB
      AA
  26: A4        SP4  
  27: 62        LW  #xAABBCCDD
      DD                           // Little ender AABBCCDD
      CC
      BB
      AA
  32: A5        SP5  

  33: 83        LP3                  // SWITCHON a+b INTO
  34: C4        AP4  
  35: BA        J  L13      =71       // Jump to the implementation of the switch
      23                  36+35=71
	    
  37:          L15:                    // { DEFAULT: RESULTIS 0
  37: 10        L0  
  38: 7B        RTN  

  39:          L16:                    //   CASE 1: a := "ABCDEFGH"; RESULTIS 1
  39: 5A        LLL  L19920    =108
      44                       40+68=108
  41: A3        SP3  
  42: 11        L1  
  43: 7B        RTN  

  44:          L17:                    //    CASE 2: a := #xABCD;   RESULTIS 2
  44: 61        LH  43981
      CD
      AB
  47: A3        SP3  
  48: 12        L2  
  49: 7B        RTN  

  50:          L18:
  50: 13        L3  
  51: A3        SP3  
  52: 7B        RTN  

  53:          L19:
  53: 14        L4  
  54: A3        SP3  
  55: 7B        RTN  

  56:          L20:
  56: 15        L5  
  57: A3        SP3  
  58: 7B        RTN  

  59:          L21:
  59: 16        L6
  60: A3        SP3  
  61: 7B        RTN  

  62:          L22:
  62: 17        L7  
  63: A3        SP3
  64: 7B        RTN  

  65:          L23:
  65: 18        L8  
  66: A3        SP3  
  67: 7B        RTN  

  68:          L24:
  68: 19        L9  
  69: A3        SP3  
  70: 7B        RTN  

  71:          L13:
  71: 93        SWL  
  72: 0A        DATAH 10
      00
  74: DB        DATAH L15-$      =37
      FF                         74-37=37
  76: D9        DATAH L15-$
      FF
  78: D9        DATAH L16-$
      FF
  80: DC        DATAH L17-$
      FF
  82: E0        DATAH L18-$
      FF
  84: E1        DATAH L19-$
      FF
  86: E2        DATAH L20-$
      FF
  88: E3        DATAH L21-$
      FF
  90: E4        DATAH L22-$
      FF
  92: E5        DATAH L23-$
      FF
  94: E6        DATAH L24-$

  96:          L14:
  96: 10        L0                  // RESULTIS 0
  97: 7B        RTN  
      00                            // alignment bytes
      00
 100:          L10:                 // STATIC { 
 100: AABBCCDD  DATAW #xAABBCCDD    //          Stat = #xAABBCCDD
 104:          L11:
 104: 3F800000  DATAW #x3F800000    //          One = 1.0
                                              }
 108:          L19920:              // The string "ABCDEFGH"
 108: 43424108  DATAW #x43424108
 112: 47464544  DATAW #x47464544
 116: 00000048  DATAW #x00000048
 
 120: 00000000  DATAW #x00000000    // Global initialisaion data
 124: 00000001  DATAW #x00000001    // Global 1 has entry point #x14 (=20) 
 128: 00000014  DATAW #x00000014
 132: 00000001  DATAW #x00000001
Code size =   136 bytes of 32-bit little ender Cintcode

The corresponding 32 bit little ender Cintcode is:

000003E8 00000022 
00000022 0000DFDF 6174730B 20207472 20202020 61A30F60 62A4AABB AABBCCDD 
BAC483A5 5A7B1023 7B11A344 A3ABCD61 A3137B12 7BA3147B 167BA315 A3177BA3 
7BA3187B 937BA319 FFDB000A FFD9FFD9 FFE0FFDC FFE2FFE1 FFE4FFE3 FFE6FFE5 
00007B10 AABBCCDD 3F800000 43424108 47464544 00000048 00000000 00000001 
00000014 00000001 

The corresponding 32 bit big ender Cintcode is:

000003E8 00000022 
00000022 0000DFDF 0B737461 72742020 20202020 600FA361 AABBA462 AABBCCDD 
A583C4BA 23107B5A 44A3117B 61ABCDA3 127B13A3 7B14A37B 15A37B16 A37B17A3 
7B18A37B 19A37B93 000AFFDB FFD9FFD9 FFDCFFE0 FFE1FFE2 FFE3FFE4 FFE5FFE6 
107B0000 AABBCCDD 3F800000 08414243 44454647 48000000 00000000 00000001 
00000014 00000001 



When using 32 bit BCPL with a 64 bit target the Ocode is as follow:

DATALAB L10
ITEMN #AABBCCDD
DATALAB L11
ITEMFLT #3F800000                         was ITEMN #3F800000
ENTRY L12 5  's' 't' 'a' 'r' 't'
SAVE 3
LN 15
LN 43707
LN #AABBCCDD
STORE
LP 4
LP 3
ADD
RES L13
LAB L15
LN 0
FNRN
LAB L16
LSTR 8  'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H'
SP 3
LN 1
FNRN
LAB L17
LN 43981
SP 3
LN 2
FNRN
LAB L18
LN 3
SP 3
LN 3
FNRN
LAB L19
LN 4
SP 3
LN 4
FNRN
LAB L20
LN 5
SP 3
LN 5
FNRN
LAB L21
LN 6
SP 3
LN 6
FNRN
LAB L22
LN 7
SP 3
LN 7
FNRN
LAB L23
LN 8
SP 3
LN 8
FNRN
LAB L24
LN 9
SP 3
LN 9
FNRN
LAB L13
RSTACK 6
SWITCHON 9 L15
       9   L24
       8   L23
       7   L22
       6   L21
       5   L20
       4   L19
       3   L18
       2   L17
       1   L16

LAB L14
LN 0
FNRN
STACK 3
LN 0
FNRN
ENDPROC
STACK 3
STORE
GLOBAL 1
       1   L12

The corresponding 64 bit Cintcode is:

   0:  DATAW #x0000000000000000
   8:  DATAW #x000000000000DFDF
  16:  DATAW #x202074726174730B
  24:  DATAW #x0000000020202020
// Entry to:   start      
  32: L12:
  32:      L   15
  34:    SP3  
  35:     LH  43707
  38:    SP4  
  39:     LW  #xAABBCCDD
  44:    SP5  
  45:    LP3  
  46:    AP4  
  47:      J  L13
  49: L15:
  49:     L0  
  50:    RTN  
  51: L16:
  51:    LLL  L19920
  53:    SP3  
  54:     L1  
  55:    RTN  
  56: L17:
  56:     LH  43981
  59:    SP3  
  60:     L2  
  61:    RTN  
  62: L18:
  62:     L3  
  63:    SP3  
  64:    RTN  
  65: L19:
  65:     L4  
  66:    SP3  
  67:    RTN  
  68: L20:
  68:     L5  
  69:    SP3  
  70:    RTN  
  71: L21:
  71:     L6  
  72:    SP3  
  73:    RTN  
  74: L22:
  74:     L7  
  75:    SP3  
  76:    RTN  
  77: L23:
  77:     L8  
  78:    SP3  
  79:    RTN  
  80: L24:
  80:     L9  
  81:    SP3  
  82:    RTN  
  83: L13:
  83:    SWL  
  84:  DATAH 10
  86:  DATAH L15-$
  88:  DATAH L15-$
  90:  DATAH L16-$
  92:  DATAH L17-$
  94:  DATAH L18-$
  96:  DATAH L19-$
  98:  DATAH L20-$
 100:  DATAH L21-$
 102:  DATAH L22-$
 104:  DATAH L23-$
 106:  DATAH L24-$
 108: L14:
 108:     L0  
 109:    RTN  
 112: L10:
 112:  DATAW #xFFFFFFFFAABBCCDD
 120: L11:
 120:  DATAW #x0000000000000000
 128: L19920:
 128:  DATAW #x4746454443424108
 136:  DATAW #x0000000000000048
 144:  DATAW #x0000000000000000
 152:  DATAW #x0000000000000001
 160:  DATAW #x0000000000000020
 168:  DATAW #x0000000000000001
Code size =   176 bytes of 64-bit little ender Cintcode

The corresponding object code is:

00000000000007D0 0000000000000016 
0000000000000016 000000000000DFDF 202074726174730B 0000000020202020 
62A4AABB61A30F60 BAC483A5AABBCCDD 7B11A34C5A7B1023 A3137B12A3ABCD61 
167BA3157BA3147B 7BA3187BA3177BA3 FFDB000A937BA319 FFE0FFDCFFD9FFD9 
FFE4FFE3FFE2FFE1 00007B10FFE6FFE5 FFFFFFFFAABBCCDD 0000000000000000 
4746454443424108 0000000000000048 0000000000000000 0000000000000001 
0000000000000020 0000000000000001 

When using 64 bit BCPL with a 32 bit target th Ocode is:

DATALAB L10
ITEMN #AABBCCDD
DATALAB L11
ITEMN #00000000
ENTRY L12 5  's' 't' 'a' 'r' 't'
SAVE 3
LN 15
LN 43707
LN #AABBCCDD
STORE
LP 4
LP 3
ADD
RES L13
LAB L15
LN 0
FNRN
LAB L16
LSTR 8  'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H'
SP 3
LN 1
FNRN
LAB L17
LN 43981
SP 3
LN 2
FNRN
LAB L18
LN 3
SP 3
LN 3
FNRN
LAB L19
LN 4
SP 3
LN 4
FNRN
LAB L20
LN 5
SP 3
LN 5
FNRN
LAB L21
LN 6
SP 3
LN 6
FNRN
LAB L22
LN 7
SP 3
LN 7
FNRN
LAB L23
LN 8
SP 3
LN 8
FNRN
LAB L24
LN 9
SP 3
LN 9
FNRN
LAB L13
RSTACK 6
SWITCHON 9 L15
       9   L24
       8   L23
       7   L22
       6   L21
       5   L20
       4   L19
       3   L18
       2   L17
       1   L16

LAB L14
LN 0
FNRN
STACK 3
LN 0
FNRN
ENDPROC
STACK 3
STORE
GLOBAL 1
       1   L12

The corresponding 32 bitcintcode is:

   0:  DATAW #x00000000
   4:  DATAW #x0000DFDF
   8:  DATAW #x6174730B
  12:  DATAW #x20207472
  16:  DATAW #x20202020
// Entry to:   start      
  20: L12:
  20:      L   15
  22:    SP3  
  23:     LH  43707
  26:    SP4  
  27:     LW  #xAABBCCDD
  32:    SP5  
  33:    LP3  
  34:    AP4  
  35:      J  L13
  37: L15:
  37:     L0  
  38:    RTN  
  39: L16:
  39:    LLL  L19920
  41:    SP3  
  42:     L1  
  43:    RTN  
  44: L17:
  44:     LH  43981
  47:    SP3  
  48:     L2  
  49:    RTN  
  50: L18:
  50:     L3  
  51:    SP3  
  52:    RTN  
  53: L19:
  53:     L4  
  54:    SP3  
  55:    RTN  
  56: L20:
  56:     L5  
  57:    SP3  
  58:    RTN  
  59: L21:
  59:     L6  
  60:    SP3  
  61:    RTN  
  62: L22:
  62:     L7  
  63:    SP3  
  64:    RTN  
  65: L23:
  65:     L8  
  66:    SP3  
  67:    RTN  
  68: L24:
  68:     L9  
  69:    SP3  
  70:    RTN  
  71: L13:
  71:    SWL  
  72:  DATAH 10
  74:  DATAH L15-$
  76:  DATAH L15-$
  78:  DATAH L16-$
  80:  DATAH L17-$
  82:  DATAH L18-$
  84:  DATAH L19-$
  86:  DATAH L20-$
  88:  DATAH L21-$
  90:  DATAH L22-$
  92:  DATAH L23-$
  94:  DATAH L24-$
  96: L14:
  96:     L0  
  97:    RTN  
 100: L10:
 100:  DATAW #xAABBCCDD
 104: L11:
 104:  DATAW #x00000000
 108: L19920:
 108:  DATAW #x43424108
 112:  DATAW #x47464544
 116:  DATAW #x00000048
 120:  DATAW #x00000000
 124:  DATAW #x00000001
 128:  DATAW #x00000014
 132:  DATAW #x00000001
Code size =   136 bytes of 32-bit little ender Cintcode

The object code is:

000003E8 00000022 
00000022 0000DFDF 6174730B 20207472 20202020 61A30F60 62A4AABB AABBCCDD 
BAC483A5 5A7B1023 7B11A344 A3ABCD61 A3137B12 7BA3147B 167BA315 A3177BA3 
7BA3187B 937BA319 FFDB000A FFD9FFD9 FFE0FFDC FFE2FFE1 FFE4FFE3 FFE6FFE5 
00007B10 AABBCCDD 00000000 43424108 47464544 00000048 00000000 00000001 
00000014 00000001 

When using 64 bit BCPL with a 64 bit target the Ocode is:

DATALAB L10
ITEMN #AABBCCDD
DATALAB L11
ITEMN #00000000
ENTRY L12 5  's' 't' 'a' 'r' 't'
SAVE 3
LN 15
LN 43707
LN #AABBCCDD
STORE
LP 4
LP 3
ADD
RES L13
LAB L15
LN 0
FNRN
LAB L16
LSTR 8  'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H'
SP 3
LN 1
FNRN
LAB L17
LN 43981
SP 3
LN 2
FNRN
LAB L18
LN 3
SP 3
LN 3
FNRN
LAB L19
LN 4
SP 3
LN 4
FNRN
LAB L20
LN 5
SP 3
LN 5
FNRN
LAB L21
LN 6
SP 3
LN 6
FNRN
LAB L22
LN 7
SP 3
LN 7
FNRN
LAB L23
LN 8
SP 3
LN 8
FNRN
LAB L24
LN 9
SP 3
LN 9
FNRN
LAB L13
RSTACK 6
SWITCHON 9 L15
       9   L24
       8   L23
       7   L22
       6   L21
       5   L20
       4   L19
       3   L18
       2   L17
       1   L16

LAB L14
LN 0
FNRN
STACK 3
LN 0
FNRN
ENDPROC
STACK 3
STORE
GLOBAL 1
       1   L12

The 64 bit Cintcode is:

   0:  DATAW #x0000000000000000
   8:  DATAW #x000000000000DFDF
  16:  DATAW #x202074726174730B
  24:  DATAW #x0000000020202020
// Entry to:   start      
  32: L12:
  32:      L   15
  34:    SP3  
  35:     LH  43707
  38:    SP4  
  39:     MW  #x00000001
  44:     LW  #xAABBCCDD
  49:    SP5  
  50:    LP3  
  51:    AP4  
  52:      J  L13
  54: L15:
  54:     L0  
  55:    RTN  
  56: L16:
  56:    LLL  L19920
  58:    SP3  
  59:     L1  
  60:    RTN  
  61: L17:
  61:     LH  43981
  64:    SP3  
  65:     L2  
  66:    RTN  
  67: L18:
  67:     L3  
  68:    SP3  
  69:    RTN  
  70: L19:
  70:     L4  
  71:    SP3  
  72:    RTN  
  73: L20:
  73:     L5  
  74:    SP3  
  75:    RTN  
  76: L21:
  76:     L6  
  77:    SP3  
  78:    RTN  
  79: L22:
  79:     L7  
  80:    SP3  
  81:    RTN  
  82: L23:
  82:     L8  
  83:    SP3  
  84:    RTN  
  85: L24:
  85:     L9  
  86:    SP3  
  87:    RTN  
  88: L13:
fillref_d: a=52 p=88 instr=[186,35]
  88:    SWL  
  90:  DATAH 10
  92:  DATAH L15-$
  94:  DATAH L15-$
  96:  DATAH L16-$
  98:  DATAH L17-$
 100:  DATAH L18-$
 102:  DATAH L19-$
 104:  DATAH L20-$
 106:  DATAH L21-$
 108:  DATAH L22-$
 110:  DATAH L23-$
 112:  DATAH L24-$
 114: L14:
 114:     L0  
 115:    RTN  
 120: L10:
 120:  DATAW #x00000000AABBCCDD
 128: L11:
 128:  DATAW #x3FF0000000000000
 136: L19920:
 136:  DATAW #x4746454443424108
 144:  DATAW #x0000000000000048
 152:  DATAW #x0000000000000000
 160:  DATAW #x0000000000000001
 168:  DATAW #x0000000000000020
 176:  DATAW #x0000000000000001
Code size =   184 bytes of 64-bit little ender Cintcode

The object code is:


00000000000007D0 0000000000000017 
0000000000000017 000000000000DFDF 202074726174730B 0000000020202020 
DFA4AABB61A30F60 BBCCDD6200000001 7B1023BAC483A5AA ABCD617B11A34F5A 
A3147BA3137B12A3 177BA3167BA3157B 7BA3197BA3187BA3 FFD8FFDA000A0093 
FFE0FFDFFFDBFFD8 FFE4FFE3FFE2FFE1 000000007B10FFE5 00000000AABBCCDD 
3FF0000000000000 4746454443424108 0000000000000048 0000000000000000 
0000000000000001 0000000000000020 0000000000000001 

32 bit BCPL to 32 bit target oender Ocode:

DATALAB L10
ITEMN #AABBCCDD
DATALAB L11
ITEMN #3F800000
ENTRY L12 5  's' 't' 'a' 'r' 't'
SAVE 3
LN 15
LN 43707
LN #AABBCCDD
STORE
LP 4
LP 3
ADD
RES L13
LAB L15
LN 0
FNRN
LAB L16
LSTR 8  'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H'
SP 3
LN 1
FNRN
LAB L17
LN 43981
SP 3
LN 2
FNRN
LAB L18
LN 3
SP 3
LN 3
FNRN
LAB L19
LN 4
SP 3
LN 4
FNRN
LAB L20
LN 5
SP 3
LN 5
FNRN
LAB L21
LN 6
SP 3
LN 6
FNRN
LAB L22
LN 7
SP 3
LN 7
FNRN
LAB L23
LN 8
SP 3
LN 8
FNRN
LAB L24
LN 9
SP 3
LN 9
FNRN
LAB L13
RSTACK 6
SWITCHON 9 L15
       9   L24
       8   L23
       7   L22
       6   L21
       5   L20
       4   L19
       3   L18
       2   L17
       1   L16

LAB L14
LN 0
FNRN
STACK 3
LN 0
FNRN
ENDPROC
STACK 3
STORE
GLOBAL 1
       1   L12

t13232.cinoender

lasttrngn=412   cgg=425
   0:  DATAW #x00000000
   4:  DATAW #x0000DFDF
   8:  DATAW #x0B737461
  12:  DATAW #x72742020
  16:  DATAW #x20202020
// Entry to:   start      
  20: L12:
  20:      L   15
  22:    SP3  
  23:     LH  43707
  26:    SP4  
  27:     LW  #xAABBCCDD
  32:    SP5  
  33:    LP3  
  34:    AP4  
  35:      J  L13
  37: L15:
  37:     L0  
  38:    RTN  
  39: L16:
  39:    LLL  L19920
  41:    SP3  
  42:     L1  
  43:    RTN  
  44: L17:
  44:     LH  43981
  47:    SP3  
  48:     L2  
  49:    RTN  
  50: L18:
  50:     L3  
  51:    SP3  
  52:    RTN  
  53: L19:
  53:     L4  
  54:    SP3  
  55:    RTN  
  56: L20:
  56:     L5  
  57:    SP3  
  58:    RTN  
  59: L21:
  59:     L6  
  60:    SP3  
  61:    RTN  
  62: L22:
  62:     L7  
  63:    SP3  
  64:    RTN  
  65: L23:
  65:     L8  
  66:    SP3  
  67:    RTN  
  68: L24:
  68:     L9  
  69:    SP3  
  70:    RTN  
  71: L13:
fillref_d: a=35 p=71 instr=[186,35]
  71:    SWL  
  72:  DATAH 10
  74:  DATAH L15-$
  76:  DATAH L15-$
  78:  DATAH L16-$
  80:  DATAH L17-$
  82:  DATAH L18-$
  84:  DATAH L19-$
  86:  DATAH L20-$
  88:  DATAH L21-$
  90:  DATAH L22-$
  92:  DATAH L23-$
  94:  DATAH L24-$
  96: L14:
  96:     L0  
  97:    RTN  
 100: L10:
 100:  DATAW #xAABBCCDD
 104: L11:
 104:  DATAW #x3F800000
 108: L19920:
fillref_d: a=39 p=108 instr=[90,68]
 108:  DATAW #x08414243
 112:  DATAW #x44454647
 116:  DATAW #x48000000
 120:  DATAW #x00000000
 124:  DATAW #x00000001
 128:  DATAW #x00000014
 132:  DATAW #x00000001
Code size =   136 bytes of 32-bit big ender Cintcode

Target code t1.3232 oender

000003E8 00000022 
00000022 0000DFDF 0B737461 72742020 20202020 600FA361 AABBA462 AABBCCDD 
A583C4BA 23107B5A 44A3117B 61ABCDA3 127B13A3 7B14A37B 15A37B16 A37B17A3 
7B18A37B 19A37B93 000AFFDB FFD9FFD9 FFDCFFE0 FFE1FFE2 FFE3FFE4 FFE5FFE6 
107B0000 AABBCCDD 3F800000 08414243 44454647 48000000 00000000 00000001 
00000014 00000001 

