User Tag List

Страница 17 из 18 ПерваяПервая ... 131415161718 ПоследняяПоследняя
Показано с 161 по 170 из 174

Тема: команда BIT n,(HL)

  1. #161

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я сейчас сидел и выяснял историю вопроса с INC/DEC rp. Для того, чтобы определить, не забыты ли были случайно эти инструкции. (Вопрос задал Фрейзер, он считает, что они делают то же что и ADD/SBC для rp). Я так понял, что на самом первом тесте за ними не было замечено ничего подозрительно, и больше в тестах они не участвовали. А зря. Очень не мешало бы воткнуть их (в начало) последнего теста, да и вообще сделать на его основе самый финальный тест, который показал бы непричастность любых подозрительных команд. Ведь даже если какая-то инструкция не устанавливает совсем новое значение в MEMPTR, она может все-таки его изменять. Например, почему бы inc rp не выполнить M++, а dec rp аналогично cpd: M--. В тест обязательно надо включить ВСЕ инструкции с rp, даже невинные LD rp,word. Пусть покажут, что они и в самом деле не при чем.

    Boo-boo?
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  2. #162

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну, вот, мой толькошний пост уже опоздал. Хорошо, а то я на код не особо смотрел, просто в списке отдельно этой команды не узрил.

    Да, если бы влияло, то по крайней мере в одном случае тест (наверное) зациклился бы - или показал, чтов Memptr 0, или еще дал бы что-то странное.

    Я кстати вечор положил тест для IM0 (http://zx.pk.ru/showpost.php?p=44285&postcount=75) - если кто желает прогнать милости прошу, только Пентагон.
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  3. #163

    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а почему заточка именно под пентагон?
    порт #FF? времянка для мультиколоров?

    просто есть вот кай... типа ни рыба ни мясо (не пентагон и не скорп).
    может на нём?
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  4. #164

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для вящей убедительности можно вот такой тест выполнить:
    LD A,(0000) ; MemPtr=0
    BIT 1,(HL) : PUSH AF
    DEC HL
    BIT 1,(HL) : PUSH AF
    LD A,(FFFF) ; MemPtr = FFFF
    BIT 1,(HL) : PUSH AF
    INC HL
    BIT 1,(HL) : PUSH AF

    И еще я вот что подумал: а сама команда BIT n,(HL) точно на MemPtr не влияет? (Вдруг она в него HL или HL+1 грузит...) Последний тест доказывает непричастность этой команды, ведь так? (Так ведь в цикле надо проверять флажки, и если бы HL попадало в MemPtr, то флажки все время давали бы одно и то же значение, в таком случае. Вроде бы доказательство, так я понимаю?).

    Что-то я какой-то подозрительный становлюсь...
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  5. #165

    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov
    Что-то я какой-то подозрительный становлюсь...
    DEC/INC и сам BIT (HL) ага, не влияют -- иначе тест бы сглючил. а вообще, можно влепить туда еще инструкций для перестраховки -- предлагаю составить список...

  6. #166

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Список - все команды с rp хоть в каком-нибудь виде:
    INC rp:DEC rp
    LD r,(HL):LD (HL),r
    ADD/ADC/SUB/SBC/AND/OR/XOR/CP A,(HL)
    RES n,(HL):SET n,(HL)
    ... еще что-нибудь?

    Их надо бы как минимум для начала проверить тестом, что я предложил: сброс Memptr, затем команда, затем установка MemPtr, затем команда. Это чтобы убедиться, что по крайней мере они не делают ++ или -- для MemPtr. А уже затем можно их для вящей убедительности и в основной цикл теста добавить.

    П.С. смайлы отключил, опять ASM Z80 веселится...
    Последний раз редактировалось Vladimir Kladov; 06.04.2006 в 21:04.
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

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

  8. #167

    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov
    Их надо бы как минимум для начала проверить тестом, что я предложил: сброс Memptr, затем команда, затем установка MemPtr, затем команда. Это чтобы убедиться, что по крайней мере они не делают ++ или -- для MemPtr. А уже затем можно их для вящей убедительности и в основной цикл теста добавить.
    да ну, зачем проверять -- сразу загнать в основной тест, чтоб все под рукой было

  9. #168

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от boo_boo
    да ну, зачем проверять -- сразу загнать в основной тест, чтоб все под рукой было
    Для убедительности. По крайней мере inc/dec rp. Вдруг они и вправду делают для memptr ++ или --, хотя бы для некоторых регистров. Кстати, INC/DEC INDEX (INDEX=IX/IY) - особо не мешало бы проверить обоими способами.
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  10. #169

    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov
    Для убедительности. По крайней мере inc/dec rp. Вдруг они и вправду делают для memptr ++ или --, хотя бы для некоторых регистров. Кстати, INC/DEC INDEX (INDEX=IX/IY) - особо не мешало бы проверить обоими способами.
    "второй способ", то есть через CPD, полностью заменяет первый. пусть они хоть что с мемптр-ом делают, мы это увидим. инструкция же исполняется перед циклом декремента CPD, а не в цикле, так что все ок.

  11. #170

    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вот что интересно, так это "обнуление" мемптр при IM0, о котором упоминал Luca из ramsoft. это бы протестировать, но тогда нужен девайс, который по INT выставляет что-либо безобидное для мемптр на шину, к примеру 0. но кто ж полезет с паяльником в свой спек ради такой фигни... или может, уже есть в природе подобные штуки?

    хм... если я правильно понимаю, достаточно перекинуть D0 на землю -- и будет на шине CP вместо RST. может, сделает кто? или отдайте мне кто-нибудь на растерзание старый ненужный спек
    Последний раз редактировалось boo_boo; 07.04.2006 в 00:15.

Страница 17 из 18 ПерваяПервая ... 131415161718 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Команда Outland corp
    от nyuk в разделе Люди
    Ответов: 12
    Последнее: 10.11.2006, 10:16

Ваши права

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