~ubuntu-branches/ubuntu/lucid/openssl/lucid-proposed

« back to all changes in this revision

Viewing changes to crypto/des/asm/des_enc.m4

  • Committer: Bazaar Package Importer
  • Author(s): Nicolas Valcárcel Scerpella (Canonical)
  • Date: 2009-12-06 20:16:24 UTC
  • mfrom: (11.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20091206201624-u126qjpqm2n2uuhu
Tags: 0.9.8k-7ubuntu1
* Merge from debian unstable, remaining changes (LP: #493392):
  - Link using -Bsymbolic-functions
  - Add support for lpia
  - Disable SSLv2 during compile
  - Ship documentation in openssl-doc, suggested by the package.
  - Use a different priority for libssl0.9.8/restart-services
    depending on whether a desktop, or server dist-upgrade is being
    performed.
  - Display a system restart required notification bubble on libssl0.9.8
    upgrade.
  - Replace duplicate files in the doc directory with symlinks.
  - Move runtime libraries to /lib, for the benefit of wpasupplicant
* Strip the patches out of the source into quilt patches
* Disable CVE-2009-3555.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
!
45
45
 
46
46
.ident "des_enc.m4 2.1"
 
47
.file  "des_enc-sparc.S"
47
48
 
48
49
#if defined(__SUNPRO_C) && defined(__sparcv9)
49
50
# define ABI64  /* They've said -xarch=v9 at command line */
315
316
        ld      [global1+local1], local1
316
317
        xor     $2, out1, out1            ! 8642
317
318
        xor     $2, out0, out0            ! 7531
318
 
        fmovs   %f0, %f0                  ! fxor used for alignment
 
319
        ! fmovs %f0, %f0                  ! fxor used for alignment
319
320
 
320
321
        srl     out1, 4, local0           ! rotate 4 right
321
322
        and     out0, local5, local3      ! 3
322
 
        fmovs   %f0, %f0
 
323
        ! fmovs %f0, %f0
323
324
 
324
325
        ld      [$5+$3*8], local7         ! key 7531 next round
325
326
        srl     local3, 8, local3         ! 3
326
327
        and     local0, 252, local2       ! 2
327
 
        fmovs   %f0, %f0
 
328
        ! fmovs %f0, %f0
328
329
 
329
330
        ld      [global3+local3],local3   ! 3
330
331
        sll     out1, 28, out1            ! rotate
1179
1180
 
1180
1181
        save    %sp, FRAME, %sp
1181
1182
 
1182
 
        call    .PIC.me.up
1183
 
        mov     .PIC.me.up-(.-4),out0
 
1183
        sethi   %hi(.PIC.DES_SPtrans-1f),global1
 
1184
        or      global1,%lo(.PIC.DES_SPtrans-1f),global1
 
1185
1:      call    .+8
 
1186
        add     %o7,global1,global1
 
1187
        sub     global1,.PIC.DES_SPtrans-.des_and,out2
1184
1188
 
1185
1189
        ld      [in0], in5                ! left
1186
1190
        cmp     in2, 0                    ! enc
1237
1241
 
1238
1242
        save    %sp, FRAME, %sp
1239
1243
 
1240
 
        call    .PIC.me.up
1241
 
        mov     .PIC.me.up-(.-4),out0
 
1244
        sethi   %hi(.PIC.DES_SPtrans-1f),global1
 
1245
        or      global1,%lo(.PIC.DES_SPtrans-1f),global1
 
1246
1:      call    .+8
 
1247
        add     %o7,global1,global1
 
1248
        sub     global1,.PIC.DES_SPtrans-.des_and,out2
1242
1249
 
1243
1250
        ! Set sbox address 1 to 6 and rotate halfs 3 left
1244
1251
        ! Errors caught by destest? Yes. Still? *NO*
1352
1359
 
1353
1360
        save    %sp, FRAME, %sp
1354
1361
        
1355
 
        call    .PIC.me.up
1356
 
        mov     .PIC.me.up-(.-4),out0
 
1362
        sethi   %hi(.PIC.DES_SPtrans-1f),global1
 
1363
        or      global1,%lo(.PIC.DES_SPtrans-1f),global1
 
1364
1:      call    .+8
 
1365
        add     %o7,global1,global1
 
1366
        sub     global1,.PIC.DES_SPtrans-.des_and,out2
1357
1367
 
1358
1368
        ld      [in0], in5                ! left
1359
1369
        add     in2, 120, in4             ! ks2
1394
1404
 
1395
1405
        save    %sp, FRAME, %sp
1396
1406
        
1397
 
        call    .PIC.me.up
1398
 
        mov     .PIC.me.up-(.-4),out0
 
1407
        sethi   %hi(.PIC.DES_SPtrans-1f),global1
 
1408
        or      global1,%lo(.PIC.DES_SPtrans-1f),global1
 
1409
1:      call    .+8
 
1410
        add     %o7,global1,global1
 
1411
        sub     global1,.PIC.DES_SPtrans-.des_and,out2
1399
1412
 
1400
1413
        ld      [in0], in5                ! left
1401
1414
        add     in3, 120, in4             ! ks3
1424
1437
.DES_decrypt3.end:
1425
1438
        .size    DES_decrypt3,.DES_decrypt3.end-DES_decrypt3
1426
1439
 
1427
 
        .align  256
1428
 
        .type    .des_and,#object
1429
 
        .size    .des_and,284
1430
 
 
1431
 
.des_and:
1432
 
 
1433
 
! This table is used for AND 0xFC when it is known that register
1434
 
! bits 8-31 are zero. Makes it possible to do three arithmetic
1435
 
! operations in one cycle.
1436
 
 
1437
 
        .byte  0, 0, 0, 0, 4, 4, 4, 4
1438
 
        .byte  8, 8, 8, 8, 12, 12, 12, 12
1439
 
        .byte  16, 16, 16, 16, 20, 20, 20, 20
1440
 
        .byte  24, 24, 24, 24, 28, 28, 28, 28
1441
 
        .byte  32, 32, 32, 32, 36, 36, 36, 36
1442
 
        .byte  40, 40, 40, 40, 44, 44, 44, 44
1443
 
        .byte  48, 48, 48, 48, 52, 52, 52, 52
1444
 
        .byte  56, 56, 56, 56, 60, 60, 60, 60
1445
 
        .byte  64, 64, 64, 64, 68, 68, 68, 68
1446
 
        .byte  72, 72, 72, 72, 76, 76, 76, 76
1447
 
        .byte  80, 80, 80, 80, 84, 84, 84, 84
1448
 
        .byte  88, 88, 88, 88, 92, 92, 92, 92
1449
 
        .byte  96, 96, 96, 96, 100, 100, 100, 100
1450
 
        .byte  104, 104, 104, 104, 108, 108, 108, 108
1451
 
        .byte  112, 112, 112, 112, 116, 116, 116, 116
1452
 
        .byte  120, 120, 120, 120, 124, 124, 124, 124
1453
 
        .byte  128, 128, 128, 128, 132, 132, 132, 132
1454
 
        .byte  136, 136, 136, 136, 140, 140, 140, 140
1455
 
        .byte  144, 144, 144, 144, 148, 148, 148, 148
1456
 
        .byte  152, 152, 152, 152, 156, 156, 156, 156
1457
 
        .byte  160, 160, 160, 160, 164, 164, 164, 164
1458
 
        .byte  168, 168, 168, 168, 172, 172, 172, 172
1459
 
        .byte  176, 176, 176, 176, 180, 180, 180, 180
1460
 
        .byte  184, 184, 184, 184, 188, 188, 188, 188
1461
 
        .byte  192, 192, 192, 192, 196, 196, 196, 196
1462
 
        .byte  200, 200, 200, 200, 204, 204, 204, 204
1463
 
        .byte  208, 208, 208, 208, 212, 212, 212, 212
1464
 
        .byte  216, 216, 216, 216, 220, 220, 220, 220
1465
 
        .byte  224, 224, 224, 224, 228, 228, 228, 228
1466
 
        .byte  232, 232, 232, 232, 236, 236, 236, 236
1467
 
        .byte  240, 240, 240, 240, 244, 244, 244, 244
1468
 
        .byte  248, 248, 248, 248, 252, 252, 252, 252
1469
 
 
1470
 
        ! 5 numbers for initil/final permutation
1471
 
 
1472
 
        .word   0x0f0f0f0f                ! offset 256
1473
 
        .word   0x0000ffff                ! 260
1474
 
        .word   0x33333333                ! 264
1475
 
        .word   0x00ff00ff                ! 268
1476
 
        .word   0x55555555                ! 272
1477
 
 
1478
 
        .word   0                         ! 276
1479
 
        .word   LOOPS                     ! 280
1480
 
        .word   0x0000FC00                ! 284
1481
 
.PIC.DES_SPtrans:
1482
 
        .word   %r_disp32(DES_SPtrans)
1483
 
 
1484
 
! input:        out0    offset between .PIC.me.up and caller
1485
 
! output:       out0    pointer to .PIC.me.up
1486
 
!               out2    pointer to .des_and
1487
 
!               global1 pointer to DES_SPtrans
1488
 
        .align  32
1489
 
.PIC.me.up:
1490
 
        add     out0,%o7,out0                   ! pointer to .PIC.me.up
1491
 
#if 1
1492
 
        ld      [out0+(.PIC.DES_SPtrans-.PIC.me.up)],global1
1493
 
        add     global1,(.PIC.DES_SPtrans-.PIC.me.up),global1
1494
 
        add     global1,out0,global1
1495
 
#else
1496
 
# ifdef OPENSSL_PIC
1497
 
        ! In case anybody wonders why this code is same for both ABI.
1498
 
        ! To start with it is not. Do note LDPTR below. But of course
1499
 
        ! you must be wondering why the rest of it does not contain
1500
 
        ! things like %hh, %hm and %lm. Well, those are needed only
1501
 
        ! if OpenSSL library *itself* will become larger than 4GB,
1502
 
        ! which is not going to happen any time soon. 
1503
 
        sethi   %hi(DES_SPtrans),global1
1504
 
        or      global1,%lo(DES_SPtrans),global1
1505
 
        sethi   %hi(_GLOBAL_OFFSET_TABLE_-(.PIC.me.up-.)),out2
1506
 
        add     global1,out0,global1
1507
 
        add     out2,%lo(_GLOBAL_OFFSET_TABLE_-(.PIC.me.up-.)),out2
1508
 
        LDPTR   [out2+global1],global1
1509
 
# elif 0
1510
 
        setn    DES_SPtrans,out2,global1        ! synthetic instruction !
1511
 
# elif defined(ABI64)
1512
 
        sethi   %hh(DES_SPtrans),out2
1513
 
        or      out2,%hm(DES_SPtrans),out2
1514
 
        sethi   %lm(DES_SPtrans),global1
1515
 
        or      global1,%lo(DES_SPtrans),global1
1516
 
        sllx    out2,32,out2
1517
 
        or      out2,global1,global1
1518
 
# else
1519
 
        sethi   %hi(DES_SPtrans),global1
1520
 
        or      global1,%lo(DES_SPtrans),global1
1521
 
# endif
1522
 
#endif
1523
 
        retl
1524
 
        add     out0,.des_and-.PIC.me.up,out2
1525
 
 
1526
1440
! void DES_ncbc_encrypt(input, output, length, schedule, ivec, enc)
1527
1441
! *****************************************************************
1528
1442
 
1539
1453
        define({OUTPUT}, { [%sp+BIAS+ARG0+1*ARGSZ] })
1540
1454
        define({IVEC},   { [%sp+BIAS+ARG0+4*ARGSZ] })
1541
1455
 
1542
 
        call    .PIC.me.up
1543
 
        mov     .PIC.me.up-(.-4),out0
 
1456
        sethi   %hi(.PIC.DES_SPtrans-1f),global1
 
1457
        or      global1,%lo(.PIC.DES_SPtrans-1f),global1
 
1458
1:      call    .+8
 
1459
        add     %o7,global1,global1
 
1460
        sub     global1,.PIC.DES_SPtrans-.des_and,out2
1544
1461
 
1545
1462
        cmp     in5, 0                    ! enc   
1546
1463
 
1761
1678
        define({KS2}, { [%sp+BIAS+ARG0+4*ARGSZ] })
1762
1679
        define({KS3}, { [%sp+BIAS+ARG0+5*ARGSZ] })
1763
1680
 
1764
 
        call    .PIC.me.up
1765
 
        mov     .PIC.me.up-(.-4),out0
 
1681
        sethi   %hi(.PIC.DES_SPtrans-1f),global1
 
1682
        or      global1,%lo(.PIC.DES_SPtrans-1f),global1
 
1683
1:      call    .+8
 
1684
        add     %o7,global1,global1
 
1685
        sub     global1,.PIC.DES_SPtrans-.des_and,out2
1766
1686
 
1767
1687
        LDPTR   [%fp+BIAS+ARG0+7*ARGSZ], local3          ! enc
1768
1688
        LDPTR   [%fp+BIAS+ARG0+6*ARGSZ], local4          ! ivec
1978
1898
 
1979
1899
.DES_ede3_cbc_encrypt.end:
1980
1900
        .size    DES_ede3_cbc_encrypt,.DES_ede3_cbc_encrypt.end-DES_ede3_cbc_encrypt
 
1901
 
 
1902
        .align  256
 
1903
        .type    .des_and,#object
 
1904
        .size    .des_and,284
 
1905
 
 
1906
.des_and:
 
1907
 
 
1908
! This table is used for AND 0xFC when it is known that register
 
1909
! bits 8-31 are zero. Makes it possible to do three arithmetic
 
1910
! operations in one cycle.
 
1911
 
 
1912
        .byte  0, 0, 0, 0, 4, 4, 4, 4
 
1913
        .byte  8, 8, 8, 8, 12, 12, 12, 12
 
1914
        .byte  16, 16, 16, 16, 20, 20, 20, 20
 
1915
        .byte  24, 24, 24, 24, 28, 28, 28, 28
 
1916
        .byte  32, 32, 32, 32, 36, 36, 36, 36
 
1917
        .byte  40, 40, 40, 40, 44, 44, 44, 44
 
1918
        .byte  48, 48, 48, 48, 52, 52, 52, 52
 
1919
        .byte  56, 56, 56, 56, 60, 60, 60, 60
 
1920
        .byte  64, 64, 64, 64, 68, 68, 68, 68
 
1921
        .byte  72, 72, 72, 72, 76, 76, 76, 76
 
1922
        .byte  80, 80, 80, 80, 84, 84, 84, 84
 
1923
        .byte  88, 88, 88, 88, 92, 92, 92, 92
 
1924
        .byte  96, 96, 96, 96, 100, 100, 100, 100
 
1925
        .byte  104, 104, 104, 104, 108, 108, 108, 108
 
1926
        .byte  112, 112, 112, 112, 116, 116, 116, 116
 
1927
        .byte  120, 120, 120, 120, 124, 124, 124, 124
 
1928
        .byte  128, 128, 128, 128, 132, 132, 132, 132
 
1929
        .byte  136, 136, 136, 136, 140, 140, 140, 140
 
1930
        .byte  144, 144, 144, 144, 148, 148, 148, 148
 
1931
        .byte  152, 152, 152, 152, 156, 156, 156, 156
 
1932
        .byte  160, 160, 160, 160, 164, 164, 164, 164
 
1933
        .byte  168, 168, 168, 168, 172, 172, 172, 172
 
1934
        .byte  176, 176, 176, 176, 180, 180, 180, 180
 
1935
        .byte  184, 184, 184, 184, 188, 188, 188, 188
 
1936
        .byte  192, 192, 192, 192, 196, 196, 196, 196
 
1937
        .byte  200, 200, 200, 200, 204, 204, 204, 204
 
1938
        .byte  208, 208, 208, 208, 212, 212, 212, 212
 
1939
        .byte  216, 216, 216, 216, 220, 220, 220, 220
 
1940
        .byte  224, 224, 224, 224, 228, 228, 228, 228
 
1941
        .byte  232, 232, 232, 232, 236, 236, 236, 236
 
1942
        .byte  240, 240, 240, 240, 244, 244, 244, 244
 
1943
        .byte  248, 248, 248, 248, 252, 252, 252, 252
 
1944
 
 
1945
        ! 5 numbers for initil/final permutation
 
1946
 
 
1947
        .word   0x0f0f0f0f                ! offset 256
 
1948
        .word   0x0000ffff                ! 260
 
1949
        .word   0x33333333                ! 264
 
1950
        .word   0x00ff00ff                ! 268
 
1951
        .word   0x55555555                ! 272
 
1952
 
 
1953
        .word   0                         ! 276
 
1954
        .word   LOOPS                     ! 280
 
1955
        .word   0x0000FC00                ! 284
 
1956
 
 
1957
        .type   .PIC.DES_SPtrans,#object
 
1958
        .size   .PIC.DES_SPtrans,2048
 
1959
.align  64
 
1960
.PIC.DES_SPtrans:
 
1961
        ! nibble 0
 
1962
        .word   0x02080800, 0x00080000, 0x02000002, 0x02080802
 
1963
        .word   0x02000000, 0x00080802, 0x00080002, 0x02000002
 
1964
        .word   0x00080802, 0x02080800, 0x02080000, 0x00000802
 
1965
        .word   0x02000802, 0x02000000, 0x00000000, 0x00080002
 
1966
        .word   0x00080000, 0x00000002, 0x02000800, 0x00080800
 
1967
        .word   0x02080802, 0x02080000, 0x00000802, 0x02000800
 
1968
        .word   0x00000002, 0x00000800, 0x00080800, 0x02080002
 
1969
        .word   0x00000800, 0x02000802, 0x02080002, 0x00000000
 
1970
        .word   0x00000000, 0x02080802, 0x02000800, 0x00080002
 
1971
        .word   0x02080800, 0x00080000, 0x00000802, 0x02000800
 
1972
        .word   0x02080002, 0x00000800, 0x00080800, 0x02000002
 
1973
        .word   0x00080802, 0x00000002, 0x02000002, 0x02080000
 
1974
        .word   0x02080802, 0x00080800, 0x02080000, 0x02000802
 
1975
        .word   0x02000000, 0x00000802, 0x00080002, 0x00000000
 
1976
        .word   0x00080000, 0x02000000, 0x02000802, 0x02080800
 
1977
        .word   0x00000002, 0x02080002, 0x00000800, 0x00080802
 
1978
        ! nibble 1
 
1979
        .word   0x40108010, 0x00000000, 0x00108000, 0x40100000
 
1980
        .word   0x40000010, 0x00008010, 0x40008000, 0x00108000
 
1981
        .word   0x00008000, 0x40100010, 0x00000010, 0x40008000
 
1982
        .word   0x00100010, 0x40108000, 0x40100000, 0x00000010
 
1983
        .word   0x00100000, 0x40008010, 0x40100010, 0x00008000
 
1984
        .word   0x00108010, 0x40000000, 0x00000000, 0x00100010
 
1985
        .word   0x40008010, 0x00108010, 0x40108000, 0x40000010
 
1986
        .word   0x40000000, 0x00100000, 0x00008010, 0x40108010
 
1987
        .word   0x00100010, 0x40108000, 0x40008000, 0x00108010
 
1988
        .word   0x40108010, 0x00100010, 0x40000010, 0x00000000
 
1989
        .word   0x40000000, 0x00008010, 0x00100000, 0x40100010
 
1990
        .word   0x00008000, 0x40000000, 0x00108010, 0x40008010
 
1991
        .word   0x40108000, 0x00008000, 0x00000000, 0x40000010
 
1992
        .word   0x00000010, 0x40108010, 0x00108000, 0x40100000
 
1993
        .word   0x40100010, 0x00100000, 0x00008010, 0x40008000
 
1994
        .word   0x40008010, 0x00000010, 0x40100000, 0x00108000
 
1995
        ! nibble 2
 
1996
        .word   0x04000001, 0x04040100, 0x00000100, 0x04000101
 
1997
        .word   0x00040001, 0x04000000, 0x04000101, 0x00040100
 
1998
        .word   0x04000100, 0x00040000, 0x04040000, 0x00000001
 
1999
        .word   0x04040101, 0x00000101, 0x00000001, 0x04040001
 
2000
        .word   0x00000000, 0x00040001, 0x04040100, 0x00000100
 
2001
        .word   0x00000101, 0x04040101, 0x00040000, 0x04000001
 
2002
        .word   0x04040001, 0x04000100, 0x00040101, 0x04040000
 
2003
        .word   0x00040100, 0x00000000, 0x04000000, 0x00040101
 
2004
        .word   0x04040100, 0x00000100, 0x00000001, 0x00040000
 
2005
        .word   0x00000101, 0x00040001, 0x04040000, 0x04000101
 
2006
        .word   0x00000000, 0x04040100, 0x00040100, 0x04040001
 
2007
        .word   0x00040001, 0x04000000, 0x04040101, 0x00000001
 
2008
        .word   0x00040101, 0x04000001, 0x04000000, 0x04040101
 
2009
        .word   0x00040000, 0x04000100, 0x04000101, 0x00040100
 
2010
        .word   0x04000100, 0x00000000, 0x04040001, 0x00000101
 
2011
        .word   0x04000001, 0x00040101, 0x00000100, 0x04040000
 
2012
        ! nibble 3
 
2013
        .word   0x00401008, 0x10001000, 0x00000008, 0x10401008
 
2014
        .word   0x00000000, 0x10400000, 0x10001008, 0x00400008
 
2015
        .word   0x10401000, 0x10000008, 0x10000000, 0x00001008
 
2016
        .word   0x10000008, 0x00401008, 0x00400000, 0x10000000
 
2017
        .word   0x10400008, 0x00401000, 0x00001000, 0x00000008
 
2018
        .word   0x00401000, 0x10001008, 0x10400000, 0x00001000
 
2019
        .word   0x00001008, 0x00000000, 0x00400008, 0x10401000
 
2020
        .word   0x10001000, 0x10400008, 0x10401008, 0x00400000
 
2021
        .word   0x10400008, 0x00001008, 0x00400000, 0x10000008
 
2022
        .word   0x00401000, 0x10001000, 0x00000008, 0x10400000
 
2023
        .word   0x10001008, 0x00000000, 0x00001000, 0x00400008
 
2024
        .word   0x00000000, 0x10400008, 0x10401000, 0x00001000
 
2025
        .word   0x10000000, 0x10401008, 0x00401008, 0x00400000
 
2026
        .word   0x10401008, 0x00000008, 0x10001000, 0x00401008
 
2027
        .word   0x00400008, 0x00401000, 0x10400000, 0x10001008
 
2028
        .word   0x00001008, 0x10000000, 0x10000008, 0x10401000
 
2029
        ! nibble 4
 
2030
        .word   0x08000000, 0x00010000, 0x00000400, 0x08010420
 
2031
        .word   0x08010020, 0x08000400, 0x00010420, 0x08010000
 
2032
        .word   0x00010000, 0x00000020, 0x08000020, 0x00010400
 
2033
        .word   0x08000420, 0x08010020, 0x08010400, 0x00000000
 
2034
        .word   0x00010400, 0x08000000, 0x00010020, 0x00000420
 
2035
        .word   0x08000400, 0x00010420, 0x00000000, 0x08000020
 
2036
        .word   0x00000020, 0x08000420, 0x08010420, 0x00010020
 
2037
        .word   0x08010000, 0x00000400, 0x00000420, 0x08010400
 
2038
        .word   0x08010400, 0x08000420, 0x00010020, 0x08010000
 
2039
        .word   0x00010000, 0x00000020, 0x08000020, 0x08000400
 
2040
        .word   0x08000000, 0x00010400, 0x08010420, 0x00000000
 
2041
        .word   0x00010420, 0x08000000, 0x00000400, 0x00010020
 
2042
        .word   0x08000420, 0x00000400, 0x00000000, 0x08010420
 
2043
        .word   0x08010020, 0x08010400, 0x00000420, 0x00010000
 
2044
        .word   0x00010400, 0x08010020, 0x08000400, 0x00000420
 
2045
        .word   0x00000020, 0x00010420, 0x08010000, 0x08000020
 
2046
        ! nibble 5
 
2047
        .word   0x80000040, 0x00200040, 0x00000000, 0x80202000
 
2048
        .word   0x00200040, 0x00002000, 0x80002040, 0x00200000
 
2049
        .word   0x00002040, 0x80202040, 0x00202000, 0x80000000
 
2050
        .word   0x80002000, 0x80000040, 0x80200000, 0x00202040
 
2051
        .word   0x00200000, 0x80002040, 0x80200040, 0x00000000
 
2052
        .word   0x00002000, 0x00000040, 0x80202000, 0x80200040
 
2053
        .word   0x80202040, 0x80200000, 0x80000000, 0x00002040
 
2054
        .word   0x00000040, 0x00202000, 0x00202040, 0x80002000
 
2055
        .word   0x00002040, 0x80000000, 0x80002000, 0x00202040
 
2056
        .word   0x80202000, 0x00200040, 0x00000000, 0x80002000
 
2057
        .word   0x80000000, 0x00002000, 0x80200040, 0x00200000
 
2058
        .word   0x00200040, 0x80202040, 0x00202000, 0x00000040
 
2059
        .word   0x80202040, 0x00202000, 0x00200000, 0x80002040
 
2060
        .word   0x80000040, 0x80200000, 0x00202040, 0x00000000
 
2061
        .word   0x00002000, 0x80000040, 0x80002040, 0x80202000
 
2062
        .word   0x80200000, 0x00002040, 0x00000040, 0x80200040
 
2063
        ! nibble 6
 
2064
        .word   0x00004000, 0x00000200, 0x01000200, 0x01000004
 
2065
        .word   0x01004204, 0x00004004, 0x00004200, 0x00000000
 
2066
        .word   0x01000000, 0x01000204, 0x00000204, 0x01004000
 
2067
        .word   0x00000004, 0x01004200, 0x01004000, 0x00000204
 
2068
        .word   0x01000204, 0x00004000, 0x00004004, 0x01004204
 
2069
        .word   0x00000000, 0x01000200, 0x01000004, 0x00004200
 
2070
        .word   0x01004004, 0x00004204, 0x01004200, 0x00000004
 
2071
        .word   0x00004204, 0x01004004, 0x00000200, 0x01000000
 
2072
        .word   0x00004204, 0x01004000, 0x01004004, 0x00000204
 
2073
        .word   0x00004000, 0x00000200, 0x01000000, 0x01004004
 
2074
        .word   0x01000204, 0x00004204, 0x00004200, 0x00000000
 
2075
        .word   0x00000200, 0x01000004, 0x00000004, 0x01000200
 
2076
        .word   0x00000000, 0x01000204, 0x01000200, 0x00004200
 
2077
        .word   0x00000204, 0x00004000, 0x01004204, 0x01000000
 
2078
        .word   0x01004200, 0x00000004, 0x00004004, 0x01004204
 
2079
        .word   0x01000004, 0x01004200, 0x01004000, 0x00004004
 
2080
        ! nibble 7
 
2081
        .word   0x20800080, 0x20820000, 0x00020080, 0x00000000
 
2082
        .word   0x20020000, 0x00800080, 0x20800000, 0x20820080
 
2083
        .word   0x00000080, 0x20000000, 0x00820000, 0x00020080
 
2084
        .word   0x00820080, 0x20020080, 0x20000080, 0x20800000
 
2085
        .word   0x00020000, 0x00820080, 0x00800080, 0x20020000
 
2086
        .word   0x20820080, 0x20000080, 0x00000000, 0x00820000
 
2087
        .word   0x20000000, 0x00800000, 0x20020080, 0x20800080
 
2088
        .word   0x00800000, 0x00020000, 0x20820000, 0x00000080
 
2089
        .word   0x00800000, 0x00020000, 0x20000080, 0x20820080
 
2090
        .word   0x00020080, 0x20000000, 0x00000000, 0x00820000
 
2091
        .word   0x20800080, 0x20020080, 0x20020000, 0x00800080
 
2092
        .word   0x20820000, 0x00000080, 0x00800080, 0x20020000
 
2093
        .word   0x20820080, 0x00800000, 0x20800000, 0x20000080
 
2094
        .word   0x00820000, 0x00020080, 0x20020080, 0x20800000
 
2095
        .word   0x00000080, 0x20820000, 0x00820080, 0x00000000
 
2096
        .word   0x20000000, 0x20800080, 0x00020000, 0x00820080
 
2097