2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 
 Re: ASM вывод числа на экран
Сообщение19.12.2012, 00:26 
Интересны 2 вещи - как получать разряды и где хранить их и остальной контекст. Оказывается, у вас была инструкция (аппаратная?), выполняющая деление и вычисляющая остаток, ну и вы использовали стек.

 
 
 
 Re: ASM вывод числа на экран
Сообщение19.12.2012, 15:04 
Pavia в сообщении #660408 писал(а):
g_coder
Читайте книги в них всё это расписано. А вообще найти ответ в интернете очень легко. И странно что вы его не нашли.
Формат строк известен формат числа известен перевести из одного формата в другой это простая задачка.
На данном форуме решать задачи за других не принято. А вот помочь да. В данном случае ваших попыток решения не видно.


Ну во-первых это далеко не задача, а её малая часть. А во-вторых я ни коим образом не просил кого бы то ни было её за меня решать. Мне лишь хотелось узнать примерный алгоритм действий.
А на счет того, что в интернетах это легко найти вы не совсем правы. Информации там конечно не мало, но того, что помогло бы мне самому в этом разобраться я не обнаружил.

 
 
 
 Re: ASM вывод числа на экран
Сообщение19.12.2012, 16:19 
g_coder, посмотрите книжку П.Абель. Ассемблер и программирование для IBM PC.

 
 
 
 Re: ASM вывод числа на экран
Сообщение19.12.2012, 19:35 
Maslov
Большое спасибо. Отличная книга, всё очень доступно изложено.

 
 
 
 Re: ASM вывод числа на экран
Сообщение19.12.2012, 19:52 
_Ivana в сообщении #660487 писал(а):
Оказывается, у вас была инструкция (аппаратная?)
Ну да, аппаратная. :roll:

 
 
 
 Re: ASM вывод числа на экран
Сообщение19.12.2012, 22:15 
Ну да, DIV.

Используется, чтобы делить AX, DX:AX, EDX:EAX, RDX:RAX на r/m8, r/m16, r/m32 и r/m64 соответственно. Частное идет в AL, AX, EAX или RAX, остаток — в AH, DX, EDX или RDX.

 
 
 
 Re: ASM вывод числа на экран
Сообщение19.12.2012, 23:38 
Вот я и говорю, что когда судьба дает в распоряжение подобные команды, то можно выражать разные степени удивления при виде вычитания, писать про "кошмары" и "судьбу". А когда никаких DIV - http://www.gaw.ru/html.cgi/txt/doc/micr ... /start.htm (и даже MUL и многих других нет в семействе Tiny), то как вы будете оптимально получать разряды? Очень интересно увидеть не кошмарный алгоритм :-)

 
 
 
 Re: ASM вывод числа на экран
Сообщение20.12.2012, 00:39 
Аватара пользователя
_Ivana, большая просьба закончить оффтопик в данной теме. Достаточно очевидно, что ТС задавал вопрос про программирование для архитектуры x86, в которой команды целочисленного деления и умножения реализованы аппаратно. Если у Вас есть желание обсудить программу преобразования целых чисел в строки для других архитектур, создайте, пожалуйста, отдельную тему.

 
 
 
 Re: ASM вывод числа на экран
Сообщение20.12.2012, 05:32 
Аватара пользователя
Цитата:
то как вы будете оптимально получать разряды? Очень интересно увидеть не кошмарный алгоритм

Делаешь процедуру умножения и процедуру деления. Если надо оптимизировать, то так как в данном числе константные, то сделать частный алгоритм через сложения не сложно.
А чтобы алгоритм не казался страшным делайте как можно больше функций и как можно короткими.

 
 
 
 Re: ASM вывод числа на экран
Сообщение20.12.2012, 06:51 
Аватара пользователя
Никто не видел в сети книгу Шнайдер А. "Язык ассемблера для персонального компьютера фирмы IBM"? Вроде всё есть в сети кроме этой книги.
Реализацию преобразования двоичного кода в десятичный без MUL, DIV можно найти в литературе по i8080. Деление на 10 можно реализовать если посмотреть что происходит при делении на 10 в двоичном формате.

 
 
 [ Сообщений: 25 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group