User Tag List

Страница 2 из 13 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 121

Тема: Неиспользуемые и редкоиспользуемые команды

  1. #11

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от TmK Посмотреть сообщение
    скоро под zx-evo перестанет еще много чего работать или режим будет выключаемым?
    В ZX-Evo работает всё и будет работать всё. Естественно, имеется в виду baseconf, а не прошивка TS-Labs - там может появиться или исчезнуть что угодно.

  2. #12

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще неудобно, что команда djnz работает с регистром B (старшим в регистровой паре BC), а не с регистром C (младшим). Т.к. чаще всего в результате расчетов счетчик для цикла получается в младшем регистре. Либо при выполнении цикла должен быть в младшем регистре, чтобы сделать старший равным нулю и использовать в дальнейшем команды типа add hl,bc.

  3. #13

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    Данный подход как я понимаю заменяет ld a, page_num; out (page_port), a ? По-моему это не серьезная помощь, такая доработка в теории может дать немного более скоростной доступ к данным в других страницах но ничего ощутимого.
    Нет. Данный подход реализует полноценные сегменты по 64К. Можно держать в одном сегменте код, в другом одни данные, в третьем другие данные, в четвёртом стек.

  4. #14

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Интересная мысль - это расширить разрядность регистров до 32-х бит. И добавить префикс, разрешающий командам с ними работать. То есть будут пары команд:

    JMP4 - загрузить в PC 32 бита.
    MOV R, R - переместить 8 бит данных, остальные 24 бита обнулить.
    MOV4 R, R - переместить 32 бит данных.
    PUSH4 B- сохранить в стек 32 бита.
    ADD4 A - сложение 32 бита.

    И в этом случае отказаться от регистровых пар:

    MOV [HL], A
    MOV4 [H], A

    Таким образом легко сможет выполняться два кода - старый и новый. Причем новый может безопасно лежать в верхней памяти (>64k).
    Последний раз редактировалось vinxru; 11.04.2012 в 10:40.

  5. #15

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    А вот такие команды хотелось бы, чтобы были:
    А как насчёт этих?

    ld8 (NN),N
    ld16 (NN),NN
    ld8 (NN),(NN)
    ld16 (NN),(NN)
    ld8 r,(NN)
    ld16 rp,(ii+N)
    ld16 (ii+N),rp
    add/sub r,N
    ldsigned rp,r
    ld16 rp,rp
    neg16 rp
    sub16 rp,rp
    ld8 a,(NN+a)
    call (NN+a*2) //switch
    ld16 hl,NN+a*k
    ld16 rp,(hl):hl+=2
    ld16 (hl),rp:hl+=2
    inc (NN)
    dec (NN)
    rp*=2
    rp/=2
    push bc,de,hl
    pop hl,de,bc


    Если на рестартах, то можно сделать:

    farcall (с обычным ret)
    switch (как #3d13)
    [fastswitch (0..255)] //switch с диапазонами делается через call range_to_code:fastswitch
    startcritical
    endcritical
    [cin > a]
    [cout < a (как RST 16)]

    Что ещё? Рестартов всего 8 штук.

  6. #16

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    А как насчёт этих?
    мне кажется, это уже слишком большой уход от Спектрума.

    ---------- Post added at 10:40 ---------- Previous post was at 10:38 ----------

    Цитата Сообщение от alone Посмотреть сообщение
    rp*=2
    rp/=2
    здесь лучше сделать сдвиг rp.

    Цитата Сообщение от alone Посмотреть сообщение
    inc (NN)
    dec (NN)
    лучше тада inc16 (hl) и dec16 (hl)

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

  8. #17

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ld16 rp,(ii+N) - вместо ld l,(ix+N):ld h,(ix+(N+1)) (6 байт)
    ld16 (ii+N),rp - вместо ld (ix+N),l:ld (ix+(N+1)),h (6 байт)
    ldsigned rp,r - вместо ld l,a:rla:sbc a,a:ld h,a (4 байта)
    neg16 rp - вместо xor a:sub l:ld l,a:sbc a,h:sub l:ld h,a (6 байт)

  9. #18

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    если так хочется свой комп
    зачем делать его спектрум совместимым и какой в этом смысл ?
    С уважением,
    Jerri / Red Triangle.

  10. #19

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кто тут говорит про свой комп?

  11. #20

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    А как насчёт этих?
    Это всё реализовано давным давно в z-380. Читайте доки.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

Страница 2 из 13 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Основные команды Atari 65
    от Andrey_Ak в разделе Atari
    Ответов: 71
    Последнее: 06.03.2017, 18:27
  2. Недокументированные команды
    от MadCat! в разделе Программирование
    Ответов: 46
    Последнее: 02.02.2011, 13:49
  3. Команды Z80
    от e2e4 в разделе Для начинающих
    Ответов: 11
    Последнее: 02.07.2010, 21:13
  4. Команды Z80
    от Almaz в разделе Программирование
    Ответов: 1
    Последнее: 28.10.2007, 12:50

Ваши права

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