5 / 5 / 1
Регистрация: 27.11.2009
Сообщений: 232
|
||||||
1 | ||||||
Сложение и вычитание чисел17.10.2011, 21:29. Показов 8784. Ответов 14
Метки нет Все метки)
(
Добрый вечер!
вот мой код программы:
ml /c proga.asm потом нужно линковать, набираю doslink /t proga.obj пробовала и без /t doslink proga.obj пишет, что doslink не является внутренней или внешней командой, исполняемой программой или пакетным файлом как нужно правильно сделать?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
17.10.2011, 21:29 | |
Ответы с готовыми решениями:
14
Сложение и вычитание упакованных чисел Сложение и вычитание чисел с плавающей точкой Многобайтное сложение и вычитание целых чисел
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
|
17.10.2011, 21:59 | 2 |
link /subsystem:windows proga.obj
1
|
5 / 5 / 1
Регистрация: 27.11.2009
Сообщений: 232
|
||||||
17.10.2011, 22:14 [ТС] | 3 | |||||
спасибо, все получилось
только теперь мне выдало кучу ошибок http://www.imagepost.ru/?v=error_16.png в коде: в 24 и 31 строчках исправила:
0
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
|
17.10.2011, 22:26 | 4 |
Koketka, чтобы использовать функции системы надо подключить файлы с описанием их прототипов и библиотечные файлы. В пакете масм32 они лежат в папках include и lib. И компилировать ml /c /coff proga.asm
1
|
5 / 5 / 1
Регистрация: 27.11.2009
Сообщений: 232
|
|
17.10.2011, 23:02 [ТС] | 5 |
INCLUDE ***.* в начале кода?
Добавлено через 2 минуты а что значит coff? Добавлено через 6 минут ExitProcess - эта завершает выполнение процесса DumpRegs - позволяет вывести на экран содержимое регистров про эти функции я в книжке прочитала и там не сказано что нужно что-то дополнительно подключать в папках lib include я таких не нашла и как мне быть?
0
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
||||||
17.10.2011, 23:15 | 6 | |||||
stack 100h -не надо, у Вас модель памяти не такая. Раз прототипы в программе описаны, то инклюды не нужны, но либы - нужны. includelib \masm32\lib\kernel32.lib.
Добавлено через 4 минуты Вот в таком виде собирается, что такое DumpRegs, в MSDN не нашёл.
1
|
5 / 5 / 1
Регистрация: 27.11.2009
Сообщений: 232
|
||||||||||||||||
17.10.2011, 23:48 [ТС] | 7 | |||||||||||||||
Добрый вечер!
компилирует без ошибок и как результат на экран вывести? и создать exe файл? Добавлено через 19 минут ml /c proga.asm link /subsystem:windows proga.obj а код у меня верно написан? Добавлено через 1 час 26 минут
по ходу дела тут нужно подключить инклуд Irvine32.inc, но у меня такого файлика нет в папках lib и include, и выдает что такого нет что мне сделать?или как мне заменить DumpRegs?как вывести на экран?
0
|
5 / 5 / 1
Регистрация: 27.11.2009
Сообщений: 232
|
|
17.10.2011, 23:58 [ТС] | 8 |
а чем можно заменить DumpRegs?
Добавлено через 12 минут а еще нашла что DumpRegs это в инклуде Irvine32.inc, но у меня такого файлика нет в папках lib и include ну или вообще как мне вывести на экран то что у меня получилось? Добавлено через 26 минут вот отсюда скачала http://wasm.ru/forum/viewtopic.php?pid=253542 Irvin32.lib но все равно не работает
0
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
||||||
18.10.2011, 00:16 | 9 | |||||
wsprintf переводит число в строку. Только не забывайте, что параметры, передаваемые в функцию, должны быть dword`ми. Если Ваше число - слово, обнулите старшую часть регистра с результатом.
Вот в таком роде:
1
|
5 / 5 / 1
Регистрация: 27.11.2009
Сообщений: 232
|
||||||
18.10.2011, 00:21 [ТС] | 10 | |||||
переделала так:
0
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
|
18.10.2011, 00:25 | 11 |
Koketka, я же дал рабочий код. Вы виндовс с досом мешаете.
0
|
5 / 5 / 1
Регистрация: 27.11.2009
Сообщений: 232
|
|
18.10.2011, 00:55 [ТС] | 12 |
это я написала пока то ваше сообщение еще не видела
Добавлено через 3 минуты а можно у вас еще спросить про строчки которые вы добавили wsprintfA PROTO c :vararg fmt db '%u',0 and eax,0ffffh invoke wsprintfA,offset buffer,offset fmt,eax add esp,12 invoke MessageBoxA,0,addr buffer,0,0 Добавлено через 23 минуты а еще мне нужно слоижть и вычесть числа используя память, не подскажите что нужно изменить?
0
|
Ушел с форума
![]() 15554 / 7372 / 978
Регистрация: 11.11.2010
Сообщений: 13,312
|
|
18.10.2011, 04:37 | 13 |
Koketka, здесь Irvin32.inc, Irvin32.lib, SmallWin.inc, VirtualKeys.inc в одном флаконе
![]() А вообще-то не очень сложно найти в инете книгу Кип Р. Ирвин "Язык ассемблера для процессоров Intel" и почитать ее, куча вопросов сразу бы отпала
0
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
||||||
18.10.2011, 08:37 | 14 | |||||
proto c :vararg говорит компилятору о том, что функция принимает произвольное число аргументов. После вызова такой функции надо чистить стек вручную. Хотя при использовании макроса invoke компилятор сам вставляет нужный код:add esp (количество аргументов)*4.
fmt - формат преобразования числа в символьный вид. Добавлено через 16 минут Да, число же может быть отрицательным, тогда fmt db '%d',0. И movsx eax,ax перед вызовом wsprintf чтобы расширить знак на весь регистр. Вычесть/сложить используя память
1
|
Клюг
7673 / 3188 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
18.10.2011, 12:52 | 15 |
0
|
18.10.2011, 12:52 | |
Помогаю со студенческими работами здесь
15
Ассемблер. Сложение шестнадцатиричных чисел\вычитание двоичных
Помогите решить задачу задача;сложение,вычитание,умножение,деление чисел в разных форматах Ассемблер в паскале: как загрузить массив во встроенный ассемблер и произвести над любым из его чисел сложение(вычитание). Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |