Конвертер чисел DEC > BCD

Тема в разделе "WASM.BEGINNERS", создана пользователем AlexSun, 16 дек 2010.

  1. AlexSun

    AlexSun New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    54
    Нужно написать конвертер чисел из десятичной системы счисления в двоично-десятичную.
    Как это сделать на Intel 8080? Алгоритм?
     
  2. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
  3. AlexSun

    AlexSun New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    54
    Вопрос в тему. Возможно организовать деление с остатком (нужно получить ответ и остаток), кроме как вначале получить ответ (знаю как), потом умножить его на делимое число и то что получиться вычитать от начального?
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    http://ru.wikipedia.org/wiki/BCD
     
  5. AlexSun

    AlexSun New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    54
    n0name
    руками я умею их преобразовывать, задача написать для этого программу на ассемблере i8080, в котором нельзя просто так взять первую цифру и заменить ее на соответствующий bin код

    нужна формула вроде как высчитать BCD из DEC
     
  6. Igor1024

    Igor1024 Васил Троянов Боянов (Azis)

    Публикаций:
    0
    Регистрация:
    15 окт 2010
    Сообщения:
    345
    Адрес:
    Sliven, Bulgaria
    AlexSun, примерный алгоритм:
    1)Определяем кол-во разрядов в dec числе (floor(log10(наше число)+1) эт сишный вариант.
    2)Делим начальное число на 10^(что получилось в пункте 1), округляем.
    3)Вызываем функцию перевода из dec в bin (с этим то справитесь).
    4)Вычитаем из всего числа число из пункта 2;
    5)loop всего этого безобразия.
     
  7. AlexSun

    AlexSun New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    54
    что за функция? или это вы про си?
     
  8. Igor1024

    Igor1024 Васил Троянов Боянов (Azis)

    Публикаций:
    0
    Регистрация:
    15 окт 2010
    Сообщения:
    345
    Адрес:
    Sliven, Bulgaria
    Пишем ручками. Можно составить структуру или просто 10 переменных, с кодами в bin и сравнивать - если влом писать самому функцию.

    З.Ы. Слишком мелкий я ещё чтоб ко мне на "вы" обращаться.
     
  9. Igor1024

    Igor1024 Васил Троянов Боянов (Azis)

    Публикаций:
    0
    Регистрация:
    15 окт 2010
    Сообщения:
    345
    Адрес:
    Sliven, Bulgaria
    http://flatassembler.net/examples/basecnv.zip
    Пример на FASM'e по переводу чисел.

    Но вот эта статья полезней будет:
    http://programmersforum.ru/showpost.php?p=165289&postcount=5
     
  10. AlexSun

    AlexSun New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    54
    главное знания :)
    спасибо.