User Tag List

Результаты опроса: Использование RST

Голосовавшие
5. Вы ещё не участвовали в этом опросе
  • Предлагаемый вариант нужно обсудить…

    1 20.00%
  • Старо, как весь восьмибитный мир!

    2 40.00%
  • Автор сам понял, что написал?

    2 40.00%
Опрос с выбором нескольких вариантов ответа.
Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 47

Тема: Обфускация кода / Плюшки команды RST 7

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обфуска́ция (от лат. ... obfuscate -делать неочевидным, запутанным, сбивать с толку) или запутывание кода - приведение исходного текста или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции.
    Чет не понял об чем тема. ТС решил запутать понятный код? RST для 8080 это классика. Или ТС решил потролить с железякой - обфускацией?

    Не документированные команды - кому масло в коде. По мне бочка дегтя.

    CP/M отлично работает на Z280. Придет время и стандартный биос MSX запущу на Z280 (c фиксами железной шины Z280).
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,235
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    995
    Поблагодарили
    642 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это споры из той же серии: какой язык лучше, русский или английский? Кто к какому привык.

    Для меня совершенно бессмысленны портянки из однотипных унылых LD, мозгу не за что "зацепиться" при анализе такого листинга. Интеловский вариант более "человечный", мне одного взгляда на страницу с кодом достаточно для понимания "где мы находимся" и "о чём тут речь".
    У кого-то "мышление робота" и ему понятнее чёткие монотонные конструкции "LD xx,yy" - здоровья на.

    Только к чему споры-то эти все? LD'шники лучше программируют или что?
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

    Этот пользователь поблагодарил Denn за это полезное сообщение:


  4. #3

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,875
    Спасибо Благодарностей отдано 
    523
    Спасибо Благодарностей получено 
    252
    Поблагодарили
    226 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Зачем спорить о мнемониках ассемблера? Напишите свой с собственной мнемоникой и своими макро и пользуйтесь на здоровье. Процессор понимает и выполняет КОДЫ! Как вы их обзовете ему вообще фиолетово. Кстати, ничто не мешает написать для любого проца и ассемблер с русской мнемоникой. По моему скромному разумению "Прыг" это прикольно

    Единобразие нужно как раз ЯВУ. И вот здесь проблема в том, что они генерят разные строки и поэтому один и тот же компилятор нельзя использовать для разных архитектур( об оптимизации скромно умолчим, она конечно не может быть единобразной). А два разных компилятора одного ЯВУ могут генерить совершенно различный код. Человеческие языки в дискуссию не втягиваем, у них функции в разы разнообразней.

    Этот пользователь поблагодарил andrews за это полезное сообщение:


  5. #4

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,235
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    995
    Поблагодарили
    642 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andrews Посмотреть сообщение
    Зачем спорить о мнемониках ассемблера?
    Простые задачки решать проще, чем сложные. Поэтому километры форумов и ноль строчек кода..(
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  6. #5

    Регистрация
    05.03.2010
    Адрес
    Ташкент
    Сообщений
    160
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    66
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation x86-мнемоника для i8080/z80 и rst 0 - это зло или хорошо?

    Кaк-то уже писал свой транслятор с ассемблера, в котором опкод - i8080, а мнемоника - x86.
    И знаете что? Отлаживать свои программы стало легче!
    Так как я их стал писать в MSVC внутри «_asm {…}», а потом копировал и транслировал в код ВМ80:
    • mov al,[bx] === mov a,m
    • xchg bx,[sp] === xthl
    • jmp bx === pchl
    • add bx,dx === dad de


    Кстати, вот накидал тут кода:

    Используется всё: RST 0…7

    Код:
    prompt  equ	0F86Ch
    puta	equ	0F815h
    puts    equ	0F818h
    
    THE_PSW	EQU	07FFEH
    THE_HL	EQU	07FFCH
    
    JRNZ	EQU	0C7H
    JRZ	EQU	0CFH
    JRNC	EQU	0D7H
    JRC	EQU	0DFH
    
            org 0
    ;    Эта крошечная утилита с оригинальным трюком
    ; использования RST-команд.
    ; Возможность выбора точки старта программы посредством
    ; директивы <G0>..<G38>-МОНИТОРа.
    ; Возможность вызова нужной подпрограммы при помощи
    ; функции <USR(0..56)>-БЕЙСИКа.
    ; Вызов дополнительного API из любой части остального
    ; приложения посредством <RST 0>..<RST 7>
    	ORG	00000H
    	DB	0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
    	DB	0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
    	DB	0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
    	DB	0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
    	DB	0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
    	DB	0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
    	DB	0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
    ; Здесь располагается обработчик программных прерываний и системных вызовов.
    ; Через "МОНИТОР" из-вне имеется 57 точек входа директивой G0-G38 для запуска
    ; программы в различных режимах.
    ; Внутри программы эти вызовы дублируют API "МОНИТОРа" и дополняют его.
    	ORG	00038H
    	SHLD	THE_HL	; Сохраняем HL-пару
    	PUSH	PSW	; Затем, посредством
    	POP	H	; регистровой пары HL
    	SHLD	THE_PSW	; сохраняем и PSW
    	LXI	H,08A00H; Проверяем указатель стека:
    	DAD	SP	; Предустановил ли его МОНИТОР?
    	POP	H
    	JC	START	; Значит это "холодный старт"
    	MOV	A,H
    	ADD	A	; Проверим, прикладной ли вызов?
    	JNZ	THE_APP	; Приложение вызывает наш API
    	JC	MON_RST	; Значит один из FF МОНИТОРа
    	MVI	A,TAPIS	; Table of APIs
    	ADD	L	; Иначе - это USR-вызов
    	MOV	A,M
    	INX	H
    	MOV	H,M
    	XTHL
    	LHLD	THE_PSW
    	PUSH	H
    	POP	PSW
    	LHLD	THE_HL
    	RET
    THE_APP:MOV	A,M	; Вызов из приложения
    	XRI	080H	; Если укладывается в KOI-7
    	JM	PRINT	; Просто печатаем сообщение
    	INX	H
    	PUSH	H	; Сейчас проверим следующий байт
    	SUI	012H	; Одна из стандартных 18 точек
    	JC	THE_MON	; МОНИТОРа?
    	ADD	A
    	MVI	H,THE_API >> 8
    	MOV	L,A
    	MOV	A,M
    	INX	H
    	MOV	H,M
    	MOV	L,A
    	XTHL
    	RET
    THE_MON:CMA
    	MOV	L,A
    	ADD	A
    	ADD	L
    	MOV	L,A
    	MVI	H,0F8H
    THE_RET:PUSH	H
    	LHLD	THE_PSW
    	PUSH	H
    	POP	PSW
    	LHLD	THE_HL
    	RET
    PRINT:	PUSH	H
    	PUSH	B
    	CALL	PUTS
    	POP	B
    	INX	H
    	JMP	THE_RET
    TAPIS:	DW	PROMPT
    	DW	  0,0,0,0,0,0,0
    	DW	0,0,0,0,0,0,0,0
    	DW	0,0,0,0,0,0,0,0
    	DW	0,0,0,0,0,0,0,0
    	DW	0,0,0,0,0,0,0,0
    	DW	0,0,0,0,0,0,0,0
    	DW	0,0,0,0,0,0,0
    START:	LXI	SP,075FFH
    	MOV	C,L
    	DB	0FFH,1FH,'START:',0
    	MOV	A,C
    	DB	0FFH,08AH
    	DB	0FFH,092H
    Фокус в том, что при запуске через «G0…G38» указатель стека SP установлен в служебную область МОНИТОРа и программно легко это определить.
    А вот при «CALL 00000h…00038h» указатель стека уже в области пользователя и получается, что и «RST 0» тоже работает как особая подпрограмма.

    На ZX-Spectrum этот трюк не сработает, так как при СБРОСе SP никак не изменяется.
    Но вот кодом «FF» я заполнял все 256 ячеек (исключения - 00038h и 00098h, где нужно вставить «JR»), а сам код начинался с 00100h.
    [свернуть]

  7. #6

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,396
    Спасибо Благодарностей отдано 
    765
    Спасибо Благодарностей получено 
    2,368
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Радио-86РК Посмотреть сообщение
    Кaк-то уже писал свой транслятор с ассемблера, в котором опкод - i8080, а мнемоника - x86.
    Например Веремеенко (который еще писал про Dendy+спек) в zx-ревю писал про систему Трамплин, если не путаю.


    Цитата Сообщение от Радио-86РК Посмотреть сообщение
    ; Возможность вызова нужной подпрограммы при помощи
    ; функции <USR(0..56)>-БЕЙСИКа.
    1. Для какого бейсика это применимо, если у практически всех РКшных по этим адресам свои бейсиковские процедуры?
    2. Что это дает? Экономию 2-3 байт на каждом вызове из программы на бейсике? Можно сделать еще лучше (проще и короче) если просто хакнуть usr или даже добавить специальный оператор или функцию. И главный вопрос - кто будет это использовать? Не припомню выкладывания новых программ на бейсике для РК за все время существования форума, хотя возможно я просто пропустил.

    Даже если отвлечься от бейсика, то программа скорее похожа на троллинг. Если это было целью тогда поздравляю, получилось.

    - - - Добавлено - - -

    Цитата Сообщение от ivagor Посмотреть сообщение
    Например Веремеенко (который еще писал про Dendy+спек) в zx-ревю писал про систему Трамплин, если не путаю.
    Похоже спутал, Веремеенко писал про мнемоники x86 для трансляции в код z80, не 8080. А про трансляцию мнемоник x86 в код 8080 возможно писали на форуме.

  8. #7

    Регистрация
    05.03.2010
    Адрес
    Ташкент
    Сообщений
    160
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    66
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от OrionExt Посмотреть сообщение
    Видимо автор не читал свой заголовок темы, критику и посты по теме. Или попутал в запале со своей соседней темой.
    Ничегo не попутал. Просто проводил достаточно опытов на разных архитектурах.
    Цитата Сообщение от ivagor Посмотреть сообщение
    1. Для какого бейсика это применимо, если у практически всех РКшных по этим адресам свои бейсиковские процедуры?
    Можно отследить, откуда вызов идёт. А в идеале - сам Бейсик хорошенечко подкорректировать.
    Цитата Сообщение от ivagor Посмотреть сообщение
    2. Что это дает? Экономию 2-3 байт на каждом вызове из программы на бейсике? Можно сделать еще лучше (проще и короче) если просто хакнуть usr или даже добавить специальный оператор или функцию. И главный вопрос - кто будет это использовать? Не припомню выкладывания новых программ на бейсике для РК за все время существования форума, хотя возможно я просто пропустил.
    В ZX-Spectrum RST-фишки реализованы не совсем оптимально.
    Оно и видно - начало 80-х. Сейчас Демо-сцена вытворяет вещи, невообразимые для тех лет.

    DRIFT

    [свернуть]

    И Бейсики (всех архитектур) можно было переписать на уровне XXI века с куда широкими трюками.
    Цитата Сообщение от ivagor Посмотреть сообщение
    Даже если отвлечься от бейсика, то программа скорее похожа на троллинг. Если это было целью тогда поздравляю, получилось.
    Вот уж не хотел троллить.
    Видимо, когда одновременно занимаешься смежным кодом, он из смежного становится смешанным и всех путает.
    Последний раз редактировалось Радио-86РК; 10.12.2019 в 18:54. Причина: добавил видео

  9. #8

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,396
    Спасибо Благодарностей отдано 
    765
    Спасибо Благодарностей получено 
    2,368
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Радио-86РК Посмотреть сообщение
    В ZX-Spectrum RST-фишки реализованы не совсем оптимально.
    Оно и видно - начало 80-х. Сейчас Демо-сцена вытворяет вещи, невообразимые для тех лет.
    И Бейсики (всех архитектур) можно было переписать на уровне XXI века с куда широкими трюками.
    Если это серьезный ответ, то я зря влез в обсуждение.

  10. #9

    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Видимо автор не читал свой заголовок темы, критику и посты по теме. Или попутал в запале со своей соседней темой. А теперь в стиле зх.пк обсуждает чего-то другое.

    Как нам было бы хорошо, если бы команды да для меня лично на понятном языке.

    Гугл ассистент еще вспомним, и Эллочку-людоедку.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  11. #10

    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чего меня беспокоить (движок форума)? ivagor?
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Недокументированные команды z80
    от tae1980 в разделе Программирование
    Ответов: 18
    Последнее: 09.12.2018, 09:16
  2. Неиспользуемые и редкоиспользуемые команды
    от alone в разделе Программирование
    Ответов: 120
    Последнее: 18.10.2013, 00:07
  3. Недокументированные команды
    от MadCat! в разделе Программирование
    Ответов: 46
    Последнее: 02.02.2011, 13:49
  4. Команды Z80
    от e2e4 в разделе Для начинающих
    Ответов: 11
    Последнее: 02.07.2010, 21:13
  5. Команды Z80
    от Almaz в разделе Программирование
    Ответов: 1
    Последнее: 28.10.2007, 12:50

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •