Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на Ассемблере как общего так и конкретного характера.
 
важное примечание
для тех кто считает, что здесь место халявных исполнений курсовых и лабораторных работ.
тут обычно помогают тем, кто сам хоть что-то пытается понять и сделать, но что-то не понимает, что-то не получается...
ведь ассемблер изучают и задачки на нём дают обычно не менеджерам по продажам и даже не всем физ.-мат. специальностям
вы сами избрали этот путь? вот и идите по нему сами, ножками... с ручками и с головой...
 
короче, тут не сборище придурков-альтруистов, которым нечего делать и они ждут-не дождутся когда вы их попросите
что-то сделать _за_ вас
если позарез надо и вы даже готовы заплатить, тогда вам сюда
удачи
 
некоторые ресурсы
http://www.wasm.ru/ Самый популярный русскоязычный ресурс. https://wasm.in/
Ассемблер - книги (ASM, Assembler)
 
Просьба все большие листинги оформлять тегом more.
 
если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:42 29-11-2006 | Исправлено: akaGM, 17:44 11-06-2020
Antyrat



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ну я ж сказал что полный 0 в Ассемблере. Скорее всего в BX, CX, DX, главное если не трудно напишите, регистры думаю я поминяю если что. Или от них многое зависит?

Всего записей: 70 | Зарегистр. 06-11-2006 | Отправлено: 20:40 17-10-2007
Lyrik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
mov ah,0
mov si,0300h
mov al,125
mov [si],al ; записали в 0300 125
push ax     ; записали в стек
pop bx       ; записали в bx
inc si
inc al
mov [si],al ; записали в 0301 126
inc si
inc al
mov [si],al ; записали в 0300 127
...
 

И так повторить код до 130, и через одно писать в стек, а потом в регистры CX и DX. Надеюсь проблем не должно возникнуть, т.к. старался писать понятно.

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 20:56 17-10-2007
denfrol

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
народ, если кто сможет подсобить - подсобите!
задача:дан в файле массив N десятичных чисел до 5-ти разрядов до 10000.Найти max четное  число и вывести его. ваще не представляю, массив в какой системе счисления будет рассматриваться? и как его в файл занести? просто цифры через пробел забить? вообщем, сами понимаете, какой я тупой! помогите, если сможете!

Всего записей: 1 | Зарегистр. 22-10-2007 | Отправлено: 22:47 22-10-2007
ymg2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите новичку,
в инструкции rep movs при активации флага D декремент адреса происходит только в источнике, или в приемнике тоже?

Всего записей: 2391 | Зарегистр. 24-08-2007 | Отправлено: 08:11 01-11-2007
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ymg2000
В приёмнике тоже.

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 09:16 01-11-2007
rain87



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
мало того, без активации флага Д инкремент происходит тоже и si и di

----------
матрица - это система. она и есть наш враг
everyone's first vi session. ^C^C^X^X^X^XquitqQ!qdammit[esc]qwertyuiopasdfghjkl;:xwhat

Всего записей: 1744 | Зарегистр. 21-06-2006 | Отправлено: 15:26 01-11-2007
lexamac2006

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как установить сторожа на COM программу на ассемблере ?!

Всего записей: 3 | Зарегистр. 26-11-2006 | Отправлено: 19:16 02-11-2007
ymg2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Гуру, подскажите.
Часто в дизассемблере приходится видеть следующий код:
mov edi, edi (обычно на т-ке входа в процедуру в dll-ах).
Не совсем понятно, зачем он (переписать себя на себя)?

Всего записей: 2391 | Зарегистр. 24-08-2007 | Отправлено: 07:50 03-11-2007
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ymg2000
Для обеспечения Hot patching. Позволяет модифицировать функции непосредственно в оперативной памяти.

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 12:14 03-11-2007
ymg2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abs62
Спасибо.
В общем, понял, что это для чего-то нужно, скорее всего при написании OS и системных библиотек... Подробнее... и пока принимаю на веру.

Всего записей: 2391 | Зарегистр. 24-08-2007 | Отправлено: 12:51 03-11-2007
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ymg2000

