Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Asm: Общие вопросы > Помогите с выводом ответа. |
Автор: gorom 17.5.2006, 12:00 |
У меня есть код mov ax,6 mov bx,4 add ax,bx как мне вывести результат сложения на экран??? |
Автор: Akina 17.5.2006, 12:57 | ||||
Соответственно
выведет в текущую позицию экрана 000А, что соответствует десятичному 10 и равно результату сложения 6 и 4. |
Автор: e-moe 18.5.2006, 21:22 |
А если нужно выводить в 10с/с то дели на 10 до нулевого результата и выводи в обратном порядке остатки от деления... |
Автор: XSInet 12.6.2006, 12:42 | ||
На API можно так:
|
Автор: setty 12.6.2006, 16:23 |
2XSInet в этом случае вывод будит в дексе, а если вывести надо в хэксе то Str1 byte "Ответ: %x",0 |
Автор: BUGOR 12.6.2006, 16:53 | ||
Можно так:
|
Автор: setty 12.6.2006, 18:00 |
BUGOR это будит работать только для вывода одного символа и только в случае если сумма небольше 9ти ) вот кпримеру если сделать так: mov ax,5d mov bx,8d add ax,bx ;ax=13d add var,ax ; var=61d -> ASCII - "=" |
Автор: XSInet 12.6.2006, 19:02 | ||
to setty.
А разве кто-то просил в хексе ? И зачем ты мне это говришь, - не я спрашивал... |
Автор: BUGOR 12.6.2006, 19:42 |
setty, эта проблема решается довольно просто в цикле, в любом случае считаю прибавление койффицента 30h к каждой фицре более рациональным решением, чем вызов тормозной wsprintfa:) Добавлено @ 19:47 PS Стояла задача вывести результат сложения 4+2, моё решение справляется с условия поставленной задачи, поэтому не надо всё усложнять ![]() |
Автор: setty 12.6.2006, 21:18 |
да я знаю писал както свю функцию для этих целей сонована на той идее что ты предложил однако вариант с использованием wsprintfa показался мне более симпатичным и я знаю один лиш недостаток - отсутствие явно заданного размера строки что может приводить к переполнениям буфера есть ли еще какието причины не использовать wsprintf? |
Автор: setty 12.6.2006, 22:35 |
кстате можно воспользоватся процедурами dw2hex & dw2ah из masm32.lib этих же целей |
Автор: BUGOR 13.6.2006, 09:52 |
setty, есть ещё одна причина: wsprintf самая тормозная функция из всех, что я встречал. В циклах её вообще никогда не использую, есть более красивые решения. |
Автор: setty 13.6.2006, 12:15 |
так ты про скорость выпонения? |
Автор: ds29 15.6.2006, 00:46 |
лучше использовать свою функцию (или не свою но открытый код) чем вызывать wsprintf из DLL |