|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Author |
Message |
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
ага, по ЧТ садишь ШД на землю и получаешь 16-разрядный счетчик с тремя питаниями дл перебора нот из ПЗУ
|
02 Feb 2011 08:00 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
У меня в итоге получилось вот что.
Сигнатуру 0AA55H я взял чисто для примера.
Можно выбрать её другую, можно выбрать её
длиннее, но тогда будет длиннее сканер.
Тем не менее, алгоритм, предложенный Шуриком,
Р А Б О Т А Е Т ! ! !
| | | | Code: ; ZODACHA ; ORG XXXXH
LXI H,0000H; чистим HL DAD SP; текущий стек PUSH H; получим в HL и POP B; сохраним в BC
LXI D,76E9H; запишем PUSH D; в стек LXI D,3933H; сканер PUSH D; сигнатуры 0AA55H, LXI H,0FFF4H;вычисляя DAD B; абсолютный адрес M1 PUSH H; в цикле LXI D,0C2B5H;поиска PUSH D; сигнатуры LXI D,7C3BH; в памяти PUSH D LXI D,19E1H PUSH D LXI D,0000H PUSH D LXI D,3100H PUSH D LXI D,0AA56H; = -(55AAH) LXI H,0000H DAD SP PCHL ; переход на сканер ; сигнатуры в стеке
DB 0AAH, 55H; сигнатура M0: ; искомый адрес. MOV D,H ; сохраним адрес MOV E,L ; не используя стек. MOV H,B ; восстановим MOV L,C ; старый SPHL ; стек. MOV H,D ; к текущему MOV L,E ; адресу LXI D,OFFSET; прибавим смещение DAD D ; к ПП корректировки переходов. PCHL ; перейдём к ней ; ... ; | ;OFFSET: ; | ; ... CorTab: ; ПП корректировки переходов. ... ...
| | | | |
NOP в начале и HLT в конце просто выравнивают загрузку в стек по два байта через PUSH ..., чтобы удобно попасть в адреса
На мой взгляд - всё достаточно кратко и элегантно..
Что ж зодачу, которой в ближайший обед примерно 20 лет, мы с вами, уважаемые коллеги, РАСКОЛОЛИ !!!
|
02 Feb 2011 17:29 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22587 Location: Silicon Valley
|
Ухты! Таки полетела...
|
02 Feb 2011 17:51 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну дык!!!
Это только изнасиловать женьщину на площади советчики мешают. ("лопата")
А в программировании они вносят свежий взгляд. ("не лопата, а, скажем, кайло")
|
02 Feb 2011 18:16 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22587 Location: Silicon Valley
|
Ну чтож ты прицепился к этой лопате
Я в 1993 году в тетрадочке писал в кодах 580-го проца подпрограммы передачи управления в перемещаемой программе - которая без таблицы, просто перемещаемая (в которой совсем не используются абсолютные адреса). Единственное ограничение - адрес входа в подпрограмму передачи управления должен быть фиксированным, а тут предложен вариант как найти эту подпрограмму не зная адреса. Теперь у нас всё есть, чтобы писать перемещаемые вирусы для процессора 8080
|
02 Feb 2011 18:55 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Выспавшись и критически взглянув на это творение, я хочу сделать одно
веское замечание. Я писал всё это на эмуле "Специалиста", а "Спец" априори
не имеет прерываний. Чтобы метод был более универсальным и ввиду того,
что мы активно манипулируем стеком, следует критическую часть от начала
программы и до восстановления стека, обрамить парой DI ... EI.
Иначе первое же прерывание всё наше "чюдо в стеке" изгадит.
Возможно, для уверенного опознавания надо взять сигнатуру - в 4 байта.
Сканер это не сильно усложнит.
PS.
Ну я человек конструктивный и заметил, что шутки, к которым я привык в окружении своих друзей, здесь порой вызывают непонимание и даже обиду. И это правильно, что ты подсказал тег "лопата", теперь я им буду щютки обрамлять:
Никто ж не обязан знать чюжих привычных щюток. Вот если ко мне приходит в гости кто-то из друзей, я говорю: "Граф, кофию-с не желаете-с?" и мы оба улыбаемся, поскольку знаем этот дремучий анекдот. А у других это вряд ли поколеблет чувство юмора. Но юмор я люблю - так что лопата - к месту.
PPS. Я спросил... у Гугеля... "где моя любимая?" - да фиг тааам!!! Я спросил - знает ли Гугель анекдот "Граф, кофию-с не желаете-с?" Знает!!!
http://stories.live4fun.ru/last/joke/53161
Но как анекдоты со временем портятся и опошляются... :oops:
Last edited by Lavr on 03 Feb 2011 09:20, edited 2 times in total.
|
03 Feb 2011 03:50 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22587 Location: Silicon Valley
|
Ну в наших уральских краях "лопата" - это тоже был дремучий детский анекдот...
|
03 Feb 2011 06:05 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Ну и в казаше тоже. Я еще в школу ходил, с ранцем. :3
|
03 Feb 2011 19:59 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Канадские первоклассники рисовали на уроке на тему « Кем я хочу быть, когда вырасту». Рисунок одной девочки (текст на рисунке переводится так: « Когда я вырасту, я хочу быть как мама») вызвал бурную реакцию учительницы... На следующий день девочка принесла учительнице записку от мамы:
_________________ iLavr
|
30 Jun 2018 14:44 |
|
|
Who is online |
Users browsing this forum: No registered users and 37 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|