B5500: Removed compiler warnings.
This commit is contained in:
parent
52fbdcd1f0
commit
fb1be2093d
2 changed files with 166 additions and 166 deletions
|
@ -179,163 +179,163 @@ sim_load(FILE * fileref, CONST char *cptr, CONST char *fnam, int flag)
|
|||
/* Opcodes */
|
||||
t_opcode word_ops[] = {
|
||||
/* Word mode opcodes */
|
||||
WMOP_LITC, TYPE_D, "LITC", /* Load literal */
|
||||
WMOP_OPDC, TYPE_D, "OPDC", /* Load operand */
|
||||
WMOP_DESC, TYPE_D, "DESC", /* Load Descriptor */
|
||||
WMOP_DEL, TYPE_A, "DEL", /* Delete top of stack */
|
||||
WMOP_NOP, TYPE_A, "NOP", /* Nop operation */
|
||||
WMOP_XRT, TYPE_A, "XRT", /* Set Variant */
|
||||
WMOP_ADD, TYPE_A, "ADD", /* Add */
|
||||
WMOP_DLA, TYPE_A, "DLA", /* Double Precision Add */
|
||||
WMOP_PRL, TYPE_A, "PRL", /* Program Release */
|
||||
WMOP_LNG, TYPE_A, "LNG", /* Logical Negate */
|
||||
WMOP_CID, TYPE_A, "CID", /* Conditional Integer Store Destructive */
|
||||
WMOP_GEQ, TYPE_A, "GEQ", /* B greater than or equal to A */
|
||||
WMOP_BBC, TYPE_A, "BBC", /* Branch Backward Conditional */
|
||||
WMOP_BRT, TYPE_A, "BRT", /* Branch Return */
|
||||
WMOP_INX, TYPE_A, "INX", /* Index */
|
||||
WMOP_ITI, TYPE_A, "ITI", /* Interrogate interrupt */
|
||||
WMOP_LOR, TYPE_A, "LOR", /* Logical Or */
|
||||
WMOP_CIN, TYPE_A, "CIN", /* Conditional Integer Store non-destructive */
|
||||
WMOP_GTR, TYPE_A, "GTR", /* B Greater than A */
|
||||
WMOP_BFC, TYPE_A, "BFC", /* Branch Forward Conditional */
|
||||
WMOP_RTN, TYPE_A, "RTN", /* Return normal */
|
||||
WMOP_COC, TYPE_A, "COC", /* Construct Operand Call */
|
||||
WMOP_SUB, TYPE_A, "SUB", /* Subtract */
|
||||
WMOP_DLS, TYPE_A, "DLS", /* Double Precision Subtract */
|
||||
WMOP_MUL, TYPE_A, "MUL", /* Multiply */
|
||||
WMOP_DLM, TYPE_A, "DLM", /* Double Precision Multiply */
|
||||
WMOP_RTR, TYPE_A, "RTR", /* Read Timer */
|
||||
WMOP_LND, TYPE_A, "LND", /* Logical And */
|
||||
WMOP_STD, TYPE_A, "STD", /* B Store Destructive */
|
||||
WMOP_NEQ, TYPE_A, "NEQ", /* B Not equal to A */
|
||||
WMOP_SSN, TYPE_A, "SSN", /* Set Sign Bit */
|
||||
WMOP_XIT, TYPE_A, "XIT", /* Exit */
|
||||
WMOP_MKS, TYPE_A, "MKS", /* Mark Stack */
|
||||
WMOP_DIV, TYPE_A, "DIV", /* Divide */
|
||||
WMOP_DLD, TYPE_A, "DLD", /* Double Precision Divide */
|
||||
WMOP_COM, TYPE_A, "COM", /* Communication operator */
|
||||
WMOP_LQV, TYPE_A, "LQV", /* Logical Equivalence */
|
||||
WMOP_SND, TYPE_A, "SND", /* B Store Non-destructive */
|
||||
WMOP_XCH, TYPE_A, "XCH", /* Exchange */
|
||||
WMOP_CHS, TYPE_A, "CHS", /* Change sign bit */
|
||||
WMOP_RTS, TYPE_A, "RTS", /* Return Special */
|
||||
WMOP_CDC, TYPE_A, "CDC", /* Construct descriptor call */
|
||||
WMOP_FTC, TYPE_A, "FTC", /* Transfer F Field to Core Field */
|
||||
WMOP_MOP, TYPE_A, "MOP", /* Reset Flag bit */
|
||||
WMOP_LOD, TYPE_A, "LOD", /* Load */
|
||||
WMOP_DUP, TYPE_A, "DUP", /* Duplicate */
|
||||
WMOP_TOP, TYPE_A, "TOP", /* Test Flag Bit */
|
||||
WMOP_IOR, TYPE_A, "IOR", /* I/O Release */
|
||||
WMOP_LBC, TYPE_A, "LBC", /* Word Branch Backward Conditional */
|
||||
WMOP_SSF, TYPE_A, "SSF", /* Set or Store S or F registers */
|
||||
WMOP_HP2, TYPE_A, "HP2", /* Halt P2 */
|
||||
WMOP_LFC, TYPE_A, "LFC", /* Word Branch Forward Conditional */
|
||||
WMOP_ZP1, TYPE_A, "ZP1", /* Conditional Halt */
|
||||
WMOP_TUS, TYPE_A, "TUS", /* Interrogate Peripheral Status */
|
||||
WMOP_LLL, TYPE_A, "LLL", /* Link List Look-up */
|
||||
WMOP_IDV, TYPE_A, "IDV", /* Integer Divide Integer */
|
||||
WMOP_SFI, TYPE_A, "SFI", /* Store for Interrupt */
|
||||
WMOP_SFT, TYPE_A, "SFT", /* Store for Test */
|
||||
WMOP_FTF, TYPE_A, "FTF", /* Transfer F Field to F Field */
|
||||
WMOP_MDS, TYPE_A, "MDS", /* Set Flag Bit */
|
||||
WMOP_IP1, TYPE_A, "IP1", /* Initiate P1 */
|
||||
WMOP_ISD, TYPE_A, "ISD", /* Interger Store Destructive */
|
||||
WMOP_LEQ, TYPE_A, "LEQ", /* B Less Than or Equal to A */
|
||||
WMOP_BBW, TYPE_A, "BBW", /* Banch Backward Conditional */
|
||||
WMOP_IP2, TYPE_A, "IP2", /* Initiate P2 */
|
||||
WMOP_ISN, TYPE_A, "ISN", /* Integer Store Non-Destructive */
|
||||
WMOP_LSS, TYPE_A, "LSS", /* B Less Than A */
|
||||
WMOP_BFW, TYPE_A, "BFW", /* Branch Forward Unconditional */
|
||||
WMOP_IIO, TYPE_A, "IIO", /* Initiate I/O */
|
||||
WMOP_EQL, TYPE_A, "EQL", /* B Equal A */
|
||||
WMOP_SSP, TYPE_A, "SSP", /* Reset Sign Bit */
|
||||
WMOP_CMN, TYPE_A, "CMN", /* Enter Character Mode In Line */
|
||||
WMOP_IFT, TYPE_A, "IFT", /* Test Initiate */
|
||||
WMOP_CTC, TYPE_A, "CTC", /* Transfer Core Field to Core Field */
|
||||
WMOP_LBU, TYPE_A, "LBU", /* Word Branch Backward Unconditional */
|
||||
WMOP_LFU, TYPE_A, "LFU", /* Word Branch Forward Unconditional */
|
||||
WMOP_TIO, TYPE_A, "TIO", /* Interrogate I/O Channels */
|
||||
WMOP_RDV, TYPE_A, "RDV", /* Remainder Divide */
|
||||
WMOP_FBS, TYPE_A, "FBS", /* Flag Bit Search */
|
||||
WMOP_CTF, TYPE_A, "CTF", /* Transfer Core Field to F Field */
|
||||
WMOP_ISO, TYPE_B, "ISO", /* Variable Field Isolate XX */
|
||||
WMOP_CBD, TYPE_C, "CBD", /* Non-Zero Field Branch Backward Destructive Xy */
|
||||
WMOP_CBN, TYPE_C, "CBN", /* Non-Zero Field Branch Backward Non-Destructive Xy */
|
||||
WMOP_CFD, TYPE_C, "CFD", /* Non-Zero Field Branch Forward Destructive Xy */
|
||||
WMOP_CFN, TYPE_B, "CFN", /* Non-Zero Field Branch Forward Non-Destructive Xy */
|
||||
WMOP_DIA, TYPE_B, "DIA", /* Dial A XX */
|
||||
WMOP_DIB, TYPE_B, "DIB", /* Dial B XX Upper 6 not Zero */
|
||||
WMOP_TRB, TYPE_B, "TRB", /* Transfer Bits XX */
|
||||
WMOP_FCL, TYPE_B, "FCL", /* Compare Field Low XX */
|
||||
WMOP_FCE, TYPE_B, "FCE", /* Compare Field Equal XX */
|
||||
{0, 0, NULL},
|
||||
{ WMOP_LITC, TYPE_D, "LITC",}, /* Load literal */
|
||||
{ WMOP_OPDC, TYPE_D, "OPDC",}, /* Load operand */
|
||||
{ WMOP_DESC, TYPE_D, "DESC",}, /* Load Descriptor */
|
||||
{ WMOP_DEL, TYPE_A, "DEL", }, /* Delete top of stack */
|
||||
{ WMOP_NOP, TYPE_A, "NOP", }, /* Nop operation */
|
||||
{ WMOP_XRT, TYPE_A, "XRT", }, /* Set Variant */
|
||||
{ WMOP_ADD, TYPE_A, "ADD", }, /* Add */
|
||||
{ WMOP_DLA, TYPE_A, "DLA", }, /* Double Precision Add */
|
||||
{ WMOP_PRL, TYPE_A, "PRL", }, /* Program Release */
|
||||
{ WMOP_LNG, TYPE_A, "LNG", }, /* Logical Negate */
|
||||
{ WMOP_CID, TYPE_A, "CID", }, /* Conditional Integer Store Destructive */
|
||||
{ WMOP_GEQ, TYPE_A, "GEQ", }, /* B greater than or equal to A */
|
||||
{ WMOP_BBC, TYPE_A, "BBC", }, /* Branch Backward Conditional */
|
||||
{ WMOP_BRT, TYPE_A, "BRT", }, /* Branch Return */
|
||||
{ WMOP_INX, TYPE_A, "INX", }, /* Index */
|
||||
{ WMOP_ITI, TYPE_A, "ITI", }, /* Interrogate interrupt */
|
||||
{ WMOP_LOR, TYPE_A, "LOR", }, /* Logical Or */
|
||||
{ WMOP_CIN, TYPE_A, "CIN", }, /* Conditional Integer Store non-destructive */
|
||||
{ WMOP_GTR, TYPE_A, "GTR", }, /* B Greater than A */
|
||||
{ WMOP_BFC, TYPE_A, "BFC", }, /* Branch Forward Conditional */
|
||||
{ WMOP_RTN, TYPE_A, "RTN", }, /* Return normal */
|
||||
{ WMOP_COC, TYPE_A, "COC", }, /* Construct Operand Call */
|
||||
{ WMOP_SUB, TYPE_A, "SUB", }, /* Subtract */
|
||||
{ WMOP_DLS, TYPE_A, "DLS", }, /* Double Precision Subtract */
|
||||
{ WMOP_MUL, TYPE_A, "MUL", }, /* Multiply */
|
||||
{ WMOP_DLM, TYPE_A, "DLM", }, /* Double Precision Multiply */
|
||||
{ WMOP_RTR, TYPE_A, "RTR", }, /* Read Timer */
|
||||
{ WMOP_LND, TYPE_A, "LND", }, /* Logical And */
|
||||
{ WMOP_STD, TYPE_A, "STD", }, /* B Store Destructive */
|
||||
{ WMOP_NEQ, TYPE_A, "NEQ", }, /* B Not equal to A */
|
||||
{ WMOP_SSN, TYPE_A, "SSN", }, /* Set Sign Bit */
|
||||
{ WMOP_XIT, TYPE_A, "XIT", }, /* Exit */
|
||||
{ WMOP_MKS, TYPE_A, "MKS", }, /* Mark Stack */
|
||||
{ WMOP_DIV, TYPE_A, "DIV", }, /* Divide */
|
||||
{ WMOP_DLD, TYPE_A, "DLD", }, /* Double Precision Divide */
|
||||
{ WMOP_COM, TYPE_A, "COM", }, /* Communication operator */
|
||||
{ WMOP_LQV, TYPE_A, "LQV", }, /* Logical Equivalence */
|
||||
{ WMOP_SND, TYPE_A, "SND", }, /* B Store Non-destructive */
|
||||
{ WMOP_XCH, TYPE_A, "XCH", }, /* Exchange */
|
||||
{ WMOP_CHS, TYPE_A, "CHS", }, /* Change sign bit */
|
||||
{ WMOP_RTS, TYPE_A, "RTS", }, /* Return Special */
|
||||
{ WMOP_CDC, TYPE_A, "CDC", }, /* Construct descriptor call */
|
||||
{ WMOP_FTC, TYPE_A, "FTC", }, /* Transfer F Field to Core Field */
|
||||
{ WMOP_MOP, TYPE_A, "MOP", }, /* Reset Flag bit */
|
||||
{ WMOP_LOD, TYPE_A, "LOD", }, /* Load */
|
||||
{ WMOP_DUP, TYPE_A, "DUP", }, /* Duplicate */
|
||||
{ WMOP_TOP, TYPE_A, "TOP", }, /* Test Flag Bit */
|
||||
{ WMOP_IOR, TYPE_A, "IOR", }, /* I/O Release */
|
||||
{ WMOP_LBC, TYPE_A, "LBC", }, /* Word Branch Backward Conditional */
|
||||
{ WMOP_SSF, TYPE_A, "SSF", }, /* Set or Store S or F registers */
|
||||
{ WMOP_HP2, TYPE_A, "HP2", }, /* Halt P2 */
|
||||
{ WMOP_LFC, TYPE_A, "LFC", }, /* Word Branch Forward Conditional */
|
||||
{ WMOP_ZP1, TYPE_A, "ZP1", }, /* Conditional Halt */
|
||||
{ WMOP_TUS, TYPE_A, "TUS", }, /* Interrogate Peripheral Status */
|
||||
{ WMOP_LLL, TYPE_A, "LLL", }, /* Link List Look-up */
|
||||
{ WMOP_IDV, TYPE_A, "IDV", }, /* Integer Divide Integer */
|
||||
{ WMOP_SFI, TYPE_A, "SFI", }, /* Store for Interrupt */
|
||||
{ WMOP_SFT, TYPE_A, "SFT", }, /* Store for Test */
|
||||
{ WMOP_FTF, TYPE_A, "FTF", }, /* Transfer F Field to F Field */
|
||||
{ WMOP_MDS, TYPE_A, "MDS", }, /* Set Flag Bit */
|
||||
{ WMOP_IP1, TYPE_A, "IP1", }, /* Initiate P1 */
|
||||
{ WMOP_ISD, TYPE_A, "ISD", }, /* Interger Store Destructive */
|
||||
{ WMOP_LEQ, TYPE_A, "LEQ", }, /* B Less Than or Equal to A */
|
||||
{ WMOP_BBW, TYPE_A, "BBW", }, /* Banch Backward Conditional */
|
||||
{ WMOP_IP2, TYPE_A, "IP2", }, /* Initiate P2 */
|
||||
{ WMOP_ISN, TYPE_A, "ISN", }, /* Integer Store Non-Destructive */
|
||||
{ WMOP_LSS, TYPE_A, "LSS", }, /* B Less Than A */
|
||||
{ WMOP_BFW, TYPE_A, "BFW", }, /* Branch Forward Unconditional */
|
||||
{ WMOP_IIO, TYPE_A, "IIO", }, /* Initiate I/O */
|
||||
{ WMOP_EQL, TYPE_A, "EQL", }, /* B Equal A */
|
||||
{ WMOP_SSP, TYPE_A, "SSP", }, /* Reset Sign Bit */
|
||||
{ WMOP_CMN, TYPE_A, "CMN", }, /* Enter Character Mode In Line */
|
||||
{ WMOP_IFT, TYPE_A, "IFT", }, /* Test Initiate */
|
||||
{ WMOP_CTC, TYPE_A, "CTC", }, /* Transfer Core Field to Core Field */
|
||||
{ WMOP_LBU, TYPE_A, "LBU", }, /* Word Branch Backward Unconditional */
|
||||
{ WMOP_LFU, TYPE_A, "LFU", }, /* Word Branch Forward Unconditional */
|
||||
{ WMOP_TIO, TYPE_A, "TIO", }, /* Interrogate I/O Channels */
|
||||
{ WMOP_RDV, TYPE_A, "RDV", }, /* Remainder Divide */
|
||||
{ WMOP_FBS, TYPE_A, "FBS", }, /* Flag Bit Search */
|
||||
{ WMOP_CTF, TYPE_A, "CTF", }, /* Transfer Core Field to F Field */
|
||||
{ WMOP_ISO, TYPE_B, "ISO", }, /* Variable Field Isolate XX */
|
||||
{ WMOP_CBD, TYPE_C, "CBD", }, /* Non-Zero Field Branch Backward Destructive Xy */
|
||||
{ WMOP_CBN, TYPE_C, "CBN", }, /* Non-Zero Field Branch Backward Non-Destructive Xy */
|
||||
{ WMOP_CFD, TYPE_C, "CFD", }, /* Non-Zero Field Branch Forward Destructive Xy */
|
||||
{ WMOP_CFN, TYPE_B, "CFN", }, /* Non-Zero Field Branch Forward Non-Destructive Xy */
|
||||
{ WMOP_DIA, TYPE_B, "DIA", }, /* Dial A XX */
|
||||
{ WMOP_DIB, TYPE_B, "DIB", }, /* Dial B XX Upper 6 not Zero */
|
||||
{ WMOP_TRB, TYPE_B, "TRB", }, /* Transfer Bits XX */
|
||||
{ WMOP_FCL, TYPE_B, "FCL", }, /* Compare Field Low XX */
|
||||
{ WMOP_FCE, TYPE_B, "FCE", }, /* Compare Field Equal XX */
|
||||
{ 0, 0, NULL, }
|
||||
};
|
||||
|
||||
t_opcode char_ops[] = {
|
||||
/* Character Mode */
|
||||
CMOP_EXC, TYPE_A, "EXC", /* Exit Character Mode */
|
||||
CMOP_CMX, TYPE_A, "CMX", /* Exit Character Mode In Line */
|
||||
CMOP_BSD, TYPE_B, "BSD", /* Skip Bit Destiniation */
|
||||
CMOP_BSS, TYPE_B, "BSS", /* SKip Bit Source */
|
||||
CMOP_RDA, TYPE_B, "RDA", /* Recall Destination Address */
|
||||
CMOP_TRW, TYPE_B, "TRW", /* Transfer Words */
|
||||
CMOP_SED, TYPE_B, "SED", /* Set Destination Address */
|
||||
CMOP_TDA, TYPE_B, "TDA", /* Transfer Destination Address */
|
||||
CMOP_TBN, TYPE_B, "TBN", /* Transfer Blanks for Non-Numerics */
|
||||
WMOP_ITI, TYPE_A, "ITI", /* Interrogate interrupt */
|
||||
WMOP_SFI, TYPE_A, "SFI", /* Store for Interrupt */
|
||||
WMOP_SFT, TYPE_A, "SFT", /* Store for Test */
|
||||
WMOP_ZP1, TYPE_A, "ZP1", /* Conditional Halt */
|
||||
WMOP_HP2, TYPE_A, "HP2", /* Halt P2 */
|
||||
CMOP_SDA, TYPE_B, "SDA", /* Store Destination Address */
|
||||
CMOP_SSA, TYPE_B, "SSA", /* Store Source Address */
|
||||
CMOP_SFD, TYPE_B, "SFD", /* Skip Forward Destination */
|
||||
CMOP_SRD, TYPE_B, "SRD", /* Skip Reverse Destination */
|
||||
CMOP_SES, TYPE_B, "SES", /* Set Source Address */
|
||||
CMOP_TEQ, TYPE_B, "TEQ", /* Test for Equal */
|
||||
CMOP_TNE, TYPE_B, "TNE", /* Test for Not-Equal */
|
||||
CMOP_TEG, TYPE_B, "TEG", /* Test for Greater Or Equal */
|
||||
CMOP_TGR, TYPE_B, "TGR", /* Test For Greater */
|
||||
CMOP_SRS, TYPE_B, "SRS", /* Skip Reverse Source */
|
||||
CMOP_SFS, TYPE_B, "SFS", /* Skip Forward Source */
|
||||
CMOP_TEL, TYPE_B, "TEL", /* Test For Equal or Less */
|
||||
CMOP_TLS, TYPE_B, "TLS", /* Test For Less */
|
||||
CMOP_TAN, TYPE_B, "TAN", /* Test for Alphanumeric */
|
||||
CMOP_BIT, TYPE_B, "BIT", /* Test Bit */
|
||||
CMOP_INC, TYPE_B, "INC", /* Increase Tally */
|
||||
CMOP_STC, TYPE_B, "STC", /* Store Tally */
|
||||
CMOP_SEC, TYPE_B, "SEC", /* Set Tally */
|
||||
CMOP_CRF, TYPE_B, "CRF", /* Call repeat Field */
|
||||
CMOP_JNC, TYPE_B, "JNC", /* Jump Out Of Loop Conditional */
|
||||
CMOP_JFC, TYPE_B, "JFC", /* Jump Forward Conditional */
|
||||
CMOP_JNS, TYPE_B, "JNS", /* Jump out of loop unconditional */
|
||||
CMOP_JFW, TYPE_B, "JFW", /* Jump Forward Unconditional */
|
||||
CMOP_RCA, TYPE_B, "RCA", /* Recall Control Address */
|
||||
CMOP_ENS, TYPE_B, "ENS", /* End Loop */
|
||||
CMOP_BNS, TYPE_B, "BNS", /* Begin Loop */
|
||||
CMOP_RSA, TYPE_B, "RSA", /* Recall Source Address */
|
||||
CMOP_SCA, TYPE_B, "SCA", /* Store Control Address */
|
||||
CMOP_JRC, TYPE_B, "JRC", /* Jump Reverse Conditional */
|
||||
CMOP_TSA, TYPE_B, "TSA", /* Transfer Source Address */
|
||||
CMOP_JRV, TYPE_B, "JRV", /* Jump Reverse Unconditional */
|
||||
CMOP_CEQ, TYPE_B, "CEQ", /* Compare Equal */
|
||||
CMOP_CNE, TYPE_B, "CNE", /* COmpare for Not Equal */
|
||||
CMOP_CEG, TYPE_B, "CEG", /* Compare For Greater Or Equal */
|
||||
CMOP_CGR, TYPE_B, "CGR", /* Compare For Greater */
|
||||
CMOP_BIS, TYPE_B, "BIS", /* Set Bit */
|
||||
CMOP_BIR, TYPE_B, "BIR", /* Reet Bit */
|
||||
CMOP_OCV, TYPE_B, "OCV", /* Output Convert */
|
||||
CMOP_ICV, TYPE_B, "ICV", /* Input Convert */
|
||||
CMOP_CEL, TYPE_B, "CEL", /* Compare For Equal or Less */
|
||||
CMOP_CLS, TYPE_B, "CLS", /* Compare for Less */
|
||||
CMOP_FSU, TYPE_B, "FSU", /* Field Subtract */
|
||||
CMOP_FAD, TYPE_B, "FAD", /* Field Add */
|
||||
CMOP_TRP, TYPE_B, "TRP", /* Transfer Program Characters */
|
||||
CMOP_TRN, TYPE_B, "TRN", /* Transfer Numeric */
|
||||
CMOP_TRZ, TYPE_B, "TRZ", /* Transfer Zones */
|
||||
CMOP_TRS, TYPE_B, "TRS", /* Transfer Source Characters */
|
||||
{0, 0, NULL},
|
||||
{ CMOP_EXC, TYPE_A, "EXC", }, /* Exit Character Mode */
|
||||
{ CMOP_CMX, TYPE_A, "CMX", }, /* Exit Character Mode In Line */
|
||||
{ CMOP_BSD, TYPE_B, "BSD", }, /* Skip Bit Destiniation */
|
||||
{ CMOP_BSS, TYPE_B, "BSS", }, /* SKip Bit Source */
|
||||
{ CMOP_RDA, TYPE_B, "RDA", }, /* Recall Destination Address */
|
||||
{ CMOP_TRW, TYPE_B, "TRW", }, /* Transfer Words */
|
||||
{ CMOP_SED, TYPE_B, "SED", }, /* Set Destination Address */
|
||||
{ CMOP_TDA, TYPE_B, "TDA", }, /* Transfer Destination Address */
|
||||
{ CMOP_TBN, TYPE_B, "TBN", }, /* Transfer Blanks for Non-Numerics */
|
||||
{ WMOP_ITI, TYPE_A, "ITI", }, /* Interrogate interrupt */
|
||||
{ WMOP_SFI, TYPE_A, "SFI", }, /* Store for Interrupt */
|
||||
{ WMOP_SFT, TYPE_A, "SFT", }, /* Store for Test */
|
||||
{ WMOP_ZP1, TYPE_A, "ZP1", }, /* Conditional Halt */
|
||||
{ WMOP_HP2, TYPE_A, "HP2", }, /* Halt P2 */
|
||||
{ CMOP_SDA, TYPE_B, "SDA", }, /* Store Destination Address */
|
||||
{ CMOP_SSA, TYPE_B, "SSA", }, /* Store Source Address */
|
||||
{ CMOP_SFD, TYPE_B, "SFD", }, /* Skip Forward Destination */
|
||||
{ CMOP_SRD, TYPE_B, "SRD", }, /* Skip Reverse Destination */
|
||||
{ CMOP_SES, TYPE_B, "SES", }, /* Set Source Address */
|
||||
{ CMOP_TEQ, TYPE_B, "TEQ", }, /* Test for Equal */
|
||||
{ CMOP_TNE, TYPE_B, "TNE", }, /* Test for Not-Equal */
|
||||
{ CMOP_TEG, TYPE_B, "TEG", }, /* Test for Greater Or Equal */
|
||||
{ CMOP_TGR, TYPE_B, "TGR", }, /* Test For Greater */
|
||||
{ CMOP_SRS, TYPE_B, "SRS", }, /* Skip Reverse Source */
|
||||
{ CMOP_SFS, TYPE_B, "SFS", }, /* Skip Forward Source */
|
||||
{ CMOP_TEL, TYPE_B, "TEL", }, /* Test For Equal or Less */
|
||||
{ CMOP_TLS, TYPE_B, "TLS", }, /* Test For Less */
|
||||
{ CMOP_TAN, TYPE_B, "TAN", }, /* Test for Alphanumeric */
|
||||
{ CMOP_BIT, TYPE_B, "BIT", }, /* Test Bit */
|
||||
{ CMOP_INC, TYPE_B, "INC", }, /* Increase Tally */
|
||||
{ CMOP_STC, TYPE_B, "STC", }, /* Store Tally */
|
||||
{ CMOP_SEC, TYPE_B, "SEC", }, /* Set Tally */
|
||||
{ CMOP_CRF, TYPE_B, "CRF", }, /* Call repeat Field */
|
||||
{ CMOP_JNC, TYPE_B, "JNC", }, /* Jump Out Of Loop Conditional */
|
||||
{ CMOP_JFC, TYPE_B, "JFC", }, /* Jump Forward Conditional */
|
||||
{ CMOP_JNS, TYPE_B, "JNS", }, /* Jump out of loop unconditional */
|
||||
{ CMOP_JFW, TYPE_B, "JFW", }, /* Jump Forward Unconditional */
|
||||
{ CMOP_RCA, TYPE_B, "RCA", }, /* Recall Control Address */
|
||||
{ CMOP_ENS, TYPE_B, "ENS", }, /* End Loop */
|
||||
{ CMOP_BNS, TYPE_B, "BNS", }, /* Begin Loop */
|
||||
{ CMOP_RSA, TYPE_B, "RSA", }, /* Recall Source Address */
|
||||
{ CMOP_SCA, TYPE_B, "SCA", }, /* Store Control Address */
|
||||
{ CMOP_JRC, TYPE_B, "JRC", }, /* Jump Reverse Conditional */
|
||||
{ CMOP_TSA, TYPE_B, "TSA", }, /* Transfer Source Address */
|
||||
{ CMOP_JRV, TYPE_B, "JRV", }, /* Jump Reverse Unconditional */
|
||||
{ CMOP_CEQ, TYPE_B, "CEQ", }, /* Compare Equal */
|
||||
{ CMOP_CNE, TYPE_B, "CNE", }, /* COmpare for Not Equal */
|
||||
{ CMOP_CEG, TYPE_B, "CEG", }, /* Compare For Greater Or Equal */
|
||||
{ CMOP_CGR, TYPE_B, "CGR", }, /* Compare For Greater */
|
||||
{ CMOP_BIS, TYPE_B, "BIS", }, /* Set Bit */
|
||||
{ CMOP_BIR, TYPE_B, "BIR", }, /* Reet Bit */
|
||||
{ CMOP_OCV, TYPE_B, "OCV", }, /* Output Convert */
|
||||
{ CMOP_ICV, TYPE_B, "ICV", }, /* Input Convert */
|
||||
{ CMOP_CEL, TYPE_B, "CEL", }, /* Compare For Equal or Less */
|
||||
{ CMOP_CLS, TYPE_B, "CLS", }, /* Compare for Less */
|
||||
{ CMOP_FSU, TYPE_B, "FSU", }, /* Field Subtract */
|
||||
{ CMOP_FAD, TYPE_B, "FAD", }, /* Field Add */
|
||||
{ CMOP_TRP, TYPE_B, "TRP", }, /* Transfer Program Characters */
|
||||
{ CMOP_TRN, TYPE_B, "TRN", }, /* Transfer Numeric */
|
||||
{ CMOP_TRZ, TYPE_B, "TRZ", }, /* Transfer Zones */
|
||||
{ CMOP_TRS, TYPE_B, "TRS", }, /* Transfer Source Characters */
|
||||
{ 0, 0, NULL, }
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#define LINENUM u3
|
||||
#define POS u4
|
||||
#define CMD u5
|
||||
#define LPP u6
|
||||
|
||||
|
||||
/* std devices. data structures
|
||||
|
@ -685,7 +686,7 @@ lpr_setlpp(UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
|||
}
|
||||
if (i < 20 || i > 100)
|
||||
return SCPE_ARG;
|
||||
uptr->capac = i;
|
||||
uptr->LPP = i;
|
||||
uptr->LINENUM = 0;
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
@ -695,7 +696,7 @@ lpr_getlpp(FILE *st, UNIT *uptr, int32 v, CONST void *desc)
|
|||
{
|
||||
if (uptr == NULL)
|
||||
return SCPE_IERR;
|
||||
fprintf(st, "linesperpage=%d", uptr->capac);
|
||||
fprintf(st, "linesperpage=%d", uptr->LPP);
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
|
@ -709,7 +710,6 @@ print_line(UNIT * uptr, int unit)
|
|||
|
||||
char out[150]; /* Temp conversion buffer */
|
||||
int i;
|
||||
int chan = uptr->CMD & URCSTA_CHMASK;
|
||||
|
||||
if ((uptr->flags & (UNIT_ATT)) == 0)
|
||||
return; /* attached? */
|
||||
|
@ -753,7 +753,7 @@ print_line(UNIT * uptr, int unit)
|
|||
case 1:
|
||||
case 2: /* Skip to top of form */
|
||||
case 12:
|
||||
uptr->LINENUM = uptr->capac+1;
|
||||
uptr->LINENUM = uptr->LPP+1;
|
||||
break;
|
||||
|
||||
case 3: /* Even lines */
|
||||
|
@ -775,13 +775,13 @@ print_line(UNIT * uptr, int unit)
|
|||
}
|
||||
break;
|
||||
case 5: /* Half page */
|
||||
while((uptr->LINENUM != (uptr->capac/2)) ||
|
||||
(uptr->LINENUM != (uptr->capac))) {
|
||||
while((uptr->LINENUM != (uptr->LPP/2)) ||
|
||||
(uptr->LINENUM != (uptr->LPP))) {
|
||||
sim_fwrite("\r", 1, 1, uptr->fileref);
|
||||
sim_fwrite("\n", 1, 1, uptr->fileref);
|
||||
uptr->pos += 2;
|
||||
uptr->LINENUM++;
|
||||
if (((uint32)uptr->LINENUM) > uptr->capac) {
|
||||
if (uptr->LINENUM > uptr->LPP) {
|
||||
uptr->LINENUM = 1;
|
||||
break;
|
||||
}
|
||||
|
@ -789,15 +789,15 @@ print_line(UNIT * uptr, int unit)
|
|||
}
|
||||
break;
|
||||
case 6: /* 1/4 Page */
|
||||
while((uptr->LINENUM != (uptr->capac/4)) ||
|
||||
(uptr->LINENUM != (uptr->capac/2)) ||
|
||||
(uptr->LINENUM != (uptr->capac/2+uptr->capac/4)) ||
|
||||
(uptr->LINENUM != (uptr->capac))) {
|
||||
while((uptr->LINENUM != (uptr->LPP/4)) ||
|
||||
(uptr->LINENUM != (uptr->LPP/2)) ||
|
||||
(uptr->LINENUM != (uptr->LPP/2+uptr->LPP/4)) ||
|
||||
(uptr->LINENUM != (uptr->LPP))) {
|
||||
sim_fwrite("\r", 1, 1, uptr->fileref);
|
||||
sim_fwrite("\n", 1, 1, uptr->fileref);
|
||||
uptr->pos += 2;
|
||||
uptr->LINENUM++;
|
||||
if (((uint32)uptr->LINENUM) > uptr->capac) {
|
||||
if (uptr->LINENUM > uptr->LPP) {
|
||||
uptr->LINENUM = 1;
|
||||
break;
|
||||
}
|
||||
|
@ -817,7 +817,7 @@ print_line(UNIT * uptr, int unit)
|
|||
}
|
||||
|
||||
|
||||
if (((uint32)uptr->LINENUM) > uptr->capac) {
|
||||
if (uptr->LINENUM > uptr->LPP) {
|
||||
uptr->LINENUM = 1;
|
||||
uptr->CMD |= URCSTA_EOF;
|
||||
sim_fwrite("\f", 1, 1, uptr->fileref);
|
||||
|
|
Loading…
Add table
Reference in a new issue