![]() |
|
![]() ![]() ![]() |
|
videns |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 12.9.2006 Репутация: нет Всего: нет |
есть двойное слово, необходимо вывести его в десятичной форме. так как надо все делать в тасм, стандартый алгоритм делиния на 10 не получается, регистра еах нет ((
есть ли какой-либо алгоритм общий или готовый код? буду очень признателен. |
|||
|
||||
Alexander77 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.4.2007 Репутация: нет Всего: нет |
Есть:
И подобная тема: http://forum.progteam.ru/lofiversion/index.php/t396.html Это сообщение отредактировал(а) Alexander77 - 11.5.2007, 17:18 |
|||
|
||||
videns |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 12.9.2006 Репутация: нет Всего: нет |
регистров eax,ebx,ecx,edx нет, необходимо использовать только компилятор tasm. в этом-то и состоит основная проблема..
|
|||
|
||||
anwe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: 1 Всего: 23 |
videns, во-первых, можно поставить .386. Во-вторых, есть такая команда aam, посмотри ее. Ее действие сводится к делению регистра al на 0Ah (10), то есть основание системы счисления. Частное помещается в ah, остаток - в al.
К примеру
Alexander77, просили в 10-й системе, а твой код выводит в 16-й. И где метка @B? |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 4 Всего: 158 |
возможно имеется ввиду "неправильность" использования 32-битных регистров, чтоб научились работать с парой dx:ax. это одно из зарезервированных имен для ближайшей метки с именем '@@'. @B - back(назад по коду), @F - forward(вперед по коду). ps. экий я гаццкий критик. решений не даю, только критикую... ![]() |
|||
|
||||
videns |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 12.9.2006 Репутация: нет Всего: нет |
если работать с парой регистров DX:AX, то после деления на 10 частное может не поместиться в регистр. поэтому нужен какой-либо другой алгоритм для преобразования.
![]() |
|||
|
||||
JAPH |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 8.1.2007 Где: Ленобласть Репутация: 1 Всего: 23 |
А в чём проблема? Делите сначала старшую часть, затем младшую.
-------------------- Что непонятно - спрашиваем ![]() |
|||
|
||||
anwe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: 1 Всего: 23 |
||||
|
||||
Mikl__ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 18.5.2007 Репутация: 1 Всего: 1 |
Скажешь своему преподу что сопроцессоры были уже в 8086, перевожу 64-битное в десятеричное число
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |