![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 03.06.2012
Сообщений: 28
|
![]()
Length я разобрал как cделать, вот так вышло:
Код:
![]() |
![]() |
![]() |
![]() |
#12 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
это делается ГОРАЗДО проще. Вот так, например: Код:
во-вторых, поймите одну простую вещь. в 99% случаев алгоритм кода решения на Паскале и алгоритм кода реализации на Ассемблере для одной и той же задачи будут отличаться. Связано это с тем, что ассемблер - язык НИЗКОГО уровня, а Паскаль - ВЫСОКОГО. Поэтому вопрос - ЧТО именно Вы хотите сделать на Ассемблере? Какую задачу (изначально) Вы решаете? |
|
![]() |
![]() |
![]() |
#13 | |
Пользователь
Регистрация: 03.06.2012
Сообщений: 28
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 03.06.2012
Сообщений: 28
|
![]()
помогите, пожалуйста
![]() |
![]() |
![]() |
![]() |
#15 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
два вопроса. 1-й. что есть число a (целое, натуральное, какие возможные диапазоны?) если, допустим, надо посчитать 2^144.757 или 2^97, то, боюсь, что даже на Паскале будут определённые трудности. подозреваю, что а может быть от нуля до 8(16)... это так? 2-й. для вывод цифр предполагается двоичное или десятичное представление числа? например, для 2^7 что должна вывести программа? |
|
![]() |
![]() |
![]() |
#16 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
все указывает на то, что а - целое, которое делением мапится на 0-9. ответ ожидается в десятичном виде.
ошибка, скорее всего связана с тем, что остаток от деления лежит не в bx, а в dx, ну и рекомендую зачищать dx перед делением. |
![]() |
![]() |
![]() |
#17 | |
Пользователь
Регистрация: 03.06.2012
Сообщений: 28
|
![]() Цитата:
2) десятичное, 2^7=128, программа должна написать: первое(1), последнее(8). |
|
![]() |
![]() |
![]() |
#18 | |
Пользователь
Регистрация: 03.06.2012
Сообщений: 28
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#19 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ну, у вас же написано непонятно что..
в ассемблере сначала указывается приёмник (куда пишем), потом - источник данных. mov ax,[a] что Вы берёте из [a], если там ничего нет?! потом, если у Вас число a - до 10, то зачем Вы ему выделяете двойное слово? (dw) процедуру преобразования строки в число я бы на вашем месте взял тут - http://www.programmersforum.ru/showp...57&postcount=9 хотя, конечно, у вас из двухзначных чисел может быть только 10 - можно эту строчку и отдельно отследить. я бы воспользовался универсальной процедурой. Это и удобнее и надёжнее. дальше. не надо строить таблицу значений первых и последних цифр. Ведь чтобы возвести двойку в степень a достаточно взять единичку и сдвинуть её влево ровно a раз (исключение - нулевая степень - её можно отследить отдельно. |
![]() |
![]() |
![]() |
#20 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
2Serge_Bliznykov
с каких пор нулевая степень для двойки, исключение при сдвиге? Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
меню(асм) | 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 |