401
правка
Gribozavr (обсуждение | вклад) м (→Конструкция switch: стиль) |
Gribozavr (обсуждение | вклад) м (→Конструкция switch: опечатка) |
||
</pre>
Заметьте, что промежуток начинается с числа 35, а не с 0. Для того, чтобы не производить вычитание 35 отдельной командой и не создавать массив, в котором от 0 до 34 идёт адреса метки default, сначала проверяется принадлежность числа промежутку [35; 39], а затем производится переход, но массив адресов считается размещённым на 35 двойных слов «ниже» в памяти (то есть, на 35 × 4 = 140 байт). В результате получается, что адрес перехода считывается из памяти по
В этом примере, как и в предыдущих, имеет смысл переставить некоторые части этого кода в начало, если вы заранее знаете, какие значения вам придётся обрабатывать чаще всего.
|
правка