Задание на сложение/вычитани двух произвольных десятичных чисел записанных в виде массива char (из я.п. высокого уровня)

Здравствуйте, мне нужна помощь в решении задачи.

По условию мне нужно создать процедуру в flat assembler, которая была бы связана с я.п. высокого уровня (в моем случае c++).

Не могу разобраться как сделать саму процедуру в flat assembler, которая брала бы побайтно цифры из массива символов, и складывала/вычитала бы их с учетом всех переносов

Вот отрывок кода на c++, где присваиваются числа (num1, num2), а результат должен быть записан в result_add и result_sub

C++Выделить код

1
2
3
4
5

//Пример
    char num1[] = "800";
    char num2[] = "400";
    char result_add[] = "";
        char result_sub[] = "";

Соответственно после вызова процедуры ассемблера в массив result_add должен поместиться результат "1200", а в result_sub "400".

Всегда были проблемы с пониманием этой темы, так что прошу помочь мне с этим.