3 .EXPORT integer_memory_tests,CODE
4 .EXPORT integer_indexing_load,CODE
5 .EXPORT integer_load_short_memory,CODE
6 .EXPORT integer_store_short_memory,CODE
8 .EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR
9 ; Basic integer memory tests which also test the various
10 ; addressing modes and completers.
12 ; We could/should test some of the corner cases for register and
13 ; immediate fields. We should also check the assorted field
14 ; selectors to make sure they're handled correctly.
24 ; Should make sure pre/post modes are recognized correctly.
28 integer_indexing_load:
29 ldwx %r5(%sr0,%r4),%r26
30 ldwx,s %r5(%sr0,%r4),%r26
31 ldwx,m %r5(%sr0,%r4),%r26
32 ldwx,sm %r5(%sr0,%r4),%r26
33 ldhx %r5(%sr0,%r4),%r26
34 ldhx,s %r5(%sr0,%r4),%r26
35 ldhx,m %r5(%sr0,%r4),%r26
36 ldhx,sm %r5(%sr0,%r4),%r26
37 ldbx %r5(%sr0,%r4),%r26
38 ldbx,s %r5(%sr0,%r4),%r26
39 ldbx,m %r5(%sr0,%r4),%r26
40 ldbx,sm %r5(%sr0,%r4),%r26
44 ldwax,sm %r5(%r4),%r26
45 ldcwx %r5(%sr0,%r4),%r26
46 ldcwx,s %r5(%sr0,%r4),%r26
47 ldcwx,m %r5(%sr0,%r4),%r26
48 ldcwx,sm %r5(%sr0,%r4),%r26
50 integer_load_short_memory:
52 ldws,mb 0(%sr0,%r4),%r26
53 ldws,ma 0(%sr0,%r4),%r26
55 ldhs,mb 0(%sr0,%r4),%r26
56 ldhs,ma 0(%sr0,%r4),%r26
58 ldbs,mb 0(%sr0,%r4),%r26
59 ldbs,ma 0(%sr0,%r4),%r26
63 ldcws 0(%sr0,%r4),%r26
64 ldcws,mb 0(%sr0,%r4),%r26
65 ldcws,ma 0(%sr0,%r4),%r26
67 integer_store_short_memory:
69 stws,mb %r26,0(%sr0,%r4)
70 stws,ma %r26,0(%sr0,%r4)
72 sths,mb %r26,0(%sr0,%r4)
73 sths,ma %r26,0(%sr0,%r4)
75 stbs,mb %r26,0(%sr0,%r4)
76 stbs,ma %r26,0(%sr0,%r4)
80 stbys %r26,0(%sr0,%r4)
81 stbys,b %r26,0(%sr0,%r4)
82 stbys,e %r26,0(%sr0,%r4)
83 stbys,b,m %r26,0(%sr0,%r4)
84 stbys,e,m %r26,0(%sr0,%r4)