Index wersja polskawersja polska

Casio PB-1000 - data formats

Character set

Both drawings were machine generated from the memory images.


Text screen buffer EDTOP

screen buffer map


Storage format of the floating point numbers

Numerical values are encoded in packed BCD format.
The mantissa in range 1.000000000000 to 9.999999999999 occupies 13 digits, the least significant digit is stored first.
The exponent is biased by adding an offset 100 to put it within an unsigned range. It occupies 2 digits.
The signs of the mantissa and the exponent are stored in a single digit:

    value = first_digit_of_the_biased_exponent + 5 * sign_of_the_mantissa

List of all possible combinations of the sign digit:

    0 - mantissa positive, exponent negative
    1 - mantissa positive, exponent positive
    5 - mantissa negative, exponent negative
    6 - mantissa negative, exponent positive

Examples:

Floating point number Mantissa Exponent Signs
 1.000000000000E00 
-1.000000000000E00 
 1.000000000000E02 
-1.000000000000E02 
 3.141592653600E00 
-3.141592653600E00 
 1.000000000000E-02
-1.000000000000E-02
 3.333333333333E-01
-3.333333333333E-01
00 00 00 00 00 00 01
00 00 00 00 00 00 01
00 00 00 00 00 00 01
00 00 00 00 00 00 01
00 36 65 92 15 14 03
00 36 65 92 15 14 03
00 00 00 00 00 00 01
00 00 00 00 00 00 01
33 33 33 33 33 33 03
33 33 33 33 33 33 03
00
00
02
02
00
00
98
98
99
99
01
06
01
06
01
06
00
05
00
05

The order the digits are stored in the memory isn't constant. Examples:

1. storage format in the main register block
  • registers $0-$6 contain the mantissa
  • register $7 contains the biased exponent
  • register $8 contains the signs on the least significant digit
An example number 1.23456E78 is stored as 00 00 00 60 45 23 01 78 01
2. storage format on the user stack
  • first byte contains the signs on the least significant digit
  • next 7 bytes contain the mantissa
  • next byte contains the biased exponent
An example number 1.23456E78 is stored as 01 00 00 00 60 45 23 01 78
3. compact format of numeric variables and constants
  • first 6 bytes contain the first 12 digits of the mantissa
  • the lower 4 bits of the next byte contains the most significant digit of the mantissa, while the upper 4 bits contain the least significant digit of the exponent
  • the lower 4 bits of the next byte contains the most significant digit of the exponent, while the upper 4 bits contain the sign
An example number 1.23456E78 is stored as 00 00 00 60 45 23 81 17