User Tag List

Страница 29 из 30 ПерваяПервая ... 252627282930 ПоследняяПоследняя
Показано с 281 по 290 из 298

Тема: Библиотека нужных процедур для написания демо

  1. #281

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,822
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    это как?
    Раздели на калькуляторе
    Получишь: 1234/5678=0,21733004579
    и ещё куча цифр, но нам такой точности не надо
    Нам надо 16-ти битная дробная часть
    т.е. умножаем это число на 65536 и получаем 14242 (#37A2)
    Последний раз редактировалось Destr; 11.02.2014 в 10:02.

  2. #282

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

    По умолчанию

    аа, понял. Эта процедура только для целочисленного деления.

  3. #283

    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Смотри тут
    Вложения Вложения

  4. #284

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,822
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от GM BIT Посмотреть сообщение
    Смотри тут
    Есть вроде подходящая процедура - DIV 12/12=8.8
    Код:
    ;DIV 12/12=8.8
    ;HL(SIGN)=HL(SIGN)/DE(UNSIGN)
    
    FDIVW   LD BC,0
            EX DE,HL
            INC H:DEC H
            JR Z,FDVW2
    .3      INC B:SRA H:JR Z,FDVW1:RR L
            INC B:SRA H
    FDVW1   RR L
    FDVW2   LD H,TBLOG2[
            LD A,(HL):INC H
            LD H,(HL):LD L,A
            ADD HL,BC
            EX DE,HL
            LD A,H:RLA
            JR NC,FDVW3
            LD A,L:CPL:LD L,A
            LD A,H:CPL:LD H,A:INC HL
            SCF
    FDVW3   EX AF,AF
            LD BC,#0800
            INC H:DEC H
            JR Z,FDVW5
    .3      INC B:SRA H:JR Z,FDVW4:RR L
            INC B:SRA H
    FDVW4   RR L
    FDVW5   LD H,TBLOG2[
            LD A,(HL):INC H
            LD H,(HL):LD L,A
            ADD HL,BC
            OR A:SBC HL,DE
            JP M,FDVW8
            LD A,H:LD B,A
            LD H,TB2X[
            LD L,(HL):LD H,1
            SUB 8:JR NC,FDVW7
            LD A,7:SUB B
            LD ($+4),A
            JR NZ,$
    .7      ADD HL,HL
            LD L,H,H,0
    FDVW6   EX AF,AF
            RET NC
            LD A,L:CPL:LD L,A
            LD A,H:CPL:LD H,A:INC HL
            RET
    FDVW7   LD A,#0F:SUB B
            JR C,FDVW8
            LD ($+4),A
            JR NZ,$
    .7      ADD HL,HL
            JR FDVW6
    FDVW8   LD HL,0
            RET
    А возможно её под 16 бит переделать?

  5. #285

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

    По умолчанию

    Destr, там еще какая то таблица требуется

    Код:
    FDVW2   LD H,TBLOG2[
    ты бы размерность таблицы посмотрел
    С уважением,
    Jerri / Red Triangle.

  6. #286

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,822
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    ты бы размерность таблицы посмотрел
    768 вроде
    А что?

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

  8. #287

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,392
    Спасибо Благодарностей отдано 
    1,701
    Спасибо Благодарностей получено 
    2,218
    Поблагодарили
    872 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от GM BIT Посмотреть сообщение
    Смотри тут
    Spectrum Expert #01

  9. #288

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,822
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так, с делилкой вроде разобрались.
    Как насчёт умножайки?
    16*16=32 (HL*DE=HLDE)
    Сейчас юзаю такую:
    Код:
    IMULW	; (+-) HLDE = HL*DE
    	LD A,H:XOR D:PUSH AF
    	BIT 7,H:CALL NZ,NEGHL
    	BIT 7,D:CALL NZ,NEGDE
    	CALL MULW
    	POP AF
    	RET P
    NEGHLDE	XOR A:SUB E:LD E,A
    	LD A,0:SBC A,D:LD D,A
    	LD A,0:SBC A,L:LD L,A
    	SBC A,H:SUB L:LD H,A
    	RET
    MLW0	LD HL,0
    	RET
    NEGHL	XOR A:SUB L:LD L,A
    	SBC A,H:SUB L:LD H,A
    	RET
    NEGDE	XOR A:SUB E:LD E,A
    	SBC A,D:SUB E:LD D,A
    	RET
    MULW	; HLDE = HL * DE
    	LD A,L:OR H:JR Z,MLW0
    	LD A,E:OR D:JR Z,MLW0
    	LD A,L,B,H:LD HL,0:OR A
    	JP Z,MLW3
    	DUP 8
    		RRA:JR NC,$+3:ADD HL,DE:RR H,L
    	EDUP
    	RRA:LD C,A
    	LD A,B
    MULW1	OR A:JR Z,MLW2
    	DUP 8
    		RRA:JR NC,$+3:ADD HL,DE:RR H,L
    	EDUP
    	RRA:LD D,A,E,C
    	RET
    MLW3	LD A,L,L,H,H,0
    	LD C,A,A,B
    	JR MULW1
    MLW2	LD A,L,L,H,H,0
    	LD D,A,E,C
    	RET
    Бывают быстрей?

  10. #289

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ребята, а отсюда:
    http://baze.au.com/misc/z80bits.html

    процедуры пройдут?

  11. #290

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,822
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вообще нужна процедура 16=16*16
    Но хитрая.
    Сейчас делаю так:
    CALL IMULW ;HLDE=HL*DE
    LD E,D,D,L

    Т.е. нужны собственно не HLDE, а только LD
    Как-бы сократить чтоб шустрей было?

Страница 29 из 30 ПерваяПервая ... 252627282930 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Графическая библиотека
    от alone в разделе Программирование
    Ответов: 81
    Последнее: 31.01.2016, 20:37
  2. Что нужно для написания игр ?
    от zx-kit в разделе Игры
    Ответов: 316
    Последнее: 25.02.2014, 22:25
  3. библиотека на форум
    от sevol в разделе Форум
    Ответов: 4
    Последнее: 26.06.2010, 09:06
  4. простой скрипт для написания хелпов
    от jim в разделе Программирование
    Ответов: 2
    Последнее: 09.04.2007, 14:33
  5. Ответов: 3
    Последнее: 08.02.2007, 19:38

Ваши права

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