diff options
Diffstat (limited to 'system/dos/1986/src/eumel-ebcdic + sub')
| -rw-r--r-- | system/dos/1986/src/eumel-ebcdic + sub | 550 | 
1 files changed, 550 insertions, 0 deletions
diff --git a/system/dos/1986/src/eumel-ebcdic + sub b/system/dos/1986/src/eumel-ebcdic + sub new file mode 100644 index 0000000..5a571cb --- /dev/null +++ b/system/dos/1986/src/eumel-ebcdic + sub @@ -0,0 +1,550 @@ +PACKET eumel ebcdic DEFINES                    (* Copyright (c) 1986 *)
 +                                               (* Frank Klapper      *)
 +                                               (* 19.02.86           *)
 +  ebcdic to eumel with substitution,
 +  eumel to ebcdic with substitution:
 +
 +TEXT VAR bild;
 +
 +PROC eumel to ebcdic with substitution (TEXT VAR string):
 +  bild := "";
 +  INT VAR pos;
 +  FOR pos FROM 1 UPTO LENGTH string REP
 +    bild CAT conversion
 +  PER;
 +  string := bild.
 +
 +conversion:
 +  SELECT code (string SUB pos) OF
 +    CASE   0: "{"240""240""240"{"
 +    CASE   1: "{"240""240""241"{"
 +    CASE   2: "{"240""240""242"{"
 +    CASE   3: "{"240""240""243"{"
 +    CASE   4: "{"240""240""244"{"
 +    CASE   5: "{"240""240""245"{"
 +    CASE   6: "{"240""240""246"{"
 +    CASE   7: "{"240""240""247"{"
 +    CASE   8: "{"240""240""248"{"
 +    CASE   9: "{"240""240""249"{"
 +    CASE  10: "%"
 +    CASE  11: "{"240""241""241"{"
 +    CASE  12: ""12""
 +    CASE  13: ""13""
 +    CASE  14: "{"240""241""244"{"
 +    CASE  15: "{"240""241""245"{"
 +    CASE  16: "{"240""241""246"{"
 +    CASE  17: "{"240""241""247"{"
 +    CASE  18: "{"240""241""248"{"
 +    CASE  19: "{"240""241""249"{"
 +    CASE  20: "{"240""242""240"{"
 +    CASE  21: "{"240""242""241"{"
 +    CASE  22: "{"240""242""242"{"
 +    CASE  23: "{"240""242""243"{"
 +    CASE  24: "{"240""242""244"{"
 +    CASE  25: "{"240""242""245"{"
 +    CASE  26: "{"240""242""246"{"
 +    CASE  27: "{"240""242""247"{"
 +    CASE  28: "{"240""242""248"{"
 +    CASE  29: "{"240""242""249"{"
 +    CASE  30: "{"240""243""240"{"
 +    CASE  31: "{"240""243""241"{"
 +    CASE  32: "@"
 +    CASE  33: "O" 
 +    CASE  34: ""
 +    CASE  35: "{"
 +    CASE  36: "{"240""243""246"{"
 +    CASE  37: "l"
 +    CASE  38: "P" 
 +    CASE  39: "}"
 +    CASE  40: "M" 
 +    CASE  41: "]" 
 +    CASE  42: "\" 
 +    CASE  43: "N" 
 +    CASE  44: "k"
 +    CASE  45: "`" 
 +    CASE  46: "K" 
 +    CASE  47: "a" 
 +    CASE  48: ""240""
 +    CASE  49: ""241""
 +    CASE  50: ""242""
 +    CASE  51: ""243""
 +    CASE  52: ""244""
 +    CASE  53: ""245""
 +    CASE  54: ""246""
 +    CASE  55: ""247""
 +    CASE  56: ""248""
 +    CASE  57: ""249""
 +    CASE  58: "z"
 +    CASE  59: "^" 
 +    CASE  60: "L" 
 +    CASE  61: "~"
 +    CASE  62: "n"
 +    CASE  63: "o"
 +    CASE  64: "|"
 +    CASE  65: ""
 +    CASE  66: ""
 +    CASE  67: ""
 +    CASE  68: ""
 +    CASE  69: ""
 +    CASE  70: ""
 +    CASE  71: ""
 +    CASE  72: ""
 +    CASE  73: ""
 +    CASE  74: ""
 +    CASE  75: ""
 +    CASE  76: ""
 +    CASE  77: ""
 +    CASE  78: ""
 +    CASE  79: ""
 +    CASE  80: ""
 +    CASE  81: ""
 +    CASE  82: ""
 +    CASE  83: ""226""
 +    CASE  84: ""227""
 +    CASE  85: ""228""
 +    CASE  86: ""229""
 +    CASE  87: ""230""
 +    CASE  88: ""231""
 +    CASE  89: ""232""
 +    CASE  90: ""233""
 +    CASE  91: "J"
 +    CASE  92: ""224""
 +    CASE  93: "Z"
 +    CASE  94: "{"240""249""244"{"
 +    CASE  95: "m"
 +    CASE  96: "y"
 +    CASE  97: ""
 +    CASE  98: ""
 +    CASE  99: ""
 +    CASE 100: ""
 +    CASE 101: ""
 +    CASE 102: ""
 +    CASE 103: ""
 +    CASE 104: ""
 +    CASE 105: ""
 +    CASE 106: ""
 +    CASE 107: ""
 +    CASE 108: ""
 +    CASE 109: ""
 +    CASE 110: ""
 +    CASE 111: ""
 +    CASE 112: ""
 +    CASE 113: ""
 +    CASE 114: ""
 +    CASE 115: ""
 +    CASE 116: ""
 +    CASE 117: ""
 +    CASE 118: ""
 +    CASE 119: ""
 +    CASE 120: ""
 +    CASE 121: ""
 +    CASE 122: ""
 +    CASE 123: ""
 +    CASE 124: "{"241""242""244"{"
 +    CASE 125: ""
 +    CASE 126: ""
 +    CASE 127: "{"241""242""247"{"
 +    CASE 128: "{"241""242""248"{"
 +    CASE 129: "{"241""242""249"{"
 +    CASE 130: "{"241""243""240"{"
 +    CASE 131: "{"241""243""241"{"
 +    CASE 132: "{"241""243""242"{"
 +    CASE 133: "{"241""243""243"{"
 +    CASE 134: "{"241""243""244"{"
 +    CASE 135: "{"241""243""245"{"
 +    CASE 136: "{"241""243""246"{"
 +    CASE 137: "{"241""243""247"{"
 +    CASE 138: "{"241""243""248"{"
 +    CASE 139: "{"241""243""249"{"
 +    CASE 140: "{"241""244""240"{"
 +    CASE 141: "{"241""244""241"{"
 +    CASE 142: "{"241""244""242"{"
 +    CASE 143: "{"241""244""243"{"
 +    CASE 144: "{"241""244""244"{"
 +    CASE 145: "{"241""244""245"{"
 +    CASE 146: "{"241""244""246"{"
 +    CASE 147: "{"241""244""247"{"
 +    CASE 148: "{"241""244""248"{"
 +    CASE 149: "{"241""244""249"{"
 +    CASE 150: "{"241""245""240"{"
 +    CASE 151: "{"241""245""241"{"
 +    CASE 152: "{"241""245""242"{"
 +    CASE 153: "{"241""245""243"{"
 +    CASE 154: "{"241""245""244"{"
 +    CASE 155: "{"241""245""245"{"
 +    CASE 156: "{"241""245""246"{"
 +    CASE 157: "{"241""245""247"{"
 +    CASE 158: "{"241""245""248"{"
 +    CASE 159: "{"241""245""249"{"
 +    CASE 160: "{"241""246""240"{"
 +    CASE 161: "{"241""246""241"{"
 +    CASE 162: "{"241""246""242"{"
 +    CASE 163: "{"241""246""243"{"
 +    CASE 164: "{"241""246""244"{"
 +    CASE 165: "{"241""246""245"{"
 +    CASE 166: "{"241""246""246"{"
 +    CASE 167: "{"241""246""247"{"
 +    CASE 168: "{"241""246""248"{"
 +    CASE 169: "{"241""246""249"{"
 +    CASE 170: "{"241""247""240"{"
 +    CASE 171: "{"241""247""241"{"
 +    CASE 172: "{"241""247""242"{"
 +    CASE 173: "{"241""247""243"{"
 +    CASE 174: "{"241""247""244"{"
 +    CASE 175: "{"241""247""245"{"
 +    CASE 176: "{"241""247""246"{"
 +    CASE 177: "{"241""247""247"{"
 +    CASE 178: "{"241""247""248"{"
 +    CASE 179: "{"241""247""249"{"
 +    CASE 180: "{"241""248""240"{"
 +    CASE 181: "{"241""248""241"{"
 +    CASE 182: "{"241""248""242"{"
 +    CASE 183: "{"241""248""243"{"
 +    CASE 184: "{"241""248""244"{"
 +    CASE 185: "{"241""248""245"{"
 +    CASE 186: "{"241""248""246"{"
 +    CASE 187: "{"241""248""247"{"
 +    CASE 188: "{"241""248""248"{"
 +    CASE 189: "{"241""248""249"{"
 +    CASE 190: "{"241""249""240"{"
 +    CASE 191: "{"241""249""241"{"
 +    CASE 192: "{"241""249""242"{"
 +    CASE 193: "{"241""249""243"{"
 +    CASE 194: "{"241""249""244"{"
 +    CASE 195: "{"241""249""245"{"
 +    CASE 196: "{"241""249""246"{"
 +    CASE 197: "{"241""249""247"{"
 +    CASE 198: "{"241""249""248"{"
 +    CASE 199: "{"241""249""249"{"
 +    CASE 200: "{"242""240""240"{"
 +    CASE 201: "{"242""240""241"{"
 +    CASE 202: "{"242""240""242"{"
 +    CASE 203: "{"242""240""243"{"
 +    CASE 204: "{"242""240""244"{"
 +    CASE 205: "{"242""240""245"{"
 +    CASE 206: "{"242""240""246"{"
 +    CASE 207: "{"242""240""247"{"
 +    CASE 208: "{"242""240""248"{"
 +    CASE 209: "{"242""240""249"{"
 +    CASE 210: "{"242""241""240"{"
 +    CASE 211: "{"242""241""241"{"
 +    CASE 212: "{"242""241""242"{"
 +    CASE 213: "{"242""241""243"{"
 +    CASE 214: "{"242""241""244"{"
 +    CASE 215: "{"242""241""245"{"
 +    CASE 216: "{"242""241""246"{"
 +    CASE 217: "{"242""241""247"{"
 +    CASE 218: "{"242""241""248"{"
 +    CASE 219: "{"242""241""249"{"
 +    CASE 220: ""
 +    CASE 221: "`" 
 +    CASE 222: "{"
 +    CASE 223: "@"
 +    CASE 224: "{"242""242""244"{"
 +    CASE 225: "{"242""242""245"{"
 +    CASE 226: "{"242""242""246"{"
 +    CASE 227: "{"242""242""247"{"
 +    CASE 228: "{"242""242""248"{"
 +    CASE 229: "{"242""242""249"{"
 +    CASE 230: "{"242""243""240"{"
 +    CASE 231: "{"242""243""241"{"
 +    CASE 232: "{"242""243""242"{"
 +    CASE 233: "{"242""243""243"{"
 +    CASE 234: "{"242""243""244"{"
 +    CASE 235: "{"242""243""245"{"
 +    CASE 236: "{"242""243""246"{"
 +    CASE 237: "{"242""243""247"{"
 +    CASE 238: "{"242""243""248"{"
 +    CASE 239: "{"242""243""249"{"
 +    CASE 240: "{"242""244""240"{"
 +    CASE 241: "{"242""244""241"{"
 +    CASE 242: "{"242""244""242"{"
 +    CASE 243: "{"242""244""243"{"
 +    CASE 244: "{"242""244""244"{"
 +    CASE 245: "{"242""244""245"{"
 +    CASE 246: "{"242""244""246"{"
 +    CASE 247: "{"242""244""247"{"
 +    CASE 248: "{"242""244""248"{"
 +    CASE 249: "{"242""244""249"{"
 +    CASE 250: "{"242""245""240"{"
 +    CASE 251: "{"242""245""241"{"
 +    CASE 252: "{"242""245""242"{"
 +    CASE 253: "{"242""245""243"{"
 +    CASE 254: "{"242""245""244"{"
 +    CASE 255: "{"242""245""245"{"
 +    OTHERWISE ""
 +  END SELECT.
 +
 +END PROC eumel to ebcdic with substitution;
 +
 +PROC ebcdic to eumel with substitution (TEXT VAR string):
 +  bild := "";
 +  INT VAR pos;
 +  FOR pos FROM 1 UPTO LENGTH string REP
 +    bild CAT conversion
 +  PER;
 +  string := bild.
 +
 +conversion:
 +  SELECT code (string SUB pos) OF
 +    CASE   0: "#000#"
 +    CASE   1: "#001#"
 +    CASE   2: "#002#"
 +    CASE   3: "#003#"
 +    CASE   4: "#004#"
 +    CASE   5: "#005#"
 +    CASE   6: "#006#"
 +    CASE   7: "#007#"
 +    CASE   8: "#008#"
 +    CASE   9: "#009#"
 +    CASE  10: "#010#"
 +    CASE  11: "#011#"
 +    CASE  12: "#012#"
 +    CASE  13: "#013#"
 +    CASE  14: "#014#"
 +    CASE  15: "#015#"
 +    CASE  16: "#016#"
 +    CASE  17: "#017#"
 +    CASE  18: "#018#"
 +    CASE  19: "#019#"
 +    CASE  20: "#020#"
 +    CASE  21: "#021#"
 +    CASE  22: "#022#"
 +    CASE  23: "#023#"
 +    CASE  24: "#024#"
 +    CASE  25: "#025#"
 +    CASE  26: "#026#"
 +    CASE  27: "#027#"
 +    CASE  28: "#028#"
 +    CASE  29: "#029#"
 +    CASE  30: "#030#"
 +    CASE  31: "#031#"
 +    CASE  32: "#032#"
 +    CASE  33: "#033#"
 +    CASE  34: "#034#"
 +    CASE  35: "#035#"
 +    CASE  36: "#036#"
 +    CASE  37: "#037#"
 +    CASE  38: "#038#"
 +    CASE  39: "#039#"
 +    CASE  40: "#040#"
 +    CASE  41: "#041#"
 +    CASE  42: "#042#"
 +    CASE  43: "#043#"
 +    CASE  44: "#044#"
 +    CASE  45: "#045#"
 +    CASE  46: "#046#"
 +    CASE  47: "#047#"
 +    CASE  48: "#048#"
 +    CASE  49: "#049#"
 +    CASE  50: "#050#"
 +    CASE  51: "#051#"
 +    CASE  52: "#052#"
 +    CASE  53: "#053#"
 +    CASE  54: "#054#"
 +    CASE  55: "#055#"
 +    CASE  56: "#056#"
 +    CASE  57: "#057#"
 +    CASE  58: "#058#"
 +    CASE  59: "#059#"
 +    CASE  60: "#060#"
 +    CASE  61: "#061#"
 +    CASE  62: "#062#"
 +    CASE  63: "#063#"
 +    CASE  64: "#064#"
 +    CASE  65: "#065#"
 +    CASE  66: "#066#"
 +    CASE  67: "#067#"
 +    CASE  68: "#068#"
 +    CASE  69: "#069#"
 +    CASE  70: "#070#"
 +    CASE  71: "#071#"
 +    CASE  72: "#072#"
 +    CASE  73: "#073#"
 +    CASE  74: "["
 +    CASE  75: "."
 +    CASE  76: "<"
 +    CASE  77: "("
 +    CASE  78: "+"
 +    CASE  79: "!"
 +    CASE  80: "&"
 +    CASE  81: "#081#"
 +    CASE  82: "#082#"
 +    CASE  83: "#083#"
 +    CASE  84: "#084#"
 +    CASE  85: "#085#"
 +    CASE  86: "#086#"
 +    CASE  87: "#087#"
 +    CASE  88: "#088#"
 +    CASE  89: "#089#"
 +    CASE  90: "]"
 +    CASE  91: "$"
 +    CASE  92: "*"
 +    CASE  93: ")"
 +    CASE  94: ";"
 +    CASE  95: "^"
 +    CASE  96: "-"
 +    CASE  97: "/"
 +    CASE  98: "#098#"
 +    CASE  99: "#099#"
 +    CASE 100: "#100#"
 +    CASE 101: "#101#"
 +    CASE 102: "#102#"
 +    CASE 103: "#103#"
 +    CASE 104: "#104#"
 +    CASE 105: "#105#"
 +    CASE 106: "|"
 +    CASE 107: ","
 +    CASE 108: "%"
 +    CASE 109: "_"
 +    CASE 110: ">"
 +    CASE 111: "?"
 +    CASE 112: "#112#"
 +    CASE 113: "#113#"
 +    CASE 114: "#114#"
 +    CASE 115: "#115#"
 +    CASE 116: "#116#"
 +    CASE 117: "#117#"
 +    CASE 118: "#118#"
 +    CASE 119: "#119#"
 +    CASE 120: "#120#"
 +    CASE 121: "`"
 +    CASE 122: ":"
 +    CASE 123: "#"
 +    CASE 124: "@"
 +    CASE 125: "'"
 +    CASE 126: "="
 +    CASE 127: """"
 +    CASE 128: "#128#"
 +    CASE 129: "a"
 +    CASE 130: "b"
 +    CASE 131: "c"
 +    CASE 132: "d"
 +    CASE 133: "e"
 +    CASE 134: "f"
 +    CASE 135: "g"
 +    CASE 136: "h"
 +    CASE 137: "i"
 +    CASE 138: "#138#"
 +    CASE 139: "#139#"
 +    CASE 140: "#140#"
 +    CASE 141: "#141#"
 +    CASE 142: "#142#"
 +    CASE 143: "#143#"
 +    CASE 144: "#144#"
 +    CASE 145: "j"
 +    CASE 146: "k"
 +    CASE 147: "l"
 +    CASE 148: "m"
 +    CASE 149: "n"
 +    CASE 150: "o"
 +    CASE 151: "p"
 +    CASE 152: "q"
 +    CASE 153: "r"
 +    CASE 154: "#154#"
 +    CASE 155: "#155#"
 +    CASE 156: "#156#"
 +    CASE 157: "#157#"
 +    CASE 158: "#158#"
 +    CASE 159: "#159#"
 +    CASE 160: "#160#"
 +    CASE 161: "~"
 +    CASE 162: "s"
 +    CASE 163: "t"
 +    CASE 164: "u"
 +    CASE 165: "v"
 +    CASE 166: "w"
 +    CASE 167: "x"
 +    CASE 168: "y"
 +    CASE 169: "z"
 +    CASE 170: "#170#"
 +    CASE 171: "#171#"
 +    CASE 172: "#172#"
 +    CASE 173: "#173#"
 +    CASE 174: "#174#"
 +    CASE 175: "#175#"
 +    CASE 176: "#176#"
 +    CASE 177: "#177#"
 +    CASE 178: "#178#"
 +    CASE 179: "#179#"
 +    CASE 180: "#180#"
 +    CASE 181: "#181#"
 +    CASE 182: "#182#"
 +    CASE 183: "#183#"
 +    CASE 184: "#184#"
 +    CASE 185: "#185#"
 +    CASE 186: "#186#"
 +    CASE 187: "#187#"
 +    CASE 188: "#188#"
 +    CASE 189: "#189#"
 +    CASE 190: "#190#"
 +    CASE 191: "#191#"
 +    CASE 192: "{"
 +    CASE 193: "A"
 +    CASE 194: "B"
 +    CASE 195: "C"
 +    CASE 196: "D"
 +    CASE 197: "E"
 +    CASE 198: "F"
 +    CASE 199: "G"
 +    CASE 200: "H"
 +    CASE 201: "I"
 +    CASE 202: "#202#"
 +    CASE 203: "#203#"
 +    CASE 204: "#204#"
 +    CASE 205: "#205#"
 +    CASE 206: "#206#"
 +    CASE 207: "#207#"
 +    CASE 208: "}"
 +    CASE 209: "J"
 +    CASE 210: "K"
 +    CASE 211: "L"
 +    CASE 212: "M"
 +    CASE 213: "N"
 +    CASE 214: "O"
 +    CASE 215: "P"
 +    CASE 216: "Q"
 +    CASE 217: "R"
 +    CASE 218: "#218#"
 +    CASE 219: "#219#"
 +    CASE 220: "#220#"
 +    CASE 221: "#221#"
 +    CASE 222: "#222#"
 +    CASE 223: "#223#"
 +    CASE 224: "\"
 +    CASE 225: "#225#"
 +    CASE 226: "S"
 +    CASE 227: "T"
 +    CASE 228: "U"
 +    CASE 229: "V"
 +    CASE 230: "W"
 +    CASE 231: "X"
 +    CASE 232: "Y"
 +    CASE 233: "Z"
 +    CASE 234: "#234#"
 +    CASE 235: "#235#"
 +    CASE 236: "#236#"
 +    CASE 237: "#237#"
 +    CASE 238: "#238#"
 +    CASE 239: "#239#"
 +    CASE 240: "0"
 +    CASE 241: "1"
 +    CASE 242: "2"
 +    CASE 243: "3"
 +    CASE 244: "4"
 +    CASE 245: "5"
 +    CASE 246: "6"
 +    CASE 247: "7"
 +    CASE 248: "8"
 +    CASE 249: "9"
 +    CASE 250: "#250#"
 +    CASE 251: "#251#"
 +    CASE 252: "#252#"
 +    CASE 253: "#253#"
 +    CASE 254: "#254#"
 +    CASE 255: "#255#"
 +    OTHERWISE ""
 +  END SELECT.
 +END PROC ebcdic to eumel with substitution;
 +
 +END PACKET eumel ebcdic;
  | 
