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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
что-то я совсем запамятовал...
 
разве .COM формат ret'ом возвращается, а не 20-ым интом?

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 14:37 17-07-2012
MERCURY127



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

Всего записей: 11554 | Зарегистр. 03-08-2008 | Отправлено: 14:41 17-07-2012
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
return-ом тоже возвращается
 
Добавлено:

Цитата:
CSEG segment
assume cs:CSEG
org 100h
Begin:
mov ax,3h
INT 10h
mov dx,3c8h
mov al,0
out dx,al
mov dx,3c9h
mov al,0
out dx,al
mov al,0
out dx,al
mov al,63
out dx,al
mov dx,3c8h
mov al,7
out dx,al
mov dx,3c9h
mov al,63
out dx,al
mov al,63
out dx,al
mov al,63
out dx,al
ret
CSEG ends
end Begin

компилится и работает и тасмом и масмом

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:44 17-07-2012
Abs62



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

Цитата:
разве .COM формат ret'ом возвращается, а не 20-ым интом?

Это такой извращённый способ вызвать int 20h - перейти на начало PSP.

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

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 18:41 17-07-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abs62
типа версии дос с обратной/"вперёдной" совместимостью бодались?

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 19:04 17-07-2012
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Даже не DOS - это наследие CP/M.

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

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 19:18 17-07-2012
akaGM

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

Цитата:
перейти на начало PSP.

а здесь не CD 20 сидит? :)

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 20:24 17-07-2012 | Исправлено: akaGM, 23:18 17-07-2012
Abs62



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

Цитата:
а сдесь не CD 20 сидит?

Ну да, int 20h, он самый. Я ж и говорю - извращённый способ дёрнуть его.

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

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 20:27 17-07-2012
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мсье XAN знает толк в извращениях ...

Всего записей: 11554 | Зарегистр. 03-08-2008 | Отправлено: 22:49 17-07-2012
XAN

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MERCURY127
Да пишет тот Калашников, что надо вот с этого начинать, понять, вникнуть... вот я и сижу вникаю.
В принципе надо достигнуть уровня считывания кода по конструкциям... просто узнавать блоки и где что делается... так что я пока новичок и мне еще много делать.
 
RET возвращает, если стек выровнен.... возврат будет к DOS тогда.
Калашников пишет, что можно... и это работает.
Почему бы и нет ?

Всего записей: 271 | Зарегистр. 03-09-2004 | Отправлено: 23:20 17-07-2012 | Исправлено: XAN, 23:23 17-07-2012
MERCURY127



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

Всего записей: 11554 | Зарегистр. 03-08-2008 | Отправлено: 13:28 18-07-2012
akaGM

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

Цитата:
дос на стек кладет
:)

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 13:37 18-07-2012
Abs62



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

Цитата:
Калашников пишет, что можно... и это работает.  
Почему бы и нет ?

Да нет, можно, конечно. Это же ассемблер, тут по всякому можно. И стоя, и лёжа, и боком, и на лыжах, и в гамаке... И  
вот так можно, к примеру. И работать будет.
Просто разбираться в логике работы такой программы будет сложнее. И баги искать, буде они всплывут. А так, конечно, никто не запрещает.

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

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 17:44 18-07-2012 | Исправлено: Abs62, 17:47 18-07-2012
akaGM

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

Цитата:
И вот так можно, к примеру.

камасутра на ассемблере...
от ить не поленился :)

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 18:15 18-07-2012 | Исправлено: akaGM, 18:42 18-07-2012
delover

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

Цитата:
камасутра на ассемблере...  

Имхо сразу 2. Если камасутра, то где же деньги. Камасутра на ассемблере - милое дело, где же деньги 2 раза. Третий имхо - камасутру на ассемблере заказали бы - сделал бесплатно, тока как с женой урегулировать не знаю.
 

Цитата:
Это такой извращённый способ

Я то думал Вы интрудер ковыряли.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 19:18 19-07-2012
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Про интрудер - давненько было. Защита от интрудера строилась следующим образом. Таблица прерываний по адресу памяти 0..0x0400 читалась и перезаписывалась стековыми инструкциями PUSH и POP. При этом на определённом участке кода программа не могла использовать стек по назначению. После этого интрудер терял нюх. Это в копилку камасутры со стеком.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 07:42 20-07-2012
Yvaliko

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помню читал когда то про древний вирус. Ни чем особо не выделялся, кроме того что был неизлечим.
Парсит исполняемый файл. Все CD 21 заменяет на FF. Потом перехватывает int 6 - недействительный КОП.
Программа выполняется, натыкается на FF, прочессор вызывает прерывание. Прерывание уже перехвачено и внутри просто выполняется int 21h.
Если убить вирус, то программа перестает работать. Заменить все FF назад на CD 21 уже нельзя, т.к. не все FF именно вирус вписал, это могут быть и данные и части других команд. Вернуть работоспособность можно лишь ручками анализируя код.
Вот такая камасутра была в далеком 20 веке.

Всего записей: 770 | Зарегистр. 13-05-2008 | Отправлено: 17:44 20-07-2012
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну я то про стек писал. Естественно в примере с интрудером таблица прерываний немного изменялась после чтения и всегда записывалась только в изменённом виде. При этом таймеров виндовс не было и надо было записывать исходя из событий. Последним что я помню - это было использование такого приёма в смеси с инструкцией RET. Мой мозг не успел осилить а времени у меня не было.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 20:13 20-07-2012
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так это максимум - история, драм паузы не мой конёк.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 22:57 03-08-2012
akaGM

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

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 11:46 04-08-2012 | Исправлено: akaGM, 19:23 04-08-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 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