Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2012, 17:01   #21
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

to DEZ

так, исключительно для затравки (прошу на стиль внимания не обращать - там франкентштейн) ))
Внимание! компилировать в COM!
Вложения
Тип файла: rar cal_bin.rar (2.8 Кб, 10 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.09.2012, 14:10   #22
.:DEZ:.
Пользователь
 
Регистрация: 03.06.2012
Сообщений: 28
Вопрос

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ну, у вас же написано непонятно что..
в ассемблере сначала указывается приёмник (куда пишем), потом - источник данных.
mov ax,[a]
что Вы берёте из [a], если там ничего нет?!

потом, если у Вас число a - до 10, то зачем Вы ему выделяете двойное слово? (dw)

процедуру преобразования строки в число я бы на вашем месте взял тут - http://www.programmersforum.ru/showp...57&postcount=9

хотя, конечно, у вас из двухзначных чисел может быть только 10 - можно эту строчку и отдельно отследить. я бы воспользовался универсальной процедурой. Это и удобнее и надёжнее.

дальше. не надо строить таблицу значений первых и последних цифр.
Ведь чтобы возвести двойку в степень a достаточно взять единичку и сдвинуть её влево ровно a раз (исключение - нулевая степень - её можно отследить отдельно.
Сори, опечатался, до 10 символов в числе) а как после преобразования из строки в число, получившееся значение занести в переменную?
.:DEZ:. вне форума Ответить с цитированием
Старый 18.09.2012, 14:43   #23
.:DEZ:.
Пользователь
 
Регистрация: 03.06.2012
Сообщений: 28
Хорошо

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
to DEZ

так, исключительно для затравки (прошу на стиль внимания не обращать - там франкентштейн) ))
Внимание! компилировать в COM!
Спасибо, Serge_Bliznykov))
.:DEZ:. вне форума Ответить с цитированием
Старый 18.09.2012, 15:02   #24
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
а как после преобразования из строки в число, получившееся значение занести в переменную?
выделенная строка сохраняет результат в переменную uRezult
Код:
        lea dx, buf                             ;Записываем в DX адрес буфера
        call scan                               ;Считываем строку из консоли в буфер по адресу dx
        call convertStrToInt    ;Конвертируем введенную строку в uByte с провверкой, результат в al
        call newLine
        ;Конец ввода переменной А

        mov cl, al
        mov ax, 1
        shl ax, cl

; вывод результатов:
        
        lea dx, resultMessage               ;Записываем адрес сообщения "Result = " в DX
        call writeMessageFromDx ;Выводим это сообщение

        call convertIntToStr    ;Процедура преобразования числа в AX в строку символов, хранящаюся в buf
        mov uRezult, ax
        
        lea dx, buf                             ;Помещаем в DX адрес буфера
        add dl, 02h                             ;Указываем на начало строки в буфере
обратите внимание, я сдвиг переписал в соответствии с правильным уточнением f.hump - можно сдвигать сразу на нужное число разрядов и обойтись без проверки и дополнительного цикла. Это намного эффективнее (и, главное, красивее)!

Последний раз редактировалось Serge_Bliznykov; 18.09.2012 в 15:05.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
меню(асм) A.S.W Фриланс 1 21.08.2011 20:49
асм (с%о) Ислам Помощь студентам 7 21.05.2011 09:11
Линк c++ и асм Farrel Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 12.05.2011 16:19
из C++ в асм) как вытащить нужный фрагмент? askerpro Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 28.12.2010 04:41