| 12345678910111213141516171819202122232425262728293031323334 |
- # find the maximum value
- # in a nul-terminated array
- # of unsigned bytes
- #
- # the output is stored in $a
- data $arr = { b 10, b -60, b 10, b 100, b 200, b 0 }
- export
- function $test() {
- @start
- @loop
- %max =w phi @start -1, @new %byt, @old %max
- %loc =l phi @start $arr, @new %loc1, @old %loc1
- %byt =w loadub %loc
- %loc1 =l add 1, %loc
- jnz %byt, @iter, @end
- @iter
- %cmp =w cslew %max, %byt
- jnz %cmp, @new, @old
- @new
- jmp @loop
- @old
- jmp @loop
- @end
- storew %max, $a
- ret
- }
- # >>> driver
- # extern void test(void);
- # int a;
- # int main() { test(); return !(a == 200); }
- # <<<
|