Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
procedure TurnonBytes(P, Count: LongWord); assembler;
asm
        PUSHAD
        MOV     EDI, P
        MOV     ESI, EDI
        MOV     ECX, Count
        PUSH    EDI
        PUSH    ECX
        XOR     EAX, EAX
@@1:    LODSB
        ADD     AL, AH
        STOSB
        SUB     AH, AL
        ADD     AH, CL
        ROR     AH, 3
        LOOP    @@1
        POP     ECX
        POP     EDI
        MOV     ESI, EDI
@@2:    LODSB
        XOR     AL, 055H
        MOV     EDX, 4
        TEST    ECX, EDX
        JNE     @@3
        ROL     AL, 3
        JMP     @@6
@@3:    SHR     EDX, 1
        TEST    ECX, EDX
        JNE     @@4
        SHL     EDX, 1
        ROL     AL, 2
        JMP     @@6
@@4:    SHR     EDX, 1
        TEST    ECX, EDX
        JNE     @@5
        XOR     AL, 0AAH
        ROL     AL, 1
@@5:    SHL     EDX, 2
@@6:    STOSB
        LOOP    @@2
        POPAD
end;

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 20:38 04-03-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru