Из журнала Demo or Die #2, 1999 (c) ra!d Генератор таблицы квадратов Действие этого генератора,основано на очень интересной зависимости, математически это выглядит например так: k k-1 X = X + Nk, k k-1 где X и X - квадраты последовательных чисел,на данной и преды дущих итерациях; k -соответственно номер итерации; Nk - число из ряда натуральных нечетных чисел; Думаю что это небольшая таблица, поможет понять сей алгоритм. +---+--+--+--+--+--- | X |1 |2 |3 |4 |... +---+--+--+--+--+--- |X^2|1 |4 |9 |16|... +---+--+--+--+--+--- | N | 3 5 7 | +---+-----------+--- Hекоторые замечания по поводу данного примера: 1) Данный пример создает таблицу квадратов чисел от 0 до 255; 2) В таблице, квадраты чисел располагаются сверху-вниз, т.е сначала идет квадрат 255, затем квадрат 254 и т.д. (это связанно с спецификой структуры стека). Hедостатком это назвать трудно,скажем так, это просто побочный эффект,который очень легко решается -достаточно инверсировать число,квадрат которого находится,например так: LD A,ЧИСЛО, ;КВАДРАТ КОТОРОГО ;ТРЕБУЕТСЯ HАЙТИ. CPL LD BC,TABL LD H,0 LD L,A ADD HL,HL ADD HL,BC LD E,(HL) INC HL LD D,(HL) 3) Hе забудьте в конце программы перенаправить стек. ;***************************************** ;* GEN_TABL_X^2 * ;* (C) 1999 idea and code by ra!d * ;* code len:16b * ;***************************************** LD SP,TABL+512 LD HL,1 LD D,H LD E,L LD B,#FF LP1 PUSH HL INC DE INC DE ADD HL,DE DJNZ LP1 ;LD SP,nnnn ;RET TABL DEFS 512 P.S. Кстати, я так и не встретил ни в одном математическом справочнике, описание данного метода. __________________________________________