ack/tests/plat/inn_e.e

85 lines
1.2 KiB
Plaintext
Raw Normal View History

2016-11-20 11:53:44 +00:00
#
mes 2, EM_WSIZE, EM_PSIZE
2016-11-20 11:53:44 +00:00
exp $_m_a_i_n
pro $_m_a_i_n, 0
/* Test non-existent bit */
.1
rom 0I1, 0I1, 0I1, 0I1
loe .1
loc 1 /* bit number */
inn EM_WSIZE
2016-11-20 11:53:44 +00:00
zeq *1
loc __LINE__
cal $fail
ass EM_WSIZE
2016-11-20 11:53:44 +00:00
1
/* Test existent bit */
.2
rom 2I1, 0I1, 0I1, 0I1
loe .2
loc 1 /* bit number */
inn EM_WSIZE
2016-11-20 11:53:44 +00:00
zne *2
loc __LINE__
cal $fail
ass EM_WSIZE
2016-11-20 11:53:44 +00:00
2
/* Test non-existent high bit */
.3
rom 0I1, 0I1, 0I1, 0I1
rom 0I1, 0I1, 0I1, 0I1
.31
rom (EM_WSIZE*8)+1 /* to defeat constant folding */
2016-11-20 11:53:44 +00:00
lae .3
loi EM_WSIZE*2
2016-11-20 11:53:44 +00:00
loe .31 /* bit number */
inn EM_WSIZE*2
2016-11-20 11:53:44 +00:00
zeq *3
loc __LINE__
cal $fail
ass EM_WSIZE
2016-11-20 11:53:44 +00:00
3
/* Test existent high bit */
.4
#if EM_WSIZE == 2
rom 0I1, 0I1
rom 2I1, 0I1
#elif EM_WSIZE == 4
2016-11-20 11:53:44 +00:00
rom 0I1, 0I1, 0I1, 0I1
rom 2I1, 0I1, 0I1, 0I1
#else
#error Unknown word size
#endif
2016-11-20 11:53:44 +00:00
.41
rom (EM_WSIZE*8)+1 /* to defeat constant folding */
2016-11-20 11:53:44 +00:00
lae .4
loi EM_WSIZE*2
2016-11-20 11:53:44 +00:00
loe .41 /* bit number */
inn EM_WSIZE*2
2016-11-20 11:53:44 +00:00
zne *4
loc __LINE__
cal $fail
ass EM_WSIZE
2016-11-20 11:53:44 +00:00
4
cal $finished
ret 0
end