|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 DFS Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 DFS Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4096 (0x1000)
Types: EM, TextFile
Names: »ST.EM«
└─⟦b4205821b⟧ Bits:30000743 8mm tape, Rational 1000, DFS, D_12_7_3 SEQ288
└─⟦this⟧ »ST.EM«
└─⟦b434774df⟧ Bits:30000528 8mm tape, Rational 1000, DFS, D_12_6_5
└─⟦this⟧ »ST.EM«
└─⟦bc1274df5⟧ Bits:30000750 8mm tape, Rational 1000, DFS backup from PAM's R1000
└─⟦this⟧ »ST.EM«
[case,%1%]
[when,cp]
[flush_csa]
[save_seq_state]
[set SDR [xeq seq test_read_top 0]]
[set SDR [xeq seq read_sdr]]
[set CUR_LEX [#extract [arg 2 [var sdr]],3C,4]]
[set CURRENT_NAME [#extract [arg 1 [var sdr]],0,20]]
[set ST_INNER [arg 2 [xeq seq test_read_resolve 0 [var CUR_LEX]]]]
[set ST_PRED [#extract [xeq seq test_read_pred 0],2C,14]]
[set ST_FRAME [var ST_PRED]]
[restore_seq_state]
[dpc]
[display_frame_info [var ST_INNER]]
[display_frame_info [var ST_PRED]]
[when,*]
[display_frame_info [var ST_FRAME]]
[when,poffs]
[get_arg %2%,OFFSET,(words),:]
set BIT_OFFS [and,[lshift,[add,[var ST_FRAME],[var OFFSET]],7],
0FFFFFF80];
! - start tag_query with MEM 3 because of SET_INH problems;
tag_query,3,1,[var CURRENT_NAME],[var BIT_OFFS];
[#le,[var SET_NUM],0F]
[set CONTROL_WORD [xeq MEM[rshift,[var SET_NUM],2],
READ_MEMORY_SPECIAL,[mul,[var SET_NUM],10],
1,[var CURRENT_NAME],[var BIT_OFFS]]]
[write OFFSET,,,,,= [rshift,[var BIT_OFFS],7]]
display_control_word [arg 1 [var CONTROL_WORD]],
[arg 2 [var CONTROL_WORD]],
[var BIT_OFFS];
[else]
write NO BOARDS HIT - PAGE NOT IN MEMORY;
[end]
kill CONTROL_WORD;
kill SPACE;
kill NAME;
kill BIT_OFFS;
kill SET_NUM;
kill TS_DATA;
[when,noffs]
[get_arg %2%,OFFSET,(words),:]
[set OFFSET [sub,0,[var OFFSET]]]
set BIT_OFFS [and,[lshift,[add,[var ST_FRAME],[var OFFSET]],7],
0FFFFFF80];
! - start tag_query with MEM 3 because of SET_INH problems;
tag_query,3,1,[var CURRENT_NAME],[var BIT_OFFS];
[#le,[var SET_NUM],0F]
[set CONTROL_WORD [xeq MEM[rshift,[var SET_NUM],2],
READ_MEMORY_SPECIAL,[mul,[var SET_NUM],10],
1,[var CURRENT_NAME],[var BIT_OFFS]]]
[write OFFSET,,,,,= [rshift,[var BIT_OFFS],7]]
display_control_word [arg 1 [var CONTROL_WORD]],
[arg 2 [var CONTROL_WORD]],
[var BIT_OFFS];
[else]
write NO BOARDS HIT - PAGE NOT IN MEMORY;
[end]
kill CONTROL_WORD;
kill SPACE;
kill NAME;
kill BIT_OFFS;
kill SET_NUM;
kill TS_DATA;
[when,new]
[get_arg %2%,STACK_NAME,:]
[set CURRENT_NAME [var STACK_NAME]]
[set WORDS 1]
! - start tag_query with MEM 3 because of SET_INH problems;
[tag_query,3,1,[var CURRENT_NAME],180]
[#le,[var SET_NUM],0F]
[set CONTROL_WORD [xeq MEM[rshift,[var SET_NUM],2],
READ_MEMORY_SPECIAL,[mul,[var SET_NUM],10],
1,[var CURRENT_NAME],180]]
[assert_of_kind AUXILIARY_STATE [var CONTROL_WORD]]
[set ST_INNER [#extract,[arg 2 [var CONTROL_WORD]],0,14]]
[set BIT_OFFS [and,[lshift,[arg 2 [var ST_INNER]],7]],0FFFFFF80]
! - start tag_query with MEM 3 because of SET_INH problems;
[tag_query,3,1,[var CURRENT_NAME],[var BIT_OFFS]]
[#le,[var SET_NUM],0F]
[set CONTROL_WORD [xeq MEM[rshift,[var SET_NUM],2],
READ_MEMORY_SPECIAL,[mul,[var SET_NUM],10],
1,[var CURRENT_NAME],[var BIT_OFFS]]]
[assert_of_kind ACTIVATION_STATE [var CONTROL_WORD]]
[set ST_PRED [#extract,[arg 2 [var CONTROL_WORD]],0,14]]
[set ST_FRAME [var ST_PRED]]
[display_frame_info [var ST_INNER]]
[#ne,[var ST_INNER],[var ST_PRED]]
[display_frame_info [var CURRENT_NAME] [var ST_PRED]]
[end]
[else]
write NO BOARDS HIT - PAGE NOT IN MEMORY;
[end]
[else]
write NO BOARDS HIT - PAGE NOT IN MEMORY;
[end]
[kill STACK_NAME]
[kill CONTROL_WORD]
[kill SPACE]
[kill NAME]
[kill BIT_OFFS]
[kill SET_NUM]
[kill TS_DATA]
[endcase]«nul»