From 6f9f387c399e4c4c980ac8b08d0cac97c6a10c9f Mon Sep 17 00:00:00 2001 From: Mark Emmer Date: Sat, 19 Apr 2014 14:50:15 -0500 Subject: [PATCH] SDS: Add more complex (but optional) Next behavior Allow -f switch with Next to move forward in code. Allow -a switch with Next for "atomic" behavior that excludes interrupts for all instructions. Update sds_doc.doc to describe the new behavior. --- SDS/sds_cpu.c | 107 ++++++++++++++++++++++++++++++++++++++++++------ doc/sds_doc.doc | Bin 107520 -> 145408 bytes 2 files changed, 94 insertions(+), 13 deletions(-) diff --git a/SDS/sds_cpu.c b/SDS/sds_cpu.c index ff7dafcf..743cc0bc 100644 --- a/SDS/sds_cpu.c +++ b/SDS/sds_cpu.c @@ -1509,25 +1509,106 @@ return SCPE_OK; TRUE if so with a list of addresses where dynamic (temporary) breakpoints should be set. */ +typedef enum Next_Case { /* Next Next Atomic Next Forward */ + Next_BadOp = 0, /* FALSE FALSE FALSE */ + Next_Branch, /* FALSE EA FALSE */ + Next_BRM, /* P+1,P+2,P+3 EA,P+1,P+2,P+3 P+1,P+2,P+3 */ + Next_BRX, /* FALSE EA,P+1 P+1 */ + Next_Simple, /* FALSE P+1 P+1 */ + Next_POP, /* P+1,P+2 100+OP,P+1,P+2 P+1,P+2 */ + Next_Skip, /* P+1,P+2 P+1,P+2 P+1,P+2 */ + Next_EXU /* ?? ?? ?? */ +} Next_Case; + +Next_Case Op_Cases[64] = { + Next_BadOp, Next_Branch, Next_Simple, Next_BadOp, /* HLT BRU EOM ... */ + Next_BadOp, Next_BadOp, Next_Simple, Next_BadOp, /* ... ... EOD ... */ + Next_Simple, Next_Branch, Next_Simple, Next_Simple, /* MIY BRI MIW POT */ + Next_Simple, Next_BadOp, Next_Simple, Next_Simple, /* ETR ... MRG EOR */ + Next_Simple, Next_BadOp, Next_Simple, Next_EXU, /* NOP ... ROV EXU */ + Next_BadOp, Next_BadOp, Next_BadOp, Next_BadOp, /* ... ... ... ... */ + Next_Simple, Next_BadOp, Next_Simple, Next_Simple, /* YIM ... WIM PIN */ + Next_BadOp, Next_Simple, Next_Simple, Next_Simple, /* ... STA STB STX */ + Next_Skip, Next_BRX, Next_BadOp, Next_BRM, /* SKS BRX ... BRM */ + Next_BadOp, Next_BadOp, Next_Simple, Next_BadOp, /* ... ... RCH ... */ + Next_Skip, Next_Branch, Next_Skip, Next_Skip, /* SKE BRR SKB SKN */ + Next_Simple, Next_Simple, Next_Simple, Next_Simple, /* SUB ADD SUC ADC */ + Next_Skip, Next_Simple, Next_Simple, Next_Simple, /* SKR MIN XMA ADM */ + Next_Simple, Next_Simple, Next_Simple, Next_Simple, /* MUL DIV RSH LSH */ + Next_Skip, Next_Simple, Next_Skip, Next_Skip, /* SKM LDX SKA SKG */ + Next_Skip, Next_Simple, Next_Simple, Next_Simple }; /* SKD LDB LDA EAX */ t_bool cpu_is_pc_a_subroutine_call (t_addr **ret_addrs) { -static t_addr returns[3] = {0, 0, 0}; -t_stat reason; +static t_addr returns[10]; uint32 inst; +Next_Case op_case; +int32 atomic, forward; +t_addr *return_p; +uint32 va; +int32 exu_cnt = 0; -reason = Read (P, &inst); /* get instr */ -if ((reason == SCPE_OK) && - ((I_GETOP(inst) == BRM) || /* if BRM or */ - (I_POP & inst) || /* POP or SYSPOP or */ - (sim_switches & SWMASK('F')))) { /* Force switch */ - returns[0] = (P + 1) & VA_MASK; - returns[1] = (P + 2) & VA_MASK; - *ret_addrs = returns; - return TRUE; - } -else +*ret_addrs = return_p = returns; +atomic = sim_switches & SWMASK('A'); +forward = sim_switches & SWMASK('F'); + +if (Read (P, &inst) != SCPE_OK) /* get instruction */ return FALSE; + +Exu_Loop: +if (I_POP & inst) /* determine inst case */ + op_case = Next_POP; +else + op_case = Op_Cases[I_GETOP(inst)]; + +switch (op_case) { + case Next_BadOp: + break; + case Next_BRM: + *return_p++ = (P + 1) & VA_MASK; + *return_p++ = (P + 2) & VA_MASK; + *return_p++ = (P + 3) & VA_MASK; + /* -- fall through to Next_Branch case -- */ + case Next_Branch: + if (atomic) { + if (Ea (inst, &va) != SCPE_OK) + return FALSE; + *return_p++ = va & VA_MASK; + } + break; + case Next_BRX: + if (atomic) { + if (Ea (inst, &va) != SCPE_OK) + return FALSE; + *return_p++ = va & VA_MASK; + } + /* -- fall through to Next_Simple case -- */ + case Next_Simple: + if (atomic || forward) + *return_p++ = (P + 1) & VA_MASK; + break; + case Next_POP: + if (atomic) + *return_p++ = 0100 + I_GETOP(inst); + /* -- fall through to Next_Skip case -- */ + case Next_Skip: + *return_p++ = (P + 1) & VA_MASK; + *return_p++ = (P + 2) & VA_MASK; + break; + case Next_EXU: /* execute inst at EA */ + if (++exu_cnt > exu_lim) /* too many? */ + return FALSE; + if (Ea (inst, &va) != SCPE_OK) /* decode eff addr */ + return FALSE; + if (Read (va, &inst) != SCPE_OK) /* get operand */ + return FALSE; + goto Exu_Loop; + } +if (return_p == returns) /* if no cases added, */ + return FALSE; /* return FALSE */ +else + *return_p = (t_addr)0; /* else append terminator */ +return TRUE; /* and return TRUE */ } /* Memory examine */ diff --git a/doc/sds_doc.doc b/doc/sds_doc.doc index 9145ffcdfa25703920e640dd70458ccdfcb4ca13..a3548890dcfcea7ac8d1807bb4d795e992345dfe 100644 GIT binary patch literal 145408 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 xV4-yCXWJDyFb8$GSdlgL&ihz%P#+ZbtwB literal 107520 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 SbAGZrb=}e1)PDC!;Qs?5kh*>V