JMP/JSR/RTS fix, BPT removed
Some checks are pending
Build / cmake-builds (push) Waiting to run
Build / makefile (macos-latest, besm6 imlac tt2500 microvax3900 microvax1 rtvax1000 vaxstation3100m76 vaxstation4000m60) (push) Waiting to run
Build / makefile (macos-latest, id16 id32 sds lgp h316 cdc1700 swtp6800mp-a swtp6800mp-a2 tx-0 ssem b5500 sage pdq3 alpha) (push) Waiting to run
Build / makefile (macos-latest, microvax2 vax730 vax750 vax780 vax8200 vax8600 microvax2000 infoserver100 infoserver150vxt microvax3100 microvax3100e vaxstation3100m30 vaxstation3100m38) (push) Waiting to run
Build / makefile (macos-latest, microvax3100m80 vaxstation4000vlc infoserver1000 nova eclipse hp2100 hp3000 i1401 i1620 s3 altair altairz80 gri i7094) (push) Waiting to run
Build / makefile (macos-latest, pdp1 pdp4 pdp6 pdp7 pdp8 pdp9 pdp10 pdp10-ka pdp10-ki pdp10-kl pdp10-ks pdp11 pdp15 vax) (push) Waiting to run
Build / makefile (macos-latest, scelbi 3b2 i701 i704 i7010 i7070 i7080 i7090 sigma uc15 i650 sel32 intel-mds ibm1130) (push) Waiting to run
Build / makefile (ubuntu-latest, besm6 imlac tt2500 microvax3900 microvax1 rtvax1000 vaxstation3100m76 vaxstation4000m60) (push) Waiting to run
Build / makefile (ubuntu-latest, id16 id32 sds lgp h316 cdc1700 swtp6800mp-a swtp6800mp-a2 tx-0 ssem b5500 sage pdq3 alpha) (push) Waiting to run
Build / makefile (ubuntu-latest, microvax2 vax730 vax750 vax780 vax8200 vax8600 microvax2000 infoserver100 infoserver150vxt microvax3100 microvax3100e vaxstation3100m30 vaxstation3100m38) (push) Waiting to run
Build / makefile (ubuntu-latest, microvax3100m80 vaxstation4000vlc infoserver1000 nova eclipse hp2100 hp3000 i1401 i1620 s3 altair altairz80 gri i7094) (push) Waiting to run
Build / makefile (ubuntu-latest, pdp1 pdp4 pdp6 pdp7 pdp8 pdp9 pdp10 pdp10-ka pdp10-ki pdp10-kl pdp10-ks pdp11 pdp15 vax) (push) Waiting to run
Build / makefile (ubuntu-latest, scelbi 3b2 i701 i704 i7010 i7070 i7080 i7090 sigma uc15 i650 sel32 intel-mds ibm1130) (push) Waiting to run

This commit is contained in:
Folkert van Heusden 2025-04-05 15:34:19 +02:00
parent 4ef5404ee3
commit e8333f3468
Signed by untrusted user who does not match committer: folkert
GPG key ID: 6B6455EDFEED3BD1

View file

@ -523,9 +523,9 @@ void emit_misc_operations()
int id = 0; int id = 0;
json_t *out = json_array(); json_t *out = json_array();
int groups[] = { 2 /* RTI */, 3 /* BPT */, 6 /* RTT */ }; int groups[] = { 2 /* RTI */, 6 /* RTT */ };
for(int group=0; group<3; group++) { for(int group=0; group<2; group++) {
for(int psw_val=0; psw_val<65536; psw_val++) { for(int psw_val=0; psw_val<65536; psw_val++) {
if ((psw_val & 0174377) != psw_val) if ((psw_val & 0174377) != psw_val)
continue; continue;
@ -535,9 +535,7 @@ void emit_misc_operations()
init_simh(); init_simh();
saved_PC = 0100; saved_PC = 0100;
randomize_registers_all_values(); randomize_registers_all_values();
init_stack_registers(); init_stack_registers();
struct mem_t mem[1] = { struct mem_t mem[1] = {
@ -554,11 +552,11 @@ void emit_misc_operations()
for(int group=0; group<3; group++) { for(int group=0; group<3; group++) {
uint16_t instr = 0; uint16_t instr = 0;
if (instr == 0) if (group == 0)
instr = 0100 | 010; // JMP (R0) instr = 0100 | 010; // JMP (R0)
else if (instr == 1) else if (group == 1)
instr = 04000 | 0110; // JSR R1,(R0) instr = 04000 | 0110; // JSR R1,(R0)
else if (instr == 2) else if (group == 2)
instr = 0200 | 01; // RTS (R1) instr = 0200 | 01; // RTS (R1)
for(int v1=0; v1<n_test_values; v1++) { for(int v1=0; v1<n_test_values; v1++) {