Найти и вывести максимальный из четных элементов массива, удовлетворяющих условию (28 < i < 232).
При этом даётся массив в файле, который нужно подсоединить к программе. Ещё не понятно, чтобы удовлетворяло условию 28 < i < 232 - индекс, или само число, скорее всего индекс Если кто может помочь - помогите
P.S. Компилятор юзается masm32
volvo
27.04.2009 17:03
Цитата
Ещё не понятно, чтобы удовлетворяло условию 28 < i < 232 - индекс, или само число, скорее всего индекс
Ну, это уж тебе видней - число это или индекс. По написанию - вроде индекс... Тогда задача решается вот так, например:
.486 .model flat, stdcall option casemap :none
include D:\masm32\include\windows.inc include D:\masm32\macros\macros.asm
include D:\masm32\include\masm32.inc include D:\masm32\include\kernel32.inc
print chr$('max of evens = ') xor eax, eax mov al, bl print str$ (eax) ret main EndP end start
Если все-таки 28 < arr[ i ] < 232, то придется чуть-чуть переделать. Попробуй сделать это самостоятельно.
NightMan665
6.05.2009 0:37
Какой-то интересный у нас MASM... в общем сразу когда компилил выдал мне:
Код
Assembling: 1.asm 1.asm(23) : error A2012: PROC, MACRO, or macro repeat directive must precede LOC AL 1.asm(31) : error A2006: undefined symbol : fsize1
добавил в код:
main proc
LOCAL fsize1 :DWORD
mov bl, 0 ; max
скомпилировался на ура, но прога открылась и с такой же резкостью закрылась Что делать?
volvo
6.05.2009 2:33
Цитата
в общем сразу когда компилил выдал мне:
Вот этого быть по определению не может... Эта ошибка говорит о том, что перед LOCAL обязательно должна быть одна из директив MACRO, PROC или REPEAT/WHILE/FOR. Только проблема - в том, что у меня в коде слова LOCAL вообще нет, значит, ты код правил. А коли правил - то и исправляй...
У меня программа компилируется и работает:
NightMan665
6.05.2009 15:01
Цитата(volvo @ 5.05.2009 22:33)
Вот этого быть по определению не может... Эта ошибка говорит о том, что перед LOCAL обязательно должна быть одна из директив MACRO, PROC или REPEAT/WHILE/FOR. Только проблема - в том, что у меня в коде слова LOCAL вообще нет, значит, ты код правил. А коли правил - то и исправляй...
У меня программа компилируется и работает:
Да уж, но без LOCAL у меня выдаёт
Код
1.asm(29) : error A2006: undefined symbol : fsize1
Енто, а ты не мог бы ссылку дать где можно твой masm скачать? Ибо препод не отвяжется Или версию хотя бы
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.