add/adc с ah и al

Тема в разделе "WASM.ASSEMBLER", создана пользователем sizif, 19 июн 2008.

  1. sizif

    sizif New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2008
    Сообщения:
    4
    Ребята, что-то я сегодня никак не пойму, правильно ли я написал.
    Вопрос возник из дурацкого желания не использовать другие регистры.
    У меня use16, в ah - одно число, в al - другое.
    Я хочу правильно их сложить. Естественно может быть перенос.
    Результат сложения, как я понимаю, всегда умещается в слово.
    Пишу так:
    Код (Text):
    1. add al, ah
    2. adc ah, ah
    Я прав или нет? Никак не соображу...
     
  2. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    не. тут будет посложнее.
    Код (Text):
    1. add al, ah
    2. pushf
    3. xor ah, ah
    4. popf
    5. adc ah, 0
    у тебя же
    al=al+ah
    ah=ah*2+cf
     
  3. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    sizif
    Код (Text):
    1. add al,ah
    2. sbb ah,ah
    3. neg ah
    или
    Код (Text):
    1. add al,ah
    2. mov ah,0
    3. adc ah,ah
     
  4. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    или
    Код (Text):
    1. add al,ah
    2. setc ah
     
  5. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    diamond
    А как насчет 7-1 битов. В моей документации сказано только про 0. Но если все впорядке - обязательно возьму на вооружение - полезная весчь.
     
  6. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    Для разнообразия - цитата из мануалов AMD (у Intel то же самое, только конкретные слова, естественно, другие):
     
  7. sizif

    sizif New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2008
    Сообщения:
    4
    Благодарствую!
    Вариант со стеком (pushf/popf) не подходит - его нельзя использовать по условиям задачи.
    Все остальное проверяю/беру на вооружение, как выразился max7C4 :derisive:)