User Tag List

Показано с 1 по 10 из 14

Тема: М80 ассемблер

Древовидный режим

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

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я работал с M80 довольно много. Подобных защит от пионеров, однако, не делал. Макросами пользовался, но мало. Например, такими:
    Код:
    GETHL	MACRO	ADR,OFS
    	LD	L,(ADR+OFS)
    	LD	H,(ADR+OFS+1)
    	ENDM
    
    PUTHL	MACRO	ADR,OFS
    	LD	(ADR+OFS),L
    	LD	(ADR+OFS+1),H
    	ENDM
    Использовал для загрузки или сохранения регистровой пары по смещению от индексных регистров, например:
    Код:
            GETHL IX,4
            PUTHL IY, 8
    Более активно пользовался макросами на PIC-8-bit процессорах:
    Код:
    JNZ	MACRO	LOC		;2/3
    	BTFSS	STATUS,Z
    	GOTO	LOC
    	ENDM
    
    DJNZ	MACRO	ADR,LOC		;2/3
    	DECFSZ	ADR,F
    	GOTO	LOC
    	ENDM
    Для реализации привычных "команд" условного перехода, которых у этих процессоров не было. Аналогично реализовал "команду" DJNZ.

    Основная "сила" M80 для меня была не в макросах, а в наличии компоновщика и возможности собирать программу из нескольких исходных файлов. Остальные ассемблеры на Спектруме тех времен этого не могли. Там или весь проект должен был содержаться в одном исходном файле, или приходилось создавать связи между модулями вручную, с помощью EQU.

    Главным недостатком M80 была его тормознутость, а также тормознутость компоновщика. Реально сожрало много времени моей жизни. Даже Паскаль (Turbo Pascal 3.0 на CP/M) быстрее компилировал.

    Тормознутость M80 и компоновщика во многом обусловлена форматом объектных (.REL)-файлов. Там применяется битовый поток, поэтому для создания или считывания .REL-файла приходится выполнять много сдвиговых операций. Я даже как-то раскопал формат REL-файлов и начал делать свой объектный формат без битовых сдвигов, и компоновщик для него. Незавершенный проект.
    Последний раз редактировалось Barmaley_m; 23.02.2024 в 00:09.

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

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

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

Похожие темы

  1. Атари ассемблер
    от atariki в разделе Atari
    Ответов: 221
    Последнее: 01.05.2025, 16:56
  2. ПК8000 - Ассемблер
    от scaraby в разделе ПК8000
    Ответов: 9
    Последнее: 16.12.2018, 11:00
  3. Ассемблер 8080
    от Kakos_nonos в разделе Утилиты
    Ответов: 0
    Последнее: 21.09.2011, 23:35
  4. Ассемблер Z-80
    от sergey2b в разделе Пресса
    Ответов: 12
    Последнее: 11.07.2011, 23:41

Ваши права

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