Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1.         supmode on
  2.         pmmu    on
  3.  
  4.         ; MMU Testprogram
  5.         jump    @x'10000010     ; 00000000  7FAAD0000010 Enable DRAM at address 0
  6.         .align  16
  7.        ; Build up
  8.         lprd    cfg,x'AFF       ; 00000010  6FA600000AFF
  9.         lprd    sp,x'1FC        ; 00000016  EFA4000001FC System Stackpointer
  10.         movd    x'B0051D0,TOS   ; 0000001C  D7A50B0051D0 PSR and Module
  11.         movd    x'1807FF0,TOS   ; 00000022  D7A501807FF0 Jump to USER program
  12.         addr    procexit,tos    ; 00000028  E7DD80A7
  13.         movd    x'123456,@x'600 ; 0000002C  57A5001234568600 Data ...
  14.         lprd    intbase,x'200   ; 00000034  6FA700000200
  15.         movqd   7,@0            ; 0000003A  DFAB00 Level 1 USER MOD
  16.         movqd   7,@x'14         ; 0000003D  DFAB14 Level 2 USER MOD
  17.         movqd   7,@x'18         ; 00000040  DFAB18 Level 1 USER Programm
  18.         movqd   7,@x'1C         ; 00000043  DFAB1C Level 2 USER Programm
  19.         movqd   0,@x'20         ; 00000046  5FA820 next Page not there !
  20.         movd    x'1007,@x'EC    ; 00000049  57A50000100780EC Level 1 USER Data
  21.         movmd   zero,@x'F0,3    ; 00000051  CE43DD808F80F008 Level 2 User Data set to 0
  22.         movd    x'2187,@x'FC    ; 00000059  57A50000218780FC Level 2 USER Data : Stack
  23.         lmr     mcr,5           ; 00000061  1E8BA400000005 DS and TU
  24.         lmr     ptb1,x'A2000    ; 00000068  1E8BA6000A2000 does not matter ... but better visible
  25.         movd    x'12380,@x'1D0  ; 0000006F  57A50001238081D0 SB USER Modul
  26.         movd    x'000230,@x'208 ; 00000077  57A5000002308208 ABORT Vector
  27.         movd    x'200230,@x'200 ; 0000007F  57A5002002308200 Interrupt Vector
  28.         movd    x'537C0,@x'230  ; 00000087  57A5000537C08230 SB Supervisor Modul
  29.         movd    x'80,@x'238     ; 0000008F  57A5000000808238 Program Base
  30.         movqd   0,@x'E0         ; 00000097  5FA880E0 Page-Table Pointer
  31.        ; load programcode in RAM :
  32.         addr    pages,r1        ; 0000009B  67D88055
  33.         movzwd  x'70,r2         ; 0000009F  CE99A00070
  34.         movzbd  10,r0           ; 000000A4  CE18A00A
  35.         movsd                   ; 000000A8  0E0300
  36.         movmd   use,@x'FF0,4    ; 000000AB  CE43DD80658FF00C
  37.         movqd   -1,@x'E8        ; 000000B3  DFAF80E8 for writing ...
  38.         ret     0               ; 000000B7  1200
  39.         .align  16
  40.         .byte   0               ; 000000C0  00
  41.         .align  8
  42.         .byte   0,0,0,0,0,0,0   ; 000000C8  00000000000000
  43. procexit:
  44.         rett    4               ; 000000CF  4204 now start the test
  45.  
  46.         .align  16
  47. zero:   .double 0,0,0,0         ; 000000E0  0000000000000000
  48.                                 ;           0000000000000000
  49.  
  50.         ; ABORT Service Routine at x'80
  51. pages:  .double x'2007,x'3007,x'4007,x'5007 ;000000F0  0720000007300000
  52.                                 ;           0740000007500000
  53. abo:    save    [r0,r1,r2]      ; 00000100  6207
  54.         movd    12(sp),r1       ; 00000102  57C80C
  55. always:
  56.         addqd   1,r0            ; 00000105  8F00
  57.         br      always          ; 00000107  EA7E
  58.  
  59.         ; User Program at x'FF0
  60.         .align 16
  61. use:    movd    x'12345678,r7   ; 00000110  D7A112345678
  62.         movw    100,r6          ; 00000116  95A10064
  63.         movb    '!',r0          ; 0000011A  14A021
  64.         addr    -800(sb),r1     ; 0000011D  67D0BCE0
  65.  
  66.         .align  16
  67.         ; only for example
  68.         .long   3.5e6           ; 00000130  00000000F0B34A41
  69.