semi合集-English.pdf - 第4985页

SEMI M12-1103 © SEMI 1988, 2003 7 APPENDIX 1 SEMI OCR CHARAC TER OUTLINES NOTICE : The material in this appendix is an official part of SEMI M12 and was ap proved by full letter ballot procedures on July 12, 199 8. NOTE …

100%1 / 7923
SEMI M12-1103 © SEMI 1988, 2003 6
9.7.1 First, since we are interested only in the
remainder of the final expression after dividing it by 59,
we can avoid working with large numbers by
subtracting 59 repeatedly after each operation until the
result is less than 59.
9.7.2 Second, we can rearrange the error-detecting
expression, using Horner' s Rule, to form
a
12
+ 8 a
11
+…8a
3
+ 8a
2
+ 8a
1
()
()
(
)
which can be calculated recursively from the inside out
by successive multiplication and addition.
9.7.3 Third, multiplication by eight can be
accomplished by adding a quantity to itself three times
in succession.
9.8 An Algorithm for Error Detection
9.8.1 When implementing error detection, it is
convenient to imagine a checksum for each individual
character position. This partial checksum forms a check
on all preceding characters, as well as the present
character. Then using Horner' s Rule, one can calculate
a running checksum (that is, calculate each partial
checksum in order). This leads to the following
algorithm.
9.8.2 Add the checksum (or the previous character
position to itself. (For the first character position, the
value of the previous checksum is zero.) If the result is
59 or greater, subtract 59. This leaves a value in the
range 0–58.
9.8.3 Add the result of step 1 to itself. If the result is 59
or greater, subtract 59.
9.8.4 Add the result of step 2 to itself. If the result is 59
or greater, subtract 59. The result of this step is eight
times the previous position checksum, modulo 59.
9.8.5 Add the result of step 3 to the numerical value of
the character in the present position. If the result is 59
or greater, subtract 59. The result of this step is the
checksum for the present character position.
9.8.6 Repeat steps 1 through 4 for each character
position. If the checksum for the final character position
is nonzero, an error has occurred.
9.9 An Algorithm for Generating the Check Characters
The check characters can be generated as follows:
9.9.1 Initially, assume that the check characters are A0
(the first check character is the letter A, the second is
the numeral 0).
9.9.2 Calculate the final checksum in the manner
described above for error detection. If the result is zero,
the check characters are correct, and the algorithm
terminates.
9.9.3 If the result of step 2 is nonzero, subtract it from
59, yielding a number in the range 1–58.
9.9.4 Convert the result of step 3 to binary.
9.9.5 Add the least significant three bits of the binary
number to the numerical value of the second assumed
check character 0 (numeral zero). This will yield a
value that corresponds to an ASCII character in the
range 0–7.
9.9.6 Add the next higher three bits of the binary num-
ber to the numerical value of the first assumed check
character A. This will yield a numerical value that
corresponds to an ASCII character in the range A–H.
9.10 An Illustrative Example — For the purpose of
illustrating the check character generating algorithm,
assume that the message consists of only two
characters, the numerals 2 and 3.
9.10.1 Initially, assume that the check characters are A
and 0 (zero) yielding the composite message 23A0.
9.10.2 Using the algorithm described above, the final
checksum is found to be 33. Since this is nonzero, it is
subtracted from 59, yielding 26 in decimal, or 011010
in binary.
9.10.3 The least significant three bits 010 (decimal
value 2) added to the numerical value of the ASCII
character 0 (numeral zero), which is 16, yields 18 (the
numerical value of the ASCII character 2).
9.10.4 The next higher three bits 011 (decimal value 3)
added to the numerical value of the ASCII character A,
which is 33, yields 36 (the numerical value of the
ASCII character D). The final composite message is
23D2.
SEMI M12-1103 © SEMI 1988, 2003 7
APPENDIX 1
SEMI OCR CHARACTER OUTLINES
NOTICE: The material in this appendix is an official part of SEMI M12 and was approved by full letter ballot
procedures on July 12, 1998.
NOTE 1: The character shown above for “period” [.] is not used in this specification (SEMI M12).
SEMI M12-1103 © SEMI 1988, 2003 8