HOME

TheInfoList



OR:

SQUOZE (abbreviated as SQZ) is a memory-efficient representation of a combined source and relocatable
object Object may refer to: General meanings * Object (philosophy), a thing, being, or concept ** Object (abstract), an object which does not exist at any particular time or place ** Physical object, an identifiable collection of matter * Goal, an a ...
program file with a symbol table on
punched card A punched card (also punch card or punched-card) is a stiff paper-based medium used to store digital information via the presence or absence of holes in predefined positions. Developed over the 18th to 20th centuries, punched cards were widel ...
s which was introduced in 1958 with the SCAT assembler on the SHARE Operating System (SOS) for the
IBM 709 The IBM 709 is a computer system that was announced by IBM in January 1957 and first installed during August 1958. The 709 was an improved version of its predecessor, the IBM 704, and was the third of the IBM 700/7000 series of scientific compute ...
. A program in this format was called a ''SQUOZE deck''. It was also used on later machines including the
IBM 7090 The IBM 7090 is a second-generation Transistor computer, transistorized version of the earlier IBM 709 vacuum tube mainframe computer that was designed for "large-scale scientific and technological applications". The 7090 is the fourth member o ...
and 7094.


SQUOZE deck

A SQUOZE deck contains an encoded binary form of the original assembly language code; SQUOZE decks are converted to absolute machine code and stored in memory by a loader program.


Identifier name character encoding

In the ''SQUOZE encoding'', identifiers in the symbol table were represented in a 50-character
alphabet An alphabet is a standard set of letter (alphabet), letters written to represent particular sounds in a spoken language. Specifically, letters largely correspond to phonemes as the smallest sound segments that can distinguish one word from a ...
, allowing a 36-bit
machine word In computing, a word is any Central processing unit, processor design's natural unit of data. A word is a fixed-sized Data (computing), datum handled as a unit by the instruction set or the hardware of the processor. The number of bits or digits ...
to represent six
alphanumeric Alphanumericals or alphanumeric characters are any collection of number characters and letters in a certain language. Sometimes such characters may be mistaken one for the other. Merriam-Webster suggests that the term "alphanumeric" may often ...
characters plus two flag bits, thus saving two bits per six characters, because the six bits normally allocated for each character could store up to 64 states rather than only the 50 states needed to represent the 50 letters of the alphabet, and 506 < 234. Using base 50 already saves a single bit every three characters, so it was used in two three-character chunks. The manual has a formula for encoding six characters ABCDEF: (A*50^2 + B*50 + C) * 2^ + (D*50^2 + E*50 + F) For example "SQUOZE", normally 36 bits: 35 33 37 31 44 17(base 8) would be encoded in two 17-bit pieces to fit in the 34 bits as ( 0o220231 << 17 ) , 0o175473

0o110114575473
. A simpler example of the same logic would be how a three-digit BCD number would take up 12 bits, such as 987: 9 8 7(base 16) 1001 1000 0111(base 2), but any such value could be stored in 10 bits directly, saving two bits, such as 987: 3db(base 16) 11 1101 1011(base 2).


Etymology

"Squoze" is a facetious
past participle In linguistics, a participle (; abbr. ) is a nonfinite verb form that has some of the characteristics and functions of both verbs and adjectives. More narrowly, ''participle'' has been defined as "a word derived from a verb and used as an adject ...
of the verb 'to squeeze'. The name SQUOZE was later borrowed for similar character encoding schemes used on DEC machines; they had a 40-character alphabet (50 in
octal Octal (base 8) is a numeral system with eight as the base. In the decimal system, each place is a power of ten. For example: : \mathbf_ = \mathbf \times 10^1 + \mathbf \times 10^0 In the octal system, each place is a power of eight. For ex ...
) and were called DEC RADIX 50 and MOD40, but sometimes nicknamed DEC Squoze.


See also

*
Packed BCD In computing and electronic systems, binary-coded decimal (BCD) is a class of binary encodings of decimal numbers where each digit is represented by a fixed number of bits, usually four or eight. Sometimes, special bit patterns are used ...
* Hertz encoding * Chen–Ho encoding * Densely packed decimal (DPD) * BCD (character encoding) * Base 50 (numeral system) * Base conversion


References


Further reading

* {{cite web , title=Squoze your data , author-first=Al , author-last=Williams , date=2016-11-22 , work=Hackaday , url=https://hackaday.com/2016/11/22/squoze-your-data/ , access-date=2020-06-06 , url-status=live , archive-url=https://web.archive.org/web/20200606101541/https://hackaday.com/2016/11/22/squoze-your-data/ , archive-date=2020-06-06 Executable file formats