This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
|
-
Entry name:Logical Operator Commands
-
Category:Programming utilities
-
Publisher/Developer:SoftSide Publications
-
Year:1983
Listing 1
10000 FOR X=1536 TO 1582 10010 READ Y:POKE X,Y:NEXT X 10020 DATA 104,104,104,41,3,170,104 10030 DATA 141,32,6,104,141,38,6,104 10040 DATA 141,34,6,104,141,40,6,189 10050 DATA 43,6,141,33,6,141,39,6,169 10060 DATA 0,0,0,133,213,169,0,0,0 10070 DATA 133,212,96,41,9,73
Listing 2
0000 0100 *= $600
0600 68 0110 PLA :REMOVE # OF ARGS.
0601 68 0120 PLA ;DISCARD MSB OF CMND#.
0602 68 0130 PLA ;GET LSB OF CMND# AND
0603 2903 0140 AND #$03 ; MASK OFF BAD BITS.
0605 AA 0150 TAX ;SAVE FOP TABLE LOOKUP.
0606 68 0160 PLA ;GET MSB OF VALUE1.
0607 8D2006 0170 STA H1+1 ;SAVE IN 3RD LDA VALUE.
060A 68 0180 PLA ;GET LSB OF VALUE1.
060B 8D2606 0190 STA L1+1 ;SAVE IN 3RD LDA VALUE.
060E 68 0200 PLA ;GET MSB OF VALUE2.
060F 8D2206 0210 STA H2+1 ;SAVE IN 2ND LDA VALUE.
0612 68 0220 PLA ;GET LSB OF VALUE2.
0613 8D2806 0230 STA L2+1 ;SAVE IN 4TH LDA VALUE.
0616 BD2B06 0240 LDA TABLE,X ;LOOKUP LOGIC OPCODE
0619 8D2106 0250 STA H2 ; IN TABLE AND STORE
061C 6D2706 0260 STA L2 ; AT 2ND &4TH LDA.
0270 ;
0280 : SELF MODIFYING CODE.
0290 ;
061F A900 0300 H1 LDA #$00 ;VALUE CHANGEE.
0621 4900 0310 H2 LDA #$00 ;EVERYTHING CHANGES.
0623 85D5 0320 STA $D5 ;SAVE MSB FOR USR.
0625 A900 0330 L1 LDA #$00 ;VALUE CHANGES.
0627 A900 0340 L2 LDA #$00 ;EVERYTHING CHANGES.
0629 85D4 0350 STA $D4 ;SAVE LSB FOR USR.
0360 ;
0370 ; TABLE OF MODIFYING OPCODES.
0380 ;
062B 60 0390 TABLE .BYTE $60 ;'RTS' FOR INVALID.
062C 29 0400 .BYTE $29 ;'AND' IMMEDIATE.
062D 09 0410 .BYTE $09 ;'OR' IMMEDIATE.
062E 49 0420 .BYTE $49 ;'EOR' IMMEDIATE.
References
Listing downloads
Copyright holder
