Господа, не поможете ли решить такую задачку. Требуется переписать на асм функции генерации случ. чисел в заданном диапазоне - для байтов и для слов. Сейчас они написаны у меня частично на Си, что конечно не так эффективно.
Опять же, знаю, что много где в прессе и на форумах приводятся разные генераторы случ. чисел, но вопрос именно про в заданном диапазоне, так что поделитесь, пожалуйста, наработками. А можно смотреть на тему шире, не возражаю если вообще обсудим случайные, а не псевдослучайные числа и методы их получения на Z80.Код:/*--------------------------------- Cut here ---------------------------------*/ /* SEED_RND address */ #define SF_RND$ 0x5C76 unsigned int _Basic_RandBB (void) /* Ripped from Beta Basic */ { __asm LD D,#0 LD BC,(#SF_RND$) LD H,C LD L,#0xFD LD A,B OR A SBC HL,BC SBC A,D SBC HL,BC SBC A,D LD E,A SBC HL,DE JR NC,R1$ INC HL R1$: LD (#SF_RND$),HL __endasm; } //__Basic_RandBB /*--------------------------------- Cut here ---------------------------------*/ unsigned char Basic_RND (unsigned char min, unsigned char max) { return _Basic_RandBB()%(max-min+1) + min; } //Basic_RND /*--------------------------------- Cut here ---------------------------------*/ unsigned int Basic_RNDW (unsigned int min, unsigned int max) { return _Basic_RandBB()%(max-min+1) + min; } //Basic_RNDW


Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 


