Gray code: Difference between revisions
Content added Content deleted
No edit summary |
Bachvaroff (talk | contribs) No edit summary |
||
Line 207: | Line 207: | ||
30 ==> 11110 ==> 10001 ==> 11110 ==> 30 |
30 ==> 11110 ==> 10001 ==> 11110 ==> 30 |
||
31 ==> 11111 ==> 10000 ==> 11111 ==> 31 |
31 ==> 11111 ==> 10000 ==> 11111 ==> 31 |
||
</pre> |
|||
=={{header|8051 Assembly}}== |
|||
<syntaxhighlight lang="8051asm"> |
|||
.equ cin, 0x0032 |
|||
.equ cout, 0x0030 |
|||
.equ phex, 0x0034 |
|||
.equ phex16, 0x0036 |
|||
.equ nl, 0x0048 |
|||
.org 0x2000 |
|||
main: |
|||
mov r7, #0 |
|||
next: |
|||
mov a, r7 |
|||
lcall phex |
|||
mov a, #' ' |
|||
lcall cout |
|||
mov a, r7 |
|||
acall genc |
|||
lcall phex |
|||
mov r6, a |
|||
mov a, #' ' |
|||
lcall cout |
|||
mov a, r6 |
|||
acall gdec |
|||
lcall phex |
|||
lcall nl |
|||
inc r7 |
|||
cjne r7, #0, next |
|||
lcall cin |
|||
ljmp 0x0000 |
|||
;-------- |
|||
genc: |
|||
mov r0, a |
|||
clr c |
|||
rrc a |
|||
xrl a, r0 |
|||
ret |
|||
;-------- |
|||
;-------- |
|||
gdec: |
|||
mov r0, a |
|||
gdec_shift_xor: |
|||
clr c |
|||
rrc a |
|||
jz gdec_out |
|||
xch a, r0 |
|||
xrl a, r0 |
|||
xch a, r0 |
|||
sjmp gdec_shift_xor |
|||
gdec_out: |
|||
xch a, r0 |
|||
ret |
|||
;-------- |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
00 00 00 |
|||
01 01 01 |
|||
02 03 02 |
|||
03 02 03 |
|||
04 06 04 |
|||
05 07 05 |
|||
06 05 06 |
|||
07 04 07 |
|||
08 0C 08 |
|||
09 0D 09 |
|||
0A 0F 0A |
|||
0B 0E 0B |
|||
0C 0A 0C |
|||
0D 0B 0D |
|||
0E 09 0E |
|||
0F 08 0F |
|||
10 18 10 |
|||
11 19 11 |
|||
12 1B 12 |
|||
13 1A 13 |
|||
14 1E 14 |
|||
15 1F 15 |
|||
16 1D 16 |
|||
17 1C 17 |
|||
18 14 18 |
|||
19 15 19 |
|||
1A 17 1A |
|||
1B 16 1B |
|||
1C 12 1C |
|||
1D 13 1D |
|||
1E 11 1E |
|||
1F 10 1F |
|||
20 30 20 |
|||
21 31 21 |
|||
22 33 22 |
|||
23 32 23 |
|||
24 36 24 |
|||
25 37 25 |
|||
26 35 26 |
|||
27 34 27 |
|||
28 3C 28 |
|||
29 3D 29 |
|||
2A 3F 2A |
|||
2B 3E 2B |
|||
2C 3A 2C |
|||
2D 3B 2D |
|||
2E 39 2E |
|||
2F 38 2F |
|||
30 28 30 |
|||
31 29 31 |
|||
32 2B 32 |
|||
33 2A 33 |
|||
34 2E 34 |
|||
35 2F 35 |
|||
36 2D 36 |
|||
37 2C 37 |
|||
38 24 38 |
|||
39 25 39 |
|||
3A 27 3A |
|||
3B 26 3B |
|||
3C 22 3C |
|||
3D 23 3D |
|||
3E 21 3E |
|||
3F 20 3F |
|||
40 60 40 |
|||
41 61 41 |
|||
42 63 42 |
|||
43 62 43 |
|||
44 66 44 |
|||
45 67 45 |
|||
46 65 46 |
|||
47 64 47 |
|||
48 6C 48 |
|||
49 6D 49 |
|||
4A 6F 4A |
|||
4B 6E 4B |
|||
4C 6A 4C |
|||
4D 6B 4D |
|||
4E 69 4E |
|||
4F 68 4F |
|||
50 78 50 |
|||
51 79 51 |
|||
52 7B 52 |
|||
53 7A 53 |
|||
54 7E 54 |
|||
55 7F 55 |
|||
56 7D 56 |
|||
57 7C 57 |
|||
58 74 58 |
|||
59 75 59 |
|||
5A 77 5A |
|||
5B 76 5B |
|||
5C 72 5C |
|||
5D 73 5D |
|||
5E 71 5E |
|||
5F 70 5F |
|||
60 50 60 |
|||
61 51 61 |
|||
62 53 62 |
|||
63 52 63 |
|||
64 56 64 |
|||
65 57 65 |
|||
66 55 66 |
|||
67 54 67 |
|||
68 5C 68 |
|||
69 5D 69 |
|||
6A 5F 6A |
|||
6B 5E 6B |
|||
6C 5A 6C |
|||
6D 5B 6D |
|||
6E 59 6E |
|||
6F 58 6F |
|||
70 48 70 |
|||
71 49 71 |
|||
72 4B 72 |
|||
73 4A 73 |
|||
74 4E 74 |
|||
75 4F 75 |
|||
76 4D 76 |
|||
77 4C 77 |
|||
78 44 78 |
|||
79 45 79 |
|||
7A 47 7A |
|||
7B 46 7B |
|||
7C 42 7C |
|||
7D 43 7D |
|||
7E 41 7E |
|||
7F 40 7F |
|||
80 C0 80 |
|||
81 C1 81 |
|||
82 C3 82 |
|||
83 C2 83 |
|||
84 C6 84 |
|||
85 C7 85 |
|||
86 C5 86 |
|||
87 C4 87 |
|||
88 CC 88 |
|||
89 CD 89 |
|||
8A CF 8A |
|||
8B CE 8B |
|||
8C CA 8C |
|||
8D CB 8D |
|||
8E C9 8E |
|||
8F C8 8F |
|||
90 D8 90 |
|||
91 D9 91 |
|||
92 DB 92 |
|||
93 DA 93 |
|||
94 DE 94 |
|||
95 DF 95 |
|||
96 DD 96 |
|||
97 DC 97 |
|||
98 D4 98 |
|||
99 D5 99 |
|||
9A D7 9A |
|||
9B D6 9B |
|||
9C D2 9C |
|||
9D D3 9D |
|||
9E D1 9E |
|||
9F D0 9F |
|||
A0 F0 A0 |
|||
A1 F1 A1 |
|||
A2 F3 A2 |
|||
A3 F2 A3 |
|||
A4 F6 A4 |
|||
A5 F7 A5 |
|||
A6 F5 A6 |
|||
A7 F4 A7 |
|||
A8 FC A8 |
|||
A9 FD A9 |
|||
AA FF AA |
|||
AB FE AB |
|||
AC FA AC |
|||
AD FB AD |
|||
AE F9 AE |
|||
AF F8 AF |
|||
B0 E8 B0 |
|||
B1 E9 B1 |
|||
B2 EB B2 |
|||
B3 EA B3 |
|||
B4 EE B4 |
|||
B5 EF B5 |
|||
B6 ED B6 |
|||
B7 EC B7 |
|||
B8 E4 B8 |
|||
B9 E5 B9 |
|||
BA E7 BA |
|||
BB E6 BB |
|||
BC E2 BC |
|||
BD E3 BD |
|||
BE E1 BE |
|||
BF E0 BF |
|||
C0 A0 C0 |
|||
C1 A1 C1 |
|||
C2 A3 C2 |
|||
C3 A2 C3 |
|||
C4 A6 C4 |
|||
C5 A7 C5 |
|||
C6 A5 C6 |
|||
C7 A4 C7 |
|||
C8 AC C8 |
|||
C9 AD C9 |
|||
CA AF CA |
|||
CB AE CB |
|||
CC AA CC |
|||
CD AB CD |
|||
CE A9 CE |
|||
CF A8 CF |
|||
D0 B8 D0 |
|||
D1 B9 D1 |
|||
D2 BB D2 |
|||
D3 BA D3 |
|||
D4 BE D4 |
|||
D5 BF D5 |
|||
D6 BD D6 |
|||
D7 BC D7 |
|||
D8 B4 D8 |
|||
D9 B5 D9 |
|||
DA B7 DA |
|||
DB B6 DB |
|||
DC B2 DC |
|||
DD B3 DD |
|||
DE B1 DE |
|||
DF B0 DF |
|||
E0 90 E0 |
|||
E1 91 E1 |
|||
E2 93 E2 |
|||
E3 92 E3 |
|||
E4 96 E4 |
|||
E5 97 E5 |
|||
E6 95 E6 |
|||
E7 94 E7 |
|||
E8 9C E8 |
|||
E9 9D E9 |
|||
EA 9F EA |
|||
EB 9E EB |
|||
EC 9A EC |
|||
ED 9B ED |
|||
EE 99 EE |
|||
EF 98 EF |
|||
F0 88 F0 |
|||
F1 89 F1 |
|||
F2 8B F2 |
|||
F3 8A F3 |
|||
F4 8E F4 |
|||
F5 8F F5 |
|||
F6 8D F6 |
|||
F7 8C F7 |
|||
F8 84 F8 |
|||
F9 85 F9 |
|||
FA 87 FA |
|||
FB 86 FB |
|||
FC 82 FC |
|||
FD 83 FD |
|||
FE 81 FE |
|||
FF 80 FF |
|||
</pre> |
</pre> |
||