Hex Bit Arithmetic & UEMU

CS 301 Lecture, Dr. Lawlor, 2005/09/14

Arithmetic In Hex

& 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0














1 0 1













2 0 0 2












3 0 1 2 3











4 0 0 0 0 4










5 0 1 0 1 4 5









6 0 0 2 2 4 4 6








7 0 1 2 3 4 5 6 7







8 0 0 0 0 0 0 0 0 8






9 0 1 0 1 0 1 0 1 8 9





A 0 0 2 2 0 0 2 2 8 8 A




B 0 1 2 3 0 1 2 3 8 9 A B



C 0 0 0 0 4 4 4 4 8 8 8 8 C


D 0 1 0 1 4 5 4 5 8 9 8 9 C D

E 0 0 2 2 4 4 6 6 8 8 A A C C E
F 0 1 2 3 4 5 6 7 8 9 A B C D E F
Bitwise AND operation.
You should verify that X&0=-0, X&0xF==X, and X&X==X

| 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0














1 1 1













2 2 3 2












3 3 3 3 3











4 4 5 6 7 4










5 5 5 7 7 5 5









6 6 7 6 7 6 7 6








7 7 7 7 7 7 7 7 7







8 8 9 A B C D E F 8






9 9 9 B B D D F F 9 9





A A B A B E F E F A B A




B B B B B F F F F B B B B



C C D E F C D E F C D E F C


D D D F F D D F F D D F F D D

E E F E F E F E F E F E F E F E
F F F F F F F F F F F F F F F F F
Bitwise OR operation. X|0==X, X|0xF==0xF, X|X==X

^ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0














1 1 0













2 2 3 0












3 3 2 1 0











4 4 5 6 7 0










5 5 4 7 6 1 0









6 6 7 4 5 2 3 0








7 7 6 5 4 3 2 1 0







8 8 9 A B C D E F 0






9 9 8 B A D C F E 1 0





A A B 8 9 E F C D 2 3 0




B B A 9 8 F E D C 3 2 1 0



C C D E F 8 9 A B 4 5 6 7 0


D D C F E 9 8 B A 5 4 7 6 1 0

E E F C D A B 8 9 6 7 4 5 2 3 0
F F E D C B A 9 8 7 6 5 4 3 2 1 0
Bitwise Exclusive OR (XOR).  X^0==X, X^0xF=~X, X^X==0

bits 3
2
1
0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
A 1 0 1 0
B 1 0 1 1
C 1 1 0 0
D 1 1 0 1
E 1 1 1 0
F 1 1 1 1
Bits in a hexadecimal digit.  Bits are written in the usual order, with lower bits on the right.

ASCII 0 1 2 3 4 5 6 7 8 9 A B C D E F
0
       


 
1                
2
! " # $ % & ' ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~ 
8
ƒ ˆ Š Œ
Ž
9
˜ š œ
ž Ÿ
A   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­
® ¯
B ° ± ² ³ ´ µ · ¸ ¹ º » ¼ ½ ¾ ¿
C À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
D Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
E à á â ã ä å æ ç è é ê ë ì í î ï
F ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
ASCII table.  Horizontal axis gives the low hex digit, vertical axis the high hex digit, and the entry is ASCII for that hex digit.  E.g., "A" is 0x41.

UEMU

Just see the UEMU page.