Re: A contest...with a prize!
- Posted by Joe Phillips <bubba at TXWES.EDU> Jun 03, 1998
- 935 views
I, too, had one of those 'euphoric' experiences when I read your response! It was a bright, yet dull sensation that started in the palm of my hand and proceeded down through..... No, wait, that was when I was healed with my hand touching a television screen, Anyway. I have never experienced that environment, but I feel a sort-of kinship. Although I did not touch my first computer until 1982. IBM Series I. As long as I am waxing philosophical, this is a great chance for all of the younger programmers to acknowledge the wealth of experience they have available to them on this list. As a beginner, I would have relished the chance to read some of these discussions on logic, design, etc. I think that is why many of you are so patient and level headed with your responses to the 'simple' or 'intro' questions. Let's NOT separate the lists....... <******** ORIGINAL MESSAGE FOLLOWS *********> Well Irv beleive it or not I recognised those HEX bytes at first glance. I spent so many hours in 1978 programming a CDP1802 machine on a Hexadecimal keypad and only LED for display (not even and hex display just binary code) 00 38 SKP ; skip next byte 01 00 ; data byte 02 F8 01 LDI 01 ; load immediate register D with 01 04 A1 PLO R1 ; put register D in low byte of R1 05 E1 SEX 1 ; set register X with 1 06 64 OUT4 ; out to device 4 M(R(X)) -> BUS 07 21 DEC R1 ; decrement R1 08 F0 LDX ; load register D via register X 09 A2 PLO R2 ; put register D in low byte of register 2 0A 6C INP4 ; input from device 4 (data send to D and M(R(X)) 0B FA 0F ANI 0F ; AND immediate D with 0F 0D FB 0F XRI 0F ; XOR immediate D with 0F 0F C6 LSNZ ; long skip (skip 2 bytes) if D not 0 10 7B SEQ ; set Q output line. (this is a single bit output on CDP1802) 11 38 NBR ; skip next byte 12 7A REQ ; reset Q line 13 F0 LDX ; load register D via register X 14 FA 0F ANI 0F ; AND immediate D with 0F 16 FD 09 SDI 09 ; substract D immediate i.e D-09 18 3B 23 BNF 23 ; short branch to 23 if DF = 0 1A F0 LDX ; load register D via register X 1B FA F0 ANI F0 ; AND immediate D with F0 1D FD 90 SDI 90 ; substract D immediate i.e. D-90 1F 3B 23 BNF 23 ; short branch to 23 if DF = 0 21 30 27 BR 27 ; short branch to 27 23 82 GLO R2 ; get low byte of register 2 in D 24 51 STR R1 ; store D in memory via register 1 25 64 OUT4 ; output M(R(X)) to device 4 26 21 DEC R1 ; decrement R1 27 3F 06 BN4 ; short branch to 06 if EF4 = 0 (EF4 is an input line of CDP1802) 29 7B SETQ ; set Q line 2A F8 90 LDI 90 ; load D immmediate with 90 2C B3 PHI R3 ; put D in hi byte of register 3 2D 23 DEC R3 ; decrement register 3 2E 93 GHI R3 ; get hi byte of R3 in D 2F 3A 2D BNZ ; short branch to 2D if D not 0 31 F0 LDX ; load D with containt of memory pointed by X i.e. D = (R(X)) 32 FA 0F ANI 0F ; AND immediate D with 0F 34 3A 3A BNZ 3A ; short branch to 3A if D not 0 36 F8 06 LDI 06 ; load D with 06 38 F5 SD ; subtract D from memory i.e. M(R(X)) - D -> D, DF 39 51 STR R1 ; store D in memory via register 1 D->M(R(N)) 3A F8 01 LDI 01 ; load D with 01 3C F5 SD ; M(R(X)) - D -> D, DF 3D 51 STR R1 ; D -> M(R(N)) 3E 64 OUT4 ; output to device 4 via R(X) i.e. M(R(X) -> BUS 3F 21 DEC R1 ; decrement register 1 40 3A 2A BNZ 2A ; branch to 2A if D not 0 42 7A REQ ; reset line Q 43 82 GLO R2 ; low byte of R2 in D i.e. R2.0 -> D 44 51 STR R1 ; D -> M(R(1)) 45 30 06 BR 06 ; branch to 06 (code deassembled by hand) This is code for RCA CDP1802 microprocessor. The computer was probably a COSMAC ELF Popularized by "Popular electronics" in 1977 (or 1978). I don't understand yet what is does. (what device was connected to output 4, line Q and input line EF4 ? ) On my machine there was a LED on the Q line so codes 7B and 7A was flashing de LED. I connected a speaker on that line too and produce sound effects with it. I even code a program to play tunes. Regards, Jacques Deschenes Baie-Comeau, Quebec Canada desja at globetrotter.qc.ca <*************** END OF ORIGINAL MESSAGE ************> Joe Phillips, Assistant Director Information Technology Services Texas Wesleyan University 817-531-4284