From 98cab31fc3659e33aef260efca55bf9f1753164c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 11 Feb 2019 11:49:19 +0100 Subject: Add source files from Michael --- system/dos/1986/src/eumel-ebcdic + sub | 550 +++++++++++++++++++++++++++++++++ 1 file changed, 550 insertions(+) create mode 100644 system/dos/1986/src/eumel-ebcdic + sub (limited to 'system/dos/1986/src/eumel-ebcdic + sub') 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; -- cgit v1.2.3