ZXNet эхоконференция «code.zx»


тема: compo



от: Vitaly Vidmirov
кому: Arseniy Astapenko
дата: 20 May 1999
Здрасте, здрасте Arseniy! AA> Предлагается кодерам пошевилить извилинами. AA> Current Compo: AA> A bit weird 16x16bit Multiple AA> Input: Any two 16 bit numbers. AA> Routine: Only LD, BIT, AND, OR commands can be used to calculate result. + JP ;) AA> Output: 32 bit value. AA> Remember all rules above is to restrict you - if something AA> is not mentioned here you can do it e.g. use any input/output AA> registers if here is no restriction which should be used. Сегодня (т.е. уже вчера) я наконец то добрался до спектрума и накатал это несчастное умножение, на что мне потребовалось около 2-х часов включая всяческие отстраненные занятия (это я по поводу сложности задачи). =====8<===================================== ;MUL 16*16->32 (C)1999 Dark/X-Trade ;ONLY LD/AND/OR/JP CMDS IS USED!!! TAB EQU #8000; aligned on 256b boundary (129 bytes long) ;HL*DE->HLDE ORG #6000 DI LD HL,#FFFF LD DE,#FFFF CALL MULT LD IY,#5C3A EI RET DW 0 ;- Entry point ------------------------- MULT LD A,E:LD (RS2+1),A LD A,D:LD (RS3+1),A LD A,L:LD (MT0+1),A LD A,H:LD (MT1+1),A LD A,1 LD (CNT0+1),A LD A,0 LD (CNT1+1),A LD (RS0+1),A LD (RS1+1),A LD HL,TAB+#80; set up table LD A,#01:LD (HL),A LD L,#00:LD (HL),A:LD L,A LD A,#02:LD (HL),A:LD L,A LD A,#04:LD (HL),A:LD L,A LD A,#08:LD (HL),A:LD L,A LD A,#10:LD (HL),A:LD L,A LD A,#20:LD (HL),A:LD L,A LD A,#40:LD (HL),A:LD L,A LD A,#80:LD (HL),A MUL1 LD C,0;RESULT*=2 RS0 LD E,0 LD IY,MUL2:JP SLA88 MUL2 LD (RS0+1),A RS1 LD E,0 LD IY,MUL3:JP SLA88 MUL3 LD (RS1+1),A RS2 LD E,0 LD IY,MUL4:JP SLA88 MUL4 LD (RS2+1),A RS3 LD E,0 LD IY,MUL5:JP SLA88 MUL5 LD (RS3+1),A LD A,C OR A JP Z,NOADD LD C,0 LD A,(RS0+1):LD E,A MT0 LD D,0 LD IY,MUL6:JP ADC88 MUL6 LD (RS0+1),A LD A,(RS1+1):LD E,A MT1 LD D,0 LD IY,MUL7:JP ADC88 MUL7 LD (RS1+1),A LD A,(RS2+1):LD E,A LD D,0 LD IY,MUL8:JP ADC88 MUL8 LD (RS2+1),A LD A,(RS3+1):LD E,A LD IY,MUL9:JP ADC88 MUL9 LD (RS3+1),A NOADD LD C,0; CNT<<1 CNT0 LD E,0:LD D,E LD IY,MUL10:JP SLA88 MUL10 LD (CNT0+1),A CNT1 LD E,0:LD D,E LD IY,MUL11:JP SLA88 MUL11 LD (CNT1+1),A LD A,C OR A JP Z,MUL1 LD A,(RS0+1):LD E,A LD A,(RS1+1):LD D,A LD A,(RS2+1):LD L,A LD A,(RS3+1):LD H,A ;- End of prog ------------------------- RET ;- Subroutines ------------------------- SLA88 LD D,E ;E+D-}A, C-CARRY(I/O) ADC88 LD B,0 LD L,B AD0 LD A,E AND D AND (HL) JP Z,AD3 AD1 LD A,C; 1X LD L,(HL) LD C,(HL) AD2 OR B LD B,A JP AD7 AD3 LD A,E OR D AND (HL) JP NZ,AD5 AD4 LD A,C; 0X LD L,(HL) LD C,0 JP AD2 AD5 LD A,C OR A JP NZ,AD6 LD A,E; 0X OR D AND (HL) OR B LD B,A JP AD4 AD6 LD L,(HL) LD C,(HL) AD7 LD A,L OR A JP P,AD0 LD A,B JP (IY) ======8<=============================== AA> Deadline: 20599 === Cut === это я уже типа опоздал? ;) AA> + Origin: этот мир уже ничто не спасет... (500:17/1) во-во. Dark-] //______ [-from //|rade [ TEAM CodeWarrior ]




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
События - Глобальный Форум спектрумистов. История и первый юбилей.
My mind - критика газеты от EXTREME.
Сидю... - Werewolves опять выпил пиво и засел за Marazm.
Почта - Письма, которые упали в наш почтовый ящик.
Return to Home - Дело было поздним вечером ...

В этот день...   8 мая