3787 FCC3 D0 06 BNE OPCOMP
3788 FCC5 20 94 E3 ERRORM JSR CKER00 ;OUTPUT ERROR MESSAGE
3789 FCC8 4C AA FB JMP STARTM
3790 FCCB
3791 FCCB ;COMPUTE FINAL OP CODE FOR DEFINED ADDRESING MODE
3792 FCCB BD E2 FA OPCOMP LDA TYPTR1,X ;MATCH TYPE MASK WITH VALID MODE
3793 FCCE F0 05 BEQ OPCMP1 ;PATTERNS & SKIP 1ST WORD TEST IF
3794 FCD0 2D 26 01 AND TMASK1 ;ALREADY ZERO
3795 FCD3 D0 08 BNE VALID
3796 FCD5 BD F1 FA OPCMP1 LDA TYPTR2,X ;TEST 2ND PART
3797 FCD8 2D 27 01 AND TMASK2 ;INST DOES NOT HAVE SPECIFIED MODE
3798 FCDB F0 E8 BEQ ERRORM
3799 FCDD 18 VALID CLC ;FORM FINAL OP CODE
3800 FCDE BD 00 FB LDA CORR,X
3801 FCE1 6D 34 A4 ADC OPCODE
3802 FCE4 8D 34 A4 STA OPCODE
3803 FCE7
3804 FCE7 ;PROCESS ADRESSES TO FINAL FORMAT
3805 FCE7 BD 0F FB LDA SIZEM,X ;OBTAIN ADDRESS FORMAT FROM TABLE
3806 FCEA C9 00 CMP #00
3807 FCEC F0 50 BEQ ONEBYT
3808 FCEE C9 0F CMP #$0F ;NEED BRANCH COMPUTATION?
3809 FCF0 F0 1D BEQ BRNCHC
3810 FCF2 8D 33 A4 STA TEMPA ;SAVE START POINT & CHAR COUNT
3811 FCF5 29 0F AND #$0F ;SEPARATE CHARACTER COUNT
3812 FCF7 A8 TAY ;LOAD ADDR BYTES INTO Y (0,1,OR 2)
3813 FCF8 8D 2F A4 STA BYTESM ;SAVE IN BYTES
3814 FCFB EE 2F A4 INC BYTESM ;TO INSTR LENGTH (1,2,OR 3 BYTES)
3815 FCFE AD 33 A4 LDA TEMPA ;SEPARATE STARTING POINT
3816 FD01 29 F0 AND #$F0
3817 FD03 4A LSR A
3818 FD04 4A LSR A
3819 FD05 4A LSR A
3820 FD06 4A LSR A
3821 FD07 AA TAX ;AND PUT IT IN X
3822 FD08 20 12 FD JSR CONVRT ;CONVERT ASCII ADDRESS TO HEX
3823 FD0B B0 B8 BCS ERRORM ;SKIP OUT IF ERROR IN INPUT
3824 FD0D 90 1D BCC STASH
3825 FD0F 4C 86 FD BRNCHC JMP BRCOMP
3826 FD12
3827 FD12 ;############ SUBROUTINE ###############
3828 FD12 ;CONVERT FORMATTED ADDRESS INTO PROPER HEX ADDRESS
3829 FD12 BD 33 01 CONVRT LDA ADFLD,X ;PICK UP 1ST ADDRES CHARACTER
3830 FD15 20 7D EA JSR HEX ;CONVERT TO MOST SIG HEX
3831 FD18 B0 11 BCS ERRFLG
3832 FD1A E8 INX ;GET NEXT ASCII CHARACTER
3833 FD1B BD 33 01 LDA ADFLD,X
3834 FD1E E8 INX ;POINT TO NEXT CHARACTER, IF ANY
3835 FD1F 20 84 EA JSR PACK
3836 FD22 B0 07 BCS ERRFLG
3837 FD24 99 34 A4 STA OPCODE,Y ;SAVE IN MOST SIG. BYTE LOCATION
3838 FD27 88 DEY ;SET UP FOR NEXT ADDR BYTE, IF ANY
3839 FD28 D0 E8 BNE CONVRT ;IF NECESSARY, FORM NEXT ADDR BYTE
3840 FD2A 18 CLC
3841 FD2B 60 ERRFLG RTS ;NON HEX CLEARED CARRY
3842 FD2C ;#############
3843 FD2C
3844 FD2C AC 2F A4 STASH LDY BYTESM ;SET UP TO STORE COMMAND
3845 FD2F 88 DEY
3846 FD30 B9 34 A4 STSHLP LDA OPCODE,Y
3847 FD33 20 78 EB JSR SADDR ;STORE ONE BYTE OF COMMAND
3848 FD36 C0 00 CPY #00