User Tag List

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

Тема: Прерывания IM2 в Специалисте на КР580

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

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

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,895
    Спасибо Благодарностей отдано 
    338
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    242 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Ничего не произойдёт. Данные ведь передаются выше текущей позиции стека, а при CALL или RST по прерыванию будет испорчено 2 байта ниже, где не хранится ничего полезного.
    нет
    та графика на которую указывает SP будет убита

    а поскольку прерывание будет приходить абы где
    то скоро вся графика игры будет выпилена полностью
    и заменена адресом возврата.

    так что там с DI/EI?
    С уважением,
    Jerri / Red Triangle.

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

  3. #2

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    нет, та графика на которую указывает SP будет убита
    Каким образом использование стека подпрограммой может принести хоть какой-то вред? Что же программист полный идиот, чтобы ставить стек на область в которой хранятся нужные данные?

    Может быть Вы имеете в виду случай когда стеком делается ролик экрана. В мониторе Орлова ролик тормозной без стека, а вот в ленинградском мониторе ролик делается стеком. Естественно, когда стек используют не по назначению, то прерывания запрещают.
    Последний раз редактировалось barsik; 12.03.2018 в 23:27.

  4. #3

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,895
    Спасибо Благодарностей отдано 
    338
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    242 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Каким образом использование стека подпрограммой может принести хоть какой-то вред? Что же программист полный идиот, чтобы ставить стек на область в которой хранятся нужные данные?
    это вы сейчас по незнанию да неопытности сказали

    вред будет нанесен если ктото по незнанию внесет изменения в программу
    например включит прерывания или воткнет свою собственную процедуру прерывания
    во время освежения экрана через стек

    вот вам кусок кода для вывода графики на экран.
    правда под спектрум и Z80 но нам это без разницы совершенно

    данный код работает с включенными прерываниями и специальным обработчиком прерывания
    если внезапно там окажется другой обработчик то вся графика будет минут за 10 полностью уничтожена.

    Код:
    rend_line
    	dup	32
    	push	hl	;11
    	ld	l,(hl)	;6
    	ld	h,a	;bg_font/2048	;7	
    	add	hl,hl	;11	
    	add	hl,hl	;11
    	add	hl,hl	;11
    	ld	c,(hl)	;7
    	inc	l	;4
    	ld	b,(hl)	;7
    	inc	l	;4
    	ld	sp,hl	;6
    	ld	l,e	;4
    	ld	h,d	;4	
    
    	dup	3	
    	ld	(hl),c	;7
    	inc	h	;4	
    	ld	(hl),b	;7
    	inc	h	;4
    	pop	bc	;10
    	edup
    			;96
    
    	ld	(hl),c	;7
    	inc	h	;4	
    	ld	(hl),b	;7
    
    	ld	sp,ix	;10
    	pop	hl	;10
    	inc	e	;4
    	inc	l	;4
    ;			;236
    	edup
    rend_size	equ	($-rend_line)/32
    	org	$-1
    
    	ld	bc,-31
    	add	hl,bc
    	jp	rend_line

    Может быть Вы имеете в виду случай когда стеком делается ролик экрана. В мониторе Орлова ролик тормозной без стека, а вот в ленинградском мониторе ролик делается стеком. Естественно, когда стек используют не по назначению, то прерывания запрещают.
    в том числе и ролик экрана
    когда программист что-то пишет он твердо знает обычно где и как будет работать его программа
    освежение экрана через стек дает значительное ускорение по сравнению с другими способами.
    С уважением,
    Jerri / Red Triangle.

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

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

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

Похожие темы

  1. Разработка системы на КР580 серии
    от Viktor2312 в разделе Разное
    Ответов: 45
    Последнее: 21.10.2015, 23:58
  2. КР580 - 2,5 Мгц only?
    от alex-eller в разделе Разное
    Ответов: 88
    Последнее: 09.05.2015, 08:41
  3. IM2 в TR-DOS
    от VELESOFT в разделе Софт
    Ответов: 1
    Последнее: 02.02.2013, 19:17
  4. im2 и call 3d13
    от moroz1999 в разделе Программирование
    Ответов: 36
    Последнее: 20.01.2007, 13:00
  5. IM2, вектор прерывания
    от Jukov в разделе Программирование
    Ответов: 18
    Последнее: 20.09.2006, 09:32

Ваши права

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