Вопрос по макросам в fasm

Тема в разделе "WASM.BEGINNERS", создана пользователем maestro-ant, 5 ноя 2007.

  1. maestro-ant

    maestro-ant Member

    Публикаций:
    0
    Регистрация:
    23 июл 2006
    Сообщения:
    112
    Вот накодил макрос который в каждом байте нужного мне участка добавляет KEY

    Код (Text):
    1. ; ----------------------------------------------
    2. macro begincrypt name
    3. {
    4.   name#.begin:
    5. }
    6.  
    7. macro endcrypt name, key
    8. {
    9.    name#.end:  
    10.    count = (rva name#.end - rva name#.begin)
    11.    repeat count - 1
    12.      load b byte from name#.begin+%-1
    13.      b = (b + key)
    14.      store byte b at name#.begin+%-1
    15.    end repeat
    16. }
    17. ;-----------------------------------------------
    18.  
    19.  
    20. section '.code' code readable writable executable
    21.  
    22. entry $
    23.  
    24.  
    25. begincrypt lab1        
    26.  
    27.  db 00,00,00,00,00,00,00,00,00,00,00
    28.  
    29. endcrypt lab1,5
    С нулями все хорошо, но если байт например равен 255 и к нему должен добавится мой KEY который напр. равен 5, то фасм не хочет компилить говорит что не допустимое значение. Помогите составить так чтоб было примерно как
    add byte[eax],5
     
  2. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    Код (Text):
    1. b = (b + key) and 0ffh