Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
[11:42:20.938773 Dbg    cpu 03410@ka11.c:0412] EXEC [000726] MOV
[11:42:20.938777 Dbg    cpu 03410@ka11.c:0161] DATI [000730] => 000001
[11:42:20.938780 Dbg    cpu 03410@ka11.c:0161] DATI [000732] => 000440
[11:42:20.938784 Dbg    cpu 03410@ka11.c:0161] DATI [000440] => 000000
[11:42:20.938787 Dbg    cpu 03410@ka11.c:0174] DATO [000440] <= 000001
[11:42:20.938793 Dbg    cpu 03410@ka11.c:0161] DATI [000734] => 005037
[11:42:20.938797 Dbg    cpu 03410@ka11.c:0639] EXEC [000734] CLR
[11:42:20.938800 Dbg    cpu 03410@ka11.c:0161] DATI [000736] => 000442
[11:42:20.938803 Dbg    cpu 03410@ka11.c:0161] DATI [000442] => 000014
[11:42:20.938807 Dbg    cpu 03410@ka11.c:0174] DATO [000442] <= 000000
[11:42:20.938814 Dbg    cpu 03410@ka11.c:0161] DATI [000740] => 010701
[11:42:20.938817 Dbg    cpu 03410@ka11.c:0412] EXEC [000740] MOV
[11:42:20.938824 Dbg    cpu 03410@ka11.c:0161] DATI [000742] => 013700
[11:42:20.938827 Dbg    cpu 03410@ka11.c:0412] EXEC [000742] MOV
[11:42:20.938831 Dbg    cpu 03410@ka11.c:0161] DATI [000744] => 000434
[11:42:20.938834 Dbg    cpu 03410@ka11.c:0161] DATI [000434] => 000001
[11:42:20.938840 Dbg    cpu 03410@ka11.c:0161] DATI [000746] => 032737
[11:42:20.938843 Dbg    cpu 03410@ka11.c:0423] EXEC [000746] BIT
[11:42:20.938847 Dbg    cpu 03410@ka11.c:0161] DATI [000750] => 000001
[11:42:20.938850 Dbg    cpu 03410@ka11.c:0161] DATI [000752] => 000406
[11:42:20.938854 Dbg    cpu 03410@ka11.c:0161] DATI [000406] => 000000
[11:42:20.938860 Dbg    cpu 03410@ka11.c:0161] DATI [000754] => 001004
[11:42:20.938864 Dbg    cpu 03410@ka11.c:0738] EXEC [000754] BNE
[11:42:20.938870 Dbg    cpu 03410@ka11.c:0161] DATI [000756] => 013701
[11:42:20.938873 Dbg    cpu 03410@ka11.c:0412] EXEC [000756] MOV
[11:42:20.938877 Dbg    cpu 03410@ka11.c:0161] DATI [000760] => 000436
[11:42:20.938880 Dbg    cpu 03410@ka11.c:0161] DATI [000436] => 000000
[11:42:20.938886 Dbg    cpu 03410@ka11.c:0161] DATI [000762] => 072001
[11:42:20.938890 Dbg    cpu 03410@ka11.c:0498] EXEC [000762] ASH
[11:42:20.938897 Dbg    cpu 03410@ka11.c:0161] DATI [000764] => 000402
[11:42:20.938900 Dbg    cpu 03410@ka11.c:0737] EXEC [000764] BR
[11:42:20.938907 Dbg    cpu 03410@ka11.c:0161] DATI [000772] => 106737
[11:42:20.938911 Dbg    cpu 03410@ka11.c:0715] EXEC [000772] MFPS
[11:42:20.938914 Dbg    cpu 03410@ka11.c:0174] DATOB [000772] <= 000000
[11:42:20.938920 Dbg    cpu 03410@ka11.c:0161] DATI [000774] => 000432
[11:42:20.938924 Dbg    cpu 03410@ka11.c:0737] EXEC [000774] BR
[11:42:20.938930 Dbg    cpu 03410@ka11.c:0161] DATI [001062] => 177354
[11:42:20.938933 Dbg    cpu 03410@ka11.c:0815] TRAP 10

The FKAC test

Reading the fiche to understand the ASH part of it..

The test tests the ASH instruction for the registers R0..R5, where those registers are the ones to be shifted. On even passes, when we test Rn, the shift count (coming from temp2) is moved to R(n+1) and that register is used as the count. On odd passes it uses test2 directly.

The test loops 30x (36oct) though the same sets of code. Every EVEN run it

Variables:

  • temp1: current value to be shifted.

  • temp2: shift count. On even passes this gets moved to a register, and the register is used as the count source. On odd passes the ash instruction addresses temp2 directly (mode 67).

  • temp3 : the expected result of the shift operation expected in the shifted register

  • temp4: the expected PSW result

Debugging using Unibone and FKAC

...