👍 0 👎 |
Ассемблер, вывод данныхсовсем не понимаю как выводить на консоль значения с плавающей точкой внутри цикла. Работаю в турбо ассемблере (16 бит). Программа запускается без ошибок и просто открывает консоль
обучение Assembler программисты изучение языков программирования IT обучение программированию обучение
Дмитрий Чепель
|
👍 0 👎 |
а для чего semicolon поставили перед int 21h ?! |
👍 0 👎 |
С ним вообще дичь выводится, а именно множество «w» в разных частях консоли. Проблема в том, что я не понимаю как преобразовать число в строку и вывести её |
👍 0 👎 |
Удивительно ... в вашем буфере одни доллары, значит ничего и не должно выводиться. Впишите в него спереди другие символы типа buf db ';', 20 dup('$') и проверьте, выводит ли их функция №09 на консоль. |
👍 0 👎 |
Если написать buf db ';', 20 dup('$'), то просто ненадолго открывается консоль и сама закрывается |
👍 0 👎 |
Надеюсь, это с int 21h так, да? |
👍 0 👎 |
Да, это с int 21h. Без него то же самое |
👍 0 👎 |
Ну так в описании к flat сказано, что в ней значения 32-разрядных сегментных регистров устанавливаются операционной системой непосредственно перед передачей управления пользовательской программе, т.е. не надо без особой нужды их править, а вы копируете в ds из ax и возможно этим его портите. |
👍 0 👎 |
Чтобы выводить числа с плавающей точкой в Turbo Assembler (16-бит), нужно преобразовать их в строку. Вот исправленный код с комментариями:
|