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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2011, 22:25   #1
dezder
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 17
По умолчанию как сравнить 4 числа,наименьшее записать в R15.как вычислить степень?

скачал MASM32 v10. ну так написано.
Не могу скомпелировать программу.
и еще не как не могу решить 2 задачи и сделать написать их в виде проги
1.сравнить значения регисторов AX BX CX DX и наименьшее записать в R15
2.вычислить степень числа 2 если показатель степени в CX и может принемать значение от 1 до 4.
1. я сделал так
cmp ax, bx
mov r15, ax
jmp m1
mov r15, bx
m1:
cmp r15, cx
ja m2
mov r15, cx
m2:
cmp r15, dx
ja m3
mov r15, dx
m3:
ret.
2.mov ax, 2
mov cx,1
mul cx
cmp cx, ax
mov ax, 2
mov cx,2
mul cx
cmp cx, ax
и так до 4.
уже всю головулу сломал, ребят помогите а, мне завтра с утра надо это сдать в идеальном виде
dezder вне форума Ответить с цитированием
Старый 16.12.2011, 10:02   #2
haruhi
Форумчанин
 
Аватар для haruhi
 
Регистрация: 05.10.2011
Сообщений: 368
По умолчанию

регистр R15 доступен только 64-х разрядным программам. вы уверены что правильно компилируете программу
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
haruhi вне форума Ответить с цитированием
Старый 16.12.2011, 10:07   #3
dezder
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 17
По умолчанию

я не уверен в том что я ее вообще правельно написал-=)ну да надо в 64-х разрядную.
ну как компилирую вот так
c:\masm32\bin\ml /c /coff ИМЯ ФАЙЛА.asm
pause
c:\masm32\bin\link /SUBSYSTEM:CONSOLE /LIBPATH:c:\masm32\lib ИМЯ ФАЙЛА.obj
pause
и нечего не происходит я бессилен
dezder вне форума Ответить с цитированием
Старый 16.12.2011, 10:58   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

dezder
если нужно 64-разрядную программу, тогда зачем браться за masm32 (из названия понятно, что он для 32-разрядной Windows) Если у тебя стоит Visual Studio (начиная с 2005) то там должен быть ml64.exe, вот им и воспользуйся... хотя судя по заданию (сравнить значения регисторов AX BX CX DX и наименьшее ... вычислить степень числа 2 если показатель степени в CX...) тебе нужен 16-разрядный ассемблер, и что-то с 64-разрядным ассемблером ты путаешь...
Mikl___ вне форума Ответить с цитированием
Старый 18.12.2011, 12:07   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
хотя судя по заданию (сравнить значения регисторов AX BX CX DX и наименьшее ... вычислить степень числа 2 если показатель степени в CX...) тебе нужен 16-разрядный ассемблер
полностью согласен.

Цитата:
регистр R15 доступен только 64-х разрядным программам
а может быть, R15 - это всего навсего именованная область памяти ?

примерно так:
Код:
.data
....
R15 dw 0
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.12.2011, 12:18   #6
dezder
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 17
По умолчанию

скорее всего да это сегмент данных
dezder вне форума Ответить с цитированием
Старый 18.12.2011, 13:02   #7
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

dezder, когда ж вы наконец это просто спросите и перестанете гадать ? -_-
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти наибольшую степень двойки, не превышаюшую определенного числа N (Паскаль) Mandy007 Помощь студентам 9 12.10.2011 14:08
Формула как записать степень? TTawa Общие вопросы C/C++ 5 09.10.2010 15:22
Pascal - Как правильно вычислить степень Izymka Помощь студентам 11 28.05.2010 17:20
Объясните, как сравнить числа (123)8 и (100110)2. mmarina80 Помощь студентам 7 08.01.2010 15:38