aksik666 Опубликовано 10 ноября, 2009 Жалоба Поделиться Опубликовано 10 ноября, 2009 Вот такая вот задачка: Вычисление среднего арифметического отрицательных элементов матрицы.Матрица вводится либо через Randomize либо с клавиатуры.Оч прошу, помогите. Ссылка на комментарий
martinges Опубликовано 10 ноября, 2009 Жалоба Поделиться Опубликовано 10 ноября, 2009 создай процедурку на ввод и на вывод.спрашиваешь размерность матрицы(чтоб не мучаться предположи, что размерность не превысит количество элементов в массиве )p.s. подсказка там везде хольной loop по прерываниям int 21h,int 16hp.p.s если com(tiny) незабудь выровнять сегменты относительно своего сегмента, иначе прыгать он у тебя будет весьма странными кренделями ггг Ссылка на комментарий
coder Опубликовано 11 ноября, 2009 Жалоба Поделиться Опубликовано 11 ноября, 2009 p.p.s если com(tiny) незабудь выровнять сегменты относительно своего сегмента,?. камрад ничего не попутал ?? сегменты ??tiny - один сегмент. для кома выравнивают "стартовый" адрес org 100h.MODEL Tiny.CODEORG 100hStart: Ссылка на комментарий
martinges Опубликовано 12 ноября, 2009 Жалоба Поделиться Опубликовано 12 ноября, 2009 Комрад еслиб был код такого рода:--------my segmentorg 100hbegin: mov ah,9h mov dx,offset messint 21hint 20hmess db 'привет$'my endsend begin--------- я бы и слова не сказал но он там будет по меткам прыгать например:------------my segmentorg 100hbegin: mov ah,9h mov dx,offset messmov cx,5met:int 21hloop metint 20hmess db 'привет$'cseg endsend begin---------без выравнивания работать я так думаю не будет ------->ЛогAssembling file: cod.asmError messages: 1Warning messages: NonePasses: 1Remaining memory: 453knear jump or call to different CS ----> 9 строка---->"loop met"корректный же код выглядит как минимум так:-----------my segmentassume cs:myorg 100hbegin: mov ah,9h mov dx,offset mesmov cx,5met:int 21hloop metint 20hmes db 'привет$'my endsend begin---------------ЛогAssembling file: cod.asmError messages: NoneWarning messages: NonePasses: 1Remaining memory: 453kP.S. гмм может я не понял вопроса и комрад говорил не об этом? Ссылка на комментарий
coder Опубликовано 12 ноября, 2009 Жалоба Поделиться Опубликовано 12 ноября, 2009 martingesassume - это когда он выравнивать что то начал ? Ссылка на комментарий
martinges Опубликовано 13 ноября, 2009 Жалоба Поделиться Опубликовано 13 ноября, 2009 В сегменте команд с помощью директивы assume указано соответствие каждому из сегментов своего сегментного регистра. тоесть тупо говорим мужик это com программулька тут все в одном месте)) и сегмент данных и сегмент кода и т.д))) иначе он ищет его в другом месте и соответственно не находит... помойму как то так. А сам процес подгонки сегментов помойму называется выравнивание сегментов, если не изменяет память такой термин я вычитал из книги Калашникова Assembler это просто Ссылка на комментарий
aksik666 Опубликовано 13 ноября, 2009 Автор Жалоба Поделиться Опубликовано 13 ноября, 2009 Ребята, это, конечно, все оч мило, но я в ассемблере вообще ни бум бум, я оч вас прошу, напишите программку, пожалуста... на ближайшую торрентовку приду поцалую))) Ссылка на комментарий
martinges Опубликовано 13 ноября, 2009 Жалоба Поделиться Опубликовано 13 ноября, 2009 положимся на вселенское чувство справедливости если Россия выиграет у Словении сегодня сделаю задачку от начала и до конца дай бог памяти вспомнить асм, как то не часто я им пользуюсь P.S. регистры какие используете 16/32(ax,eax)? Ссылка на комментарий
coder Опубликовано 13 ноября, 2009 Жалоба Поделиться Опубликовано 13 ноября, 2009 martingesДирективой SEGMENT определяем начало сегмента, так же может, но не обязательно, определять атрибуты сегмента, в которые входит и выравнивание в памяти на границу: BYTE, WORD, DWORD, PARA, PAGE, MEMPAGE.Директивой ASSUME указывают компилятору значение которого сегмента необходимо установить в данный сегментный регистр. В документации указано , что при использовании стандартных сегментных директив необходимо в обязательном порядке указывать ASSUME CS:. То что tasm у вас так ругается это как раз следствие неопределенности CS вычисления относительно сегмента. Попробуйте в листинг добавить директиву MODEL. Результат более чем понятен "CS unreachable from current segment". Сам на практике использовал только упрощенные директивы, не было необходимости тонкой настройки и управления сегментами.Печально если автор упомянутой вами книги использовал "могучесть" русского языка не по назначению.Для aksik666 я бы порекомендовал обратить внимание настанок http://www.masm32.com/ - тонна кода примеров и макросов в придачуесли есть Visual C++ 2005 Express Edition то можно посмотреть Microsoft Macro Assembler 8.0 (MASM) Package (x86)ну и почитать http://www.wasm.ru/ для начала.такие задачи не в школе задают?зы или дождаться результата матчазыы martinges начинай писать =)) Ссылка на комментарий
martinges Опубликовано 14 ноября, 2009 Жалоба Поделиться Опубликовано 14 ноября, 2009 Раз уж пошла такая пьянка 1) 7456 страниц нашлось по фразе "выравнивание сегментов assembler" (с) Yandex, причем вполне приличных кодерских сайтов Если честно не совсем понимаю почему вы вопринимаете все столь болезнено 2) по поводу:martingesВ документации указано , что при использовании стандартных сегментных директив необходимо в обязательном порядке указывать ASSUME CS:. выше был пример рабочего кода без использования директивы assume cs:.my segmentorg 100hbegin:mov ah,9hmov dx,offset messint 21hint 20hmess db 'привет$'my endsend beginвпринципе его можно было бы сюда вставить но необязательно P.S. Думаю все же писать придется я все же хочу увидеть наших с кубком мира в руках а не отсеявшимися до основного веселья Ссылка на комментарий
coder Опубликовано 14 ноября, 2009 Жалоба Поделиться Опубликовано 14 ноября, 2009 вопринимаете все столь болезнено=) камрад, с чего ты взял это ?7456 страниц нашлось по фразе "выравнивание сегментов assembler" (с) Yandexи что там про аssume ? окинул взглядом вроде как про атрибут для директивы SEGMENT так и пишут =).зы с кубком не знаю, но братьев славян должны пройти. [пытается забыть матч с азербайджаном у них дома] Ссылка на комментарий
martinges Опубликовано 16 ноября, 2009 Жалоба Поделиться Опубликовано 16 ноября, 2009 aksik666опачки про тебя то я и забыл До вечера, если никакая падлюка не помешает скину исходничег P.S. Россия вперед осталось выиграть Словенцев на их поле Ссылка на комментарий
aksik666 Опубликовано 16 ноября, 2009 Автор Жалоба Поделиться Опубликовано 16 ноября, 2009 Буду болеть за Россию, мой курсовой в их руках)))Во-сколько матч? Ссылка на комментарий
coder Опубликовано 20 ноября, 2009 Жалоба Поделиться Опубликовано 20 ноября, 2009 aksik666=)) вот свезло так свезло. Ссылка на комментарий
aksik666 Опубликовано 23 ноября, 2009 Автор Жалоба Поделиться Опубликовано 23 ноября, 2009 Эммм... в смысле?Ребят!!! Ну, помогите кто-нибудь, пожаааалуйста... Ссылка на комментарий
прохожий Опубликовано 23 ноября, 2009 Жалоба Поделиться Опубликовано 23 ноября, 2009 aksik666твоя задача была не в руках, а в ногах сборной =). они её и пропинали.задача не сложная, сам бы попробывал уже бы сделал. если бы что то было не понятно объяснили. а так не интересно, экспу в набивании на клавиатуре не нужно, тут тупо кодинг без всякой фантазии. Ссылка на комментарий
aksik666 Опубликовано 24 ноября, 2009 Автор Жалоба Поделиться Опубликовано 24 ноября, 2009 Я порой не понимаю людей, особенно программистов - пишут, что не сложно, а написать не могут... Видимо, сложно... Неужели не жаль бедную девушку, которая без этой программки возможно и диплом не получит никогда... *24 Ссылка на комментарий
прохожий Опубликовано 24 ноября, 2009 Жалоба Поделиться Опубликовано 24 ноября, 2009 aksik666а зачем учиться если простые вещи не пытаться сделать? асм экономистам и юристам не дают в программе. Ссылка на комментарий
TolkienDRR Опубликовано 24 ноября, 2009 Жалоба Поделиться Опубликовано 24 ноября, 2009 программисты обычно за написать деньги получают =) собственно - это наша работа. Ссылка на комментарий
aksik666 Опубликовано 25 ноября, 2009 Автор Жалоба Поделиться Опубликовано 25 ноября, 2009 Так в чем проблема? Могу заплатить, только не много, сами ведь говорите, что программа простая.Добавлено спустя 2 минуты 45 секунд:aksik666а зачем учиться если простые вещи не пытаться сделать? асм экономистам и юристам не дают в программе.Нам асм тоже не давали, что поделать, а курсовой требуют. Не мы такие жизнь такая. А не пытаюсь сделать, потому что времени нет на изучение. Да и собственно зачем мне его изучать, если знаю, что в будущем на нем писать не буду. Ссылка на комментарий
прохожий Опубликовано 25 ноября, 2009 Жалоба Поделиться Опубликовано 25 ноября, 2009 Нам асм тоже не давали, что поделать, а курсовой требуют.в деканат. мы в свое время строили таких "умных" преподавателей.Могу заплатить,пишите сумму так быстрее найдете желающих.удачиДа и собственно зачем мне его изучатьугу и историю, и обж, и прочую м..нь, однако, мои коллеги из забугорья считают иначе и очень внимательно относятся к маркам на непрофильные активы предметы. почему? так очевидно же. Ссылка на комментарий
aksik666 Опубликовано 25 ноября, 2009 Автор Жалоба Поделиться Опубликовано 25 ноября, 2009 Вот пусть считают и изучают, я вообще в области дизайнера планирую работать. А диплом нужен, отказываться поздно, пятый курс как-никак.Добавлено спустя 7 минут 25 секунд:Ценник - 200 р. Ссылка на комментарий
cron7mu Опубликовано 13 января, 2010 Жалоба Поделиться Опубликовано 13 января, 2010 1) Дан массив действительных чисел А(i), i=1÷10. Определить минимальный элемент массива и его порядковый номер.2) Найти наименьшее из трех данных чисел. Вывести его.3) Дан массив ai, i=1,…,10. Найти среднее арифметическое наименьшего и наибольшего элементов массива. Вывести среднее арифметическое.4) Дано число x. Вычислить y, если:y=x^2, при -2 ≤ х ≤ 2y=4, в противном случае. Вывести y.5) Даны два числа. Заменить второе число нулем, если не меньше первого. И оставить его прежним, если это не так.Вывести второе число.6) Даны два числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.7) Дано число х, вычислить y, если:y=0, при х ≤ 0y= х^4, в противном случае. Вывести y.8) Дан массив из 20 элементов.Четные элементы сдвинуть на три, а нечетные на четыре.9) В массиве А(4,5). Найти количество чисел, меньше чем число х. Вывести количество чисел.10) ai, i=1,…,10.Сформировать массив по следующему правилу:нечетные разделить на 2, четные умножить на 2.11) Даны два числа. Вывести второе число, если оно не меньше первого и вывести сумму обоих чисел, если это не так.12) Подсчитать сумму элементов массива состоящего из семи элементов.13) Сложить два числа, если результат будет больше 200, то вычесть число 50, иначе прибавить 15.буду крайне благодарен!!! у нас просто экзамен по ассемблеру.... после удачной сдачи, с нас пивко *70.aksik666 извини что в твоей темке пишу, последнее сообщение в конце декабря... я надеюсь ты свой курсач уже сдала Ссылка на комментарий
cron7mu Опубликовано 17 января, 2010 Жалоба Поделиться Опубликовано 17 января, 2010 Задачи на ассемблере:1) Дан массив действительных чисел А(i), i=1÷10. Определить минимальный элемент массива и его порядковый номер.2) Найти наименьшее из трех данных чисел. Вывести его.3) Дан массив ai, i=1,…,10. Найти среднее арифметическое наименьшего и наибольшего элементов массива. Вывести среднее арифметическое.4) Дано число x. Вычислить y, если:y=x^2, при -2 ≤ х ≤ 2y=4, в противном случае. Вывести y.5) Даны два числа. Заменить второе число нулем, если не меньше первого. И оставить его прежним, если это не так.Вывести второе число.6) Даны два числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.7) Дано число х, вычислить y, если:y=0, при х ≤ 0y= х^4, в противном случае. Вывести y.8) Дан массив из 20 элементов.Четные элементы сдвинуть на три, а нечетные на четыре.9) В массиве А(4,5). Найти количество чисел, меньше чем число х. Вывести количество чисел.10) ai, i=1,…,10.Сформировать массив по следующему правилу:нечетные разделить на 2, четные умножить на 2.11) Даны два числа. Вывести второе число, если оно не меньше первого и вывести сумму обоих чисел, если это не так.12) Подсчитать сумму элементов массива состоящего из семи элементов.13) Сложить два числа, если результат будет больше 200, то вычесть число 50, иначе прибавить 15.ну что никто не поможет?!!!не за просто так же!!! ну хэлп, плиииз Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти