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

Subversion Repositories ssbcc

[/] [ssbcc/] [trunk/] [core/] [9x8/] [tb/] [arch/] [arch-3mem.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
.main
15
 
16
  ;
17
  ; Write to the memories a couple of times at slightly different locations and with different values.
18
  ;
19
 
20
  ${size['ram_a']/2} :loop_write_a0 0xA5 over ^ over .store(ram_a) drop     .jumpc(loop_write_a0,0>>) drop
21
  ${size['ram_b']/2} :loop_write_b0 0x96 over ^ over .store(ram_b) drop     .jumpc(loop_write_b0,0>>) drop
22
  ${size['ram_c']/2} :loop_write_c0 0xFF over ^ over .store(ram_c) drop     .jumpc(loop_write_c0,0>>) drop
23
  ${size['ram_a']/2} :loop_write_a1 0x5A over ^ over .store(ram_a) drop 0>> .jumpc(loop_write_a1,0>>) drop
24
  ${size['ram_b']/4} :loop_write_b1 0x69 over ^ over .store(ram_b) drop 0>> .jumpc(loop_write_b1,0>>) drop
25
 
26
  ;
27
  ; Read all the final memory values and the locations writes were performed.
28
  ;
29
 
30
  ${size['ram_a']/2} :loop_read_a dup .fetch(ram_a) drop .jumpc(loop_read_a,0>>) drop
31
  ${size['ram_b']/2} :loop_read_b dup .fetch(ram_b) drop .jumpc(loop_read_b,0>>) drop
32
  ${size['ram_c']/2} :loop_read_c dup .fetch(ram_c) drop .jumpc(loop_read_c,0>>) drop
33
 
34
  ; Terminate the simulation.
35
  .outstrobe(O_DONE_STROBE)
36
 
37
  ; Sit in an infinite loop.
38
  :infinite .jump(infinite)

powered by: WebSVN 2.1.0

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