2018-09-17 15:59:45 +00:00
|
|
|
#
|
|
|
|
mes 2, EM_WSIZE, EM_PSIZE
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Does basic testing of aar. Unfortunately, aar throws ERANGE on
|
|
|
|
* error, which we can't catch (or at least, the platforms I've looked at
|
|
|
|
* don't allow it to be caught, those platforms which actually throw it on
|
|
|
|
* error). So we just test the non-throwing cases, not the negative ones.
|
|
|
|
*/
|
|
|
|
|
|
|
|
array
|
|
|
|
bss 3*EM_WSIZE, 0, 0
|
|
|
|
|
|
|
|
descriptor
|
|
|
|
con -1 ; lower bound
|
2018-09-17 18:34:38 +00:00
|
|
|
con 2 ; range, *inclusive*
|
2018-09-17 15:59:45 +00:00
|
|
|
con EM_WSIZE ; size of element
|
|
|
|
|
|
|
|
|
|
|
|
exp $_m_a_i_n
|
|
|
|
pro $_m_a_i_n, 0
|
|
|
|
|
|
|
|
/* Access element -1 */
|
|
|
|
|
|
|
|
lae array
|
|
|
|
loc -1
|
|
|
|
lae descriptor
|
|
|
|
aar EM_WSIZE
|
|
|
|
|
|
|
|
lae array
|
|
|
|
cmu EM_WSIZE
|
|
|
|
zeq *1
|
|
|
|
|
|
|
|
loc __LINE__
|
|
|
|
cal $fail
|
|
|
|
ass EM_WSIZE
|
|
|
|
1
|
|
|
|
|
|
|
|
/* Access element 0 */
|
|
|
|
|
|
|
|
lae array
|
|
|
|
loc 0
|
|
|
|
lae descriptor
|
|
|
|
aar EM_WSIZE
|
|
|
|
|
|
|
|
lae array
|
|
|
|
adp EM_WSIZE
|
|
|
|
cmu EM_WSIZE
|
|
|
|
zeq *2
|
|
|
|
|
|
|
|
loc __LINE__
|
|
|
|
cal $fail
|
|
|
|
ass EM_WSIZE
|
|
|
|
2
|
|
|
|
|
|
|
|
/* Access element 1 */
|
|
|
|
|
|
|
|
lae array
|
|
|
|
loc 1
|
|
|
|
lae descriptor
|
|
|
|
aar EM_WSIZE
|
|
|
|
|
|
|
|
lae array
|
|
|
|
adp EM_WSIZE*2
|
|
|
|
cmu EM_WSIZE
|
|
|
|
zeq *3
|
|
|
|
|
|
|
|
loc __LINE__
|
|
|
|
cal $fail
|
|
|
|
ass EM_WSIZE
|
|
|
|
3
|
|
|
|
|
|
|
|
cal $finished
|
|
|
|
end
|
|
|
|
|