Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :Check_add_limit
- {
- Type: IF
- Parameters:
- Passed:
- 0@ - first integer
- 1@ - second integer
- Result:
- Returns true if two numbers don`t exceed 2^31 limit for integer, else returns false.
- Example:
- if 0AB1: call_scm_func @Check_add_limit 2 numbers 2147483647 + 1
- if 0AB1: call_scm_func @Check_add_limit 2 numbers -2147483647 + -2
- }
- if
- 1@ > 0
- then
- 2@ = 0x7FFFFFFF
- 0062: 2@ -= 0@ // (int)
- if
- 002D: 2@ >= 1@ // (int)
- then
- 0485: return_true
- else
- 059A: return_false
- end
- else
- if
- 0@ <= 0
- then
- 2@ = 0x80000000
- 0062: 2@ -= 0@ // (int)
- if
- 002D: 1@ >= 2@ // (int)
- then
- 0485: return_true
- else
- 059A: return_false
- end
- else
- 0485: return_true
- end
- end
- 0AB2: ret 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement