GOST 10859

GOST 10859 (1964) is a standard of the Soviet Union which defined how to encode data on punched cards. This standard allowed a variable word size, depending on the type of data being encoded, but only uppercase characters.

These include the non-ASCII (U+23E8 DECIMAL EXPONENT SYMBOL). It was used to express real numbers in scientific notation. For example: 6.0221415⏨23.

The character was also part of the ALGOL programming language specifications and was incorporated into the then German character encoding standard ALCOR. GOST 10859 also included numerous other non-ASCII characters/symbols useful to ALGOL programmers, e.g.: ∨, ∧, ⊃, ≡, ¬, ≠, ↑, ↓, ×, ÷, ≤, ≥, °, &, ∅, compare with ALGOL operators.

The character served the same function as the in 7-bit ASCII.

4-bit code: Binary-coded decimal

_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ 0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
+
002B
-
002D
/
002F
,
002C
.
002E
DEL
007F

5-bit code: with BCD & mathematical operators

_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ 0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
+
002B
-
002D
/
002F
,
002C
.
002E
SP
0020
1_
23E8

2191
(
0028
)
0029
×
00D7
=
003D
;
003B
[
005B
]
005D
*
002A

2018

2019

2260
<
003C
>
003E
DEL
007F

6-bit code: with only Cyrillic upper-case letters

_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ 0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
+
002B
-
002D
/
002F
,
002C
.
002E
SP
0020
1_
23E8

2191
(
0028
)
0029
×
00D7
=
003D
;
003B
[
005B
]
005D
*
002A

2018

2019

2260
<
003C
>
003E
:
003A
2_ А
0410
Б
0411
В
0412
Г
0413
Д
0414
Е
0415
Ж
0416
З
0417
И
0418
Й
0419
К
041A
Л
041B
М
041C
Н
041D
О
041E
П
041F
3_ Р
0420
С
0421
Т
0422
У
0423
Ф
0424
Х
0425
Ц
0426
Ч
0427
Ш
0428
Щ
0429
Ы
042B
Ь
042C
Э
042D
Ю
042E
Я
042F
DEL
007F

7-bit code: Cyrillic and Latin upper-case letters

_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ 0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
+
002B
-
002D
/
002F
,
002C
.
002E
SP
0020
1_
23E8

2191
(
0028
)
0029
×
00D7
=
003D
;
003B
[
005B
]
005D
*
002A

2018

2019

2260
<
003C
>
003E
:
003A
2_ А[lower-alpha 1]
0410/0041
Б
0411
В[lower-alpha 1]
0412/0042
Г
0413
Д
0414
Е[lower-alpha 1]
0415/0045
Ж
0416
З
0417
И
0418
Й
0419
К[lower-alpha 1]
041A/004A
Л
041B
М[lower-alpha 1]
041C/004C
Н[lower-alpha 1]
041D/0048
О[lower-alpha 1]
041E/004E
П
041F
3_ Р[lower-alpha 1]
0420/0050
С[lower-alpha 1]
0421/0043
Т[lower-alpha 1]
0422/0054
У[lower-alpha 1]
0423/0059
Ф
0424
Х[lower-alpha 1]
0425/0058
Ц
0426
Ч
0427
Ш
0428
Щ
0429
Ы
042B
Ь
042C
Э
042D
Ю
042E
Я
042F
D
0044
4_ F
0046
G
0047
I
0049
J
004A
L
004C
N
004E
Q
0051
R
0052
S
0053
U
0055
V
0056
W
0057
Z
005A

203E

2264

2265
5_
2228

2227

2283
¬
00AC
÷
00F7

2261
%
0025

25CA
|
007C

2014
_
005F
!
0021
"
0022
Ъ
042A
°
00B0
'
0027
6_
2192

2190
?
003F

2193

2205
±
00B1

2207
7_ DEL
007F

6-bit code: with only Latin upper-case letters

_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ 0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
+
002B
-
002D
/
002F
,
002C
.
002E
SP
0020
1_
23E8

2191
(
0028
)
0029
×
00D7
=
003D
;
003B
[
005B
]
005D
*
002A

2018

2019

2260
<
003C
>
003E
:
003A
2_ A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
P
0050
3_ Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A

2228

2227

2283
¬
00AC
÷
00F7
DEL
007F

  Letter  Number  Punctuation  Symbol  Other  Undefined

gollark: Anyway, perhaps you would like to... *test* a potatOS computer?
gollark: You said `or even a cc emulator in cc`, please stop being hypocritical.
gollark: jrengen: look at discord, you can see that bit of code the potatOS sandbox has for, OH LOOK, running the BIOS inside a filesystem sandboxing.
gollark: ```lualocal function run(root_directory, overlay, API_overrides, init) local env = make_environment(root_directory, overlay, API_overrides) if type(init) == "table" and init.URL then init = fetch(init.URL) end init = init or fetch "https://pastebin.com/raw/wKdMTPwQ" env.init_code = init local out, err = load(init, "@init.lua", "t", env) if not out then error(err) end env.hypercalls.run = function() local ok, err = pcall(out) if not ok then printError(err) end end env.hypercalls.run()end```
gollark: You can't modify machine.llua.

See also

Notes

  1. Cyrillic and Latin letters with identical (A, B, C, E, H, K, M, O, P, T, X) and similar (Y/У) glyphs were unified.

References

  • (in Russian) ГОСТ 10859-64. Машины вычислительные. Коды алфавитно-цифровые для перфокарт и перфолент.
  • GOST 10859 (from the Computer Museum of University of Amsterdam)
  • GOST 10859

Further reading

  • Savard, John J. G. (2018) [2005]. "Computer Arithmetic". quadibloc. The Early Days of Hexadecimal. Archived from the original on 2018-07-16. Retrieved 2018-07-16.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.