OpenCores
URL https://opencores.org/ocsvn/ssbcc/ssbcc/trunk

Subversion Repositories ssbcc

[/] [ssbcc/] [trunk/] [core/] [9x8/] [tb/] [arch/] [arch-4mem.s] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 sinclairrf
; Copyright 2013, Sinclair R.F., Inc.
2
;
3
; Test memory I/O
4
 
5
.memory RAM ram_a
6
.variable a 0*${size['ram_a']}
7
 
8
.memory RAM ram_b
9
.variable b 0*${size['ram_b']}
10
 
11
.memory RAM ram_c
12
.variable c 0*${size['ram_c']}
13
 
14
.memory RAM ram_d
15
.variable d 0*${size['ram_d']}
16
 
17
.main
18
 
19
  ;
20
  ; Write to the memories a couple of times at slightly different locations and with different values.
21
  ;
22
 
23
  ${size['ram_a']/2} :loop_write_a0 0xA5 over ^ over .store(ram_a) drop     .jumpc(loop_write_a0,0>>) drop
24
  ${size['ram_b']/2} :loop_write_b0 0x96 over ^ over .store(ram_b) drop     .jumpc(loop_write_b0,0>>) drop
25
  ${size['ram_c']/2} :loop_write_c0 0xFF over ^ over .store(ram_c) drop     .jumpc(loop_write_c0,0>>) drop
26
  ${size['ram_d']/2} :loop_write_d0 0x95 over ^ over .store(ram_d) drop     .jumpc(loop_write_d0,0>>) drop
27
  ${size['ram_a']/2} :loop_write_a1 0x5A over ^ over .store(ram_a) drop 0>> .jumpc(loop_write_a1,0>>) drop
28
  ${size['ram_b']/4} :loop_write_b1 0x69 over ^ over .store(ram_b) drop 0>> .jumpc(loop_write_b1,0>>) drop
29
  ${size['ram_c']/8} :loop_write_c1 0x00 over ^ over .store(ram_c) drop 0>> .jumpc(loop_write_c1,0>>) drop
30
 
31
  ;
32
  ; Read all the final memory values and the locations writes were performed.
33
  ;
34
 
35
  ${size['ram_a']/2} :loop_read_a dup .fetch(ram_a) drop .jumpc(loop_read_a,0>>) drop
36
  ${size['ram_b']/2} :loop_read_b dup .fetch(ram_b) drop .jumpc(loop_read_b,0>>) drop
37
  ${size['ram_c']/2} :loop_read_c dup .fetch(ram_c) drop .jumpc(loop_read_c,0>>) drop
38
  ${size['ram_d']/2} :loop_read_d dup .fetch(ram_d) drop .jumpc(loop_read_d,0>>) drop
39
 
40
  ; Terminate the simulation.
41
  .outstrobe(O_DONE_STROBE)
42
 
43
  ; Sit in an infinite loop.
44
  :infinite .jump(infinite)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.