diff --git a/specification/bk_main.xml b/specification/bk_main.xml index 8beecad..23586c9 100644 --- a/specification/bk_main.xml +++ b/specification/bk_main.xml @@ -94,7 +94,7 @@ - 2018-12-17 + 2018-12-19 diff --git a/specification/ch_3.xml b/specification/ch_3.xml index a290f2c..28de7c9 100644 --- a/specification/ch_3.xml +++ b/specification/ch_3.xml @@ -2550,8 +2550,7 @@ my_func: #hi(value) - Denotes bits 16–31 of the indicated value. That + Denotes bits 16–63 of the indicated value. That is: #hi(x) = x >> 16 @@ -2561,13 +2560,35 @@ my_func: #ha(value) - Denotes the high adjusted value: bits - 16–31 of the + Denotes the high adjusted value: bits 16–63 of the indicated value, compensating for #lo( ) being treated as a signed number. That is: #ha(x) = (x + 0x8000) >> 16 + + + #high(value) + + + Denotes bits 16–31 of the indicated value. That + is: + #high(x) = (x >> 16) & 0xffff + + + + + #higha(value) + + + Denotes the high adjusted value: bits 16–31 + of the + indicated value, compensating for #lo( ) being treated as a + signed number. That is: + #higha(x) = ((x + 0x8000) >> 16) & + 0xffff + + #higher(value) @@ -2575,7 +2596,7 @@ my_func: Denotes bits 32–47 of the indicated value. That is: - #higher(x) = x >> 32 + #higher(x) = (x >> 32) & 0xffff @@ -2585,9 +2606,10 @@ my_func: Denotes the higher adjusted value: bits 32–47 of the - indicated value, compensating for #lo( ) being treated as a + indicated value, compensating for #hi( ) being treated as a signed number. That is: - #highera(x) = (x + 0x8000) >> 32 + #highera(x) = ((x + 0x80000000) >> 32) & + 0xffff @@ -2607,9 +2629,9 @@ my_func: Denotes the highest adjusted value: bits 48–63 of the - indicated value, compensating for #lo( ) being treated as a + indicated value, compensating for #higher( ) being treated as a signed number. That is: - #highesta(x) = (x + 0x8000) >> 48 + #highesta(x) = (x + 0x800000000000) >> 48 @@ -2647,7 +2669,7 @@ my_func: Denotes bits 34–49 of the indicated value. That is: - #higher34(x) = x >> 34 + (#higher34(x) = x >> 34) & 0xffff @@ -2659,7 +2681,8 @@ my_func: of the indicated value, compensating for #lo34( ) being treated as a signed number. That is: - #highera34(x) = (x + 0x200000000) >> 34 + #highera34(x) = ((x + 0x200000000) >> 34) & + 0xffff @@ -4374,7 +4397,7 @@ my_func: half16 - #hi(S + A) + #high(S + A) @@ -4388,7 +4411,7 @@ my_func: half16 - #ha(S + A) + #higha(S + A) @@ -4403,7 +4426,7 @@ my_func: - #hi(@tprel) + #high(@tprel) @@ -4419,7 +4442,7 @@ my_func: - #ha(@tprel) + #higha(@tprel) @@ -4435,7 +4458,7 @@ my_func: - #hi(@dtprel) + #high(@dtprel) @@ -4451,7 +4474,7 @@ my_func: - #ha(@dtprel) + #higha(@dtprel) @@ -4887,7 +4910,7 @@ my_func: half16 - #hi(S + A – P) + #high(S + A – P) @@ -4901,7 +4924,7 @@ my_func: half16 - #ha(S + A – P) + #higha(S + A – P)