Цитата:
это для чего-то нужно

Это просто пустышка, зарезервированное место - два байта, на место которых можно влепить short jmp. А mov вместо nop используется для ускорения работы - один mov выполняется быстрее, чем два nop.

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 13:14 03-11-2007
ymg2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abs62
Еще раз спасибо. Вот теперь понятно даже моему утомленному уму. В общем - элегантно, но если пользоваться неаккуратно, можно такое спагетти наплести!

Всего записей: 2391 | Зарегистр. 24-08-2007 | Отправлено: 16:06 03-11-2007
virpool

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Люди) Нужна помощь плз)
Мне была дана задача в универе написать программу на асме имитирующую умножение двух однобайтных чисел в столбик, а результат занести в ах. Вопрос вот в чем, сдесь нужно использовать сумматор, в котором хранится результат сложения на каждом шаге и он должен быть объвлен как dw, т.к. результат может превышать 1 байт и должен, как я раньше написал, быть занесен в конце в ах.  Так вот как можно число, объявленое как db, прибавлять к этому сумматору по ходу программы. Старался изложить подробно, чтобы была понятна суть)
Ниже привожу код что написал, где не могу с этим прибавлением разобраться
Подробнее...

Всего записей: 143 | Зарегистр. 01-02-2007 | Отправлено: 23:19 03-11-2007 | Исправлено: virpool, 23:24 03-11-2007
ManHunter



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
как можно число, объявленое как db, прибавлять к этому сумматору по ходу программы

 
x db ?
sum dw ?
 
....
 
xor cx,cx
mov cl,x
add sum,cx

----------
"На любое мое движение ваша реакция предусмотрена,
В лучшем случае - равнодушие, в худшем случае - патология..." (C) Егор Летов

Всего записей: 3091 | Зарегистр. 20-03-2004 | Отправлено: 00:56 04-11-2007
virpool

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ManHunter
спасибо) но я уже понял что стормозил)
тут еще можно было и cbw использовать

Всего записей: 143 | Зарегистр. 01-02-2007 | Отправлено: 01:56 04-11-2007
Umbrall



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
помогите вот такая задача:
дается рисунок любой, цветной, его сделать в черно-белый

Всего записей: 168 | Зарегистр. 18-03-2006 | Отправлено: 09:02 09-11-2007 | Исправлено: Umbrall, 09:18 09-11-2007
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вроде так: яркость = 0.3*красный + 0.11*синий + 0.59*зелёный

----------
Одни с годами умнеют, другие становятся старше.

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 22:35 09-11-2007
PLAG



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос не совсем по программированию на Assembler, но я не знаю куда больше написать. Помогите пожалуйста решить задачу: даны 2 числа: 8710=10101112 и 5710=1110012 Разделить эти 2 числа на сумматоре обратных кодов с восстановлением частичного остатка и получением частвного в обратном коде.
 
Пробовал так:

Код:
 
1-ое число (обратный код): 00 1010111 (знаковая часть + число)
2-ое число (обратный код): 00 111001 (знаковая часть + число)
 
+00 1010111 000000
 00 111001
----------------------
 01 1001001 000000            
 

и что?? 01 - знаковая часть- переполнение, что делать с этой фигней?
Никак не могу разобраться толком в алгоритме еще
Может кто-нибудь объяснит мне, или хотя бы ссылку какую-нибудь, где все понятным языком написано, искал искал, так и не нашел(((

Всего записей: 33 | Зарегистр. 01-10-2006 | Отправлено: 15:59 11-11-2007
faZZ



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нужна помощь с нахождением простых чисел на ассемблере. конкретно, задано число не более 10^9, определить простое оно или нет. может кто встречал реализацию?

----------
жЫзнь интересная штука..

Всего записей: 1642 | Зарегистр. 10-01-2004 | Отправлено: 09:28 20-11-2007
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
faZZ
найди/пойми сначала сам алг, например решето эратосфена, а потом и до реализации недалеко...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 18:44 20-11-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru