home *** CD-ROM | disk | FTP | other *** search
- ; THIS IS A TEST FOR THE ASSEMBLY LANGUAGE EXTENSION PREPROCESSOR
- ;
- ; THE FOLLOWING BEGIN CAUSES ALX TO DISPLAY REVISION INFO
- BEGIN
- ;
- ; THE FOLLOWING PRESETS THE LABEL GENERATOR TO 24
- ; MUST USE THIS IF SEPERATE MODULES ARE TO BE RUN THROUGH ALX
- ; THEN CONCATENATED AFTERWORDS.
- ; BETTER TO USE SOMETHING LIKE M80 AND LINKER.
- .LSKIP 23
- ;
- PROCEDURE ONEBRANCH
- IF ( CARRY ) LDA XYZ
- ;
- LABEL:
- LABEL2: IF ( CARRY ) LDA PDQ
- ;
- IF ( CARRY )
- LDA XYZ
- STA PDQ
- FIN
- RET
- PROCEDURE TWOBRANCH
- WHEN ( CARRY ) LDA XYZ
- ELSE LDA PDQ
- ;
- WHEN ( CARRY )
- LDA XYZ
- STA PDQ
- FIN
- ELSE
- LDA PDQ
- STA XYZ
- FIN
- RET
- PROCEDURE MULTIPLEBRANCHES
- BRANCH
- ( 'W' ) LWW
- ( 'A' | 'Z' ) LAZY
- ( OTHERWISE ) LBL
- FIN
- ;
- LWW: STA T1
- RET
- ;
- LAZY: STA T2
- ;
- LBL: MOV B,A
- RLC
- ADD B
- RET
- ;
- SELECT
- ('Q') CALL QQQ
- ('A'|7|'Z') CALL A7Z
- (OTHERWISE) CALL OTHER
- FIN
- ;
- SELECT
- ('Q')
- LDA XYZ
- CALL QQQ
- FIN
- ('A'|7|'Z')
- LDA PDQ
- CALL A7Z
- FIN
- (OTHERWISE)
- LDA ABC
- CALL OTHER
- FIN
- FIN
- RET
- PROCEDURE STATEMACHINE
- EXECUTE ( NSTATE )
- ( ST1 )
- LDA PDQ
- CPI 'X'
- IF ( ZERO )
- SETNEXT ( NSTATE = ST2 )
- FIN
- FIN
- ( ST2 )
- LDA PDQ
- CPI 'Y'
- IF ( ZERO )
- SETNEXT ( NSTATE = ST1 )
- FIN
- FIN
- FIN
- RET
- PROCEDURE LOOPS
- LOOP
- CALL GETCH
- CPI 3 ; CONTROL C
- BREAK IF ( ZERO ) ; BREAK OUT OF LOOP ON CONTROL C
- CALL DOIT
- FIN
- ;
- WHILE ( CARRY ) RLC
- ;
- WHILE ( CARRY )
- MOV A,M
- INX H
- RLC
- FIN
- ;
- REPEAT
- MOV E,M
- CALL DOIT
- INX H
- SUI 1
- UNTIL ( CARRY )
- RET
- PROCEDURE NESTING
- LOOP
- REPEAT
- IN 0
- ANI 1
- UNTIL ( NOT ZERO )
- IN 1
- ANI 7FH
- CPI 3
- BREAK IF ( ZERO ) ; CONTROL C
- SELECT
- ( 'A' | 'a' ) CALL AAAA
- ( 'Q' )
- MVI A,0FFH
- STA QUIT
- FIN
- ( 1AH ) CALL CTLZPROCESS
- ( OTHERWISE )
- LDA ABC
- ORA A
- WHEN ( NOT ZERO ) CALL BBBB
- ELSE
- MVI A,32
- STA ABC
- FIN
- FIN
- FIN
- FIN
- RET
- PROCEDURE ERRORS ; ALX SHOULD PRODUCE SOME ERROR MESSAGES
- WHEN ( CARRY )
- IF (MINUS) CALL HELP
- WHILE (PLUS)
- ADI 3
- FIN
- FIN
- SBB 1
- IF ( CARRY ) ADI 5
- ELSE
- IF (MINUS) CALL HELP
- STA ABC
- FIN
- ;
- SELECT
- REPEAT
- INR A
- UNTIL (ZERO)
- ('A') CALL HELLO
- FIN
- ;
- IF (ZERO)
- ('B') CALL NOGOOD
- STA XYZ
- FIN
- ;
- WHILE (NOT ZERO)
- DCR B
- UNTIL ( CARRY )
- FIN
- ;
- FIN
- FIN
- FIN
- RET
- ;
- END
- END-OF-FILE
-