summaryrefslogtreecommitdiffhomepage
path: root/mixlib/mix_types.h
diff options
context:
space:
mode:
authorlitvin <litvindev@gmail.com>2015-01-12 10:18:17 +0300
committerjao <jao@gnu.org>2015-03-03 19:24:16 +0100
commit09b22f2e082350f398dcd142b6af70a30f105ce1 (patch)
tree7a6237a66ba550a3a96da5a371de11af036d2a9b /mixlib/mix_types.h
parentb83ce265d72783b8cc60e4020ec87908470cb8b6 (diff)
downloadmdk-09b22f2e082350f398dcd142b6af70a30f105ce1.tar.gz
mdk-09b22f2e082350f398dcd142b6af70a30f105ce1.tar.bz2
Add missed instructions: SLB,SRB,JAE,JAO,JXE,JXO (from volume 2, section 4.5.2)
Diffstat (limited to 'mixlib/mix_types.h')
-rw-r--r--mixlib/mix_types.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/mixlib/mix_types.h b/mixlib/mix_types.h
index 9473b00..8bea145 100644
--- a/mixlib/mix_types.h
+++ b/mixlib/mix_types.h
@@ -136,6 +136,8 @@ mix_word_set_byte(mix_word_t *into, /* word to be modified */
#define mix_word_magnitude(word) ( (word) & (MIX_WORD_SIGN_BIT - 1) )
#define mix_word_is_positive(word) ( mix_word_sign(word) == 0 )
#define mix_word_is_negative(word) ( mix_word_sign(word) != 0 )
+#define mix_word_is_even(word) ( ((word) & 1) == 0 )
+#define mix_word_is_odd(word) ( ((word) & 1) == 1 )
/* Arithmetic operations */
@@ -175,10 +177,15 @@ mix_word_shift_left_circular(mix_word_t A, mix_word_t X, gulong count,
mix_word_t *pA, mix_word_t *pX);
extern void
mix_word_shift_right_circular(mix_word_t A, mix_word_t X, gulong count,
- mix_word_t *pA, mix_word_t *pX);
-
+ mix_word_t *pA, mix_word_t *pX);
+extern void
+mix_word_shift_left_binary(mix_word_t A, mix_word_t X, gulong count,
+ mix_word_t *pA, mix_word_t *pX);
+extern void
+mix_word_shift_right_binary(mix_word_t A, mix_word_t X, gulong count,
+ mix_word_t *pA, mix_word_t *pX);
/*
* Fields within a word: a word containing the (L:R)