⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 des.lss

📁 ATMEL Xmega系列crypto program。
💻 LSS
📖 第 1 页 / 共 2 页
字号:

DES.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         0000040c  00000000  00000000  00000074  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000018  00802000  0000040c  00000480  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000010  00802018  00000424  00000498  2**0
                  ALLOC
  3 .debug_aranges 00000020  00000000  00000000  00000498  2**0
                  CONTENTS, READONLY, DEBUGGING
  4 .debug_pubnames 0000005b  00000000  00000000  000004b8  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_info   0000011b  00000000  00000000  00000513  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_abbrev 0000009f  00000000  00000000  0000062e  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_line   000000c5  00000000  00000000  000006cd  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_frame  00000020  00000000  00000000  00000794  2**2
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_str    000000de  00000000  00000000  000007b4  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 fa 00 	jmp	0x1f4	; 0x1f4 <__ctors_end>
   4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
   8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
   c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  10:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  14:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  18:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  1c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  20:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  24:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  28:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  2c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  30:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  34:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  38:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  3c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  40:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  44:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  48:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  4c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  50:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  54:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  58:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  5c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  60:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  64:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  68:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  6c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  70:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  74:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  78:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  7c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  80:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  84:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  88:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  8c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  90:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  94:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  98:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  9c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  a0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  a4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  a8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  ac:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  b0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  b4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  b8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  bc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  c0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  c4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  c8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  cc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  d0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  d4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  d8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  dc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  e0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  e4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  e8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  ec:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  f0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  f4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  f8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
  fc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 100:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 104:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 108:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 10c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 110:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 114:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 118:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 11c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 120:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 124:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 128:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 12c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 130:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 134:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 138:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 13c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 140:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 144:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 148:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 14c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 150:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 154:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 158:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 15c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 160:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 164:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 168:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 16c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 170:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 174:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 178:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 17c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 180:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 184:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 188:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 18c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 190:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 194:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 198:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 19c:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1a0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1a4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1a8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1ac:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1b0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1b4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1b8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1bc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1c0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1c4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1c8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1cc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1d0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1d4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1d8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1dc:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1e0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1e4:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1e8:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1ec:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>
 1f0:	0c 94 1b 01 	jmp	0x236	; 0x236 <__bad_interrupt>

000001f4 <__ctors_end>:
 1f4:	11 24       	eor	r1, r1
 1f6:	1f be       	out	0x3f, r1	; 63
 1f8:	cf ef       	ldi	r28, 0xFF	; 255
 1fa:	df e3       	ldi	r29, 0x3F	; 63
 1fc:	de bf       	out	0x3e, r29	; 62
 1fe:	cd bf       	out	0x3d, r28	; 61
 200:	00 e0       	ldi	r16, 0x00	; 0
 202:	0c bf       	out	0x3c, r16	; 60

00000204 <__do_copy_data>:
 204:	10 e2       	ldi	r17, 0x20	; 32
 206:	a0 e0       	ldi	r26, 0x00	; 0
 208:	b0 e2       	ldi	r27, 0x20	; 32
 20a:	ec e0       	ldi	r30, 0x0C	; 12
 20c:	f4 e0       	ldi	r31, 0x04	; 4
 20e:	00 e0       	ldi	r16, 0x00	; 0
 210:	0b bf       	out	0x3b, r16	; 59
 212:	02 c0       	rjmp	.+4      	; 0x218 <__do_copy_data+0x14>
 214:	07 90       	elpm	r0, Z+
 216:	0d 92       	st	X+, r0
 218:	a8 31       	cpi	r26, 0x18	; 24
 21a:	b1 07       	cpc	r27, r17
 21c:	d9 f7       	brne	.-10     	; 0x214 <__do_copy_data+0x10>

0000021e <__do_clear_bss>:
 21e:	10 e2       	ldi	r17, 0x20	; 32
 220:	a8 e1       	ldi	r26, 0x18	; 24
 222:	b0 e2       	ldi	r27, 0x20	; 32
 224:	01 c0       	rjmp	.+2      	; 0x228 <.do_clear_bss_start>

00000226 <.do_clear_bss_loop>:
 226:	1d 92       	st	X+, r1

00000228 <.do_clear_bss_start>:
 228:	a8 32       	cpi	r26, 0x28	; 40
 22a:	b1 07       	cpc	r27, r17
 22c:	e1 f7       	brne	.-8      	; 0x226 <.do_clear_bss_loop>
 22e:	0e 94 1d 01 	call	0x23a	; 0x23a <main>
 232:	0c 94 04 02 	jmp	0x408	; 0x408 <_exit>

00000236 <__bad_interrupt>:
 236:	0c 94 00 00 	jmp	0	; 0x0 <__vectors>

0000023a <main>:
/* DES key to be used */  
uint8_t     deskey[DES_BLOCK_LENGTH] = {0x94,0x74,0xB8,0xE8,0xC7,0x3B,0xCA,0x7D};
uint8_t decryptkey[DES_BLOCK_LENGTH] = {0x94,0x74,0xB8,0xE8,0xC7,0x3B,0xCA,0x7D};

int main( void )
{
 23a:	48 e0       	ldi	r20, 0x08	; 8
 23c:	50 e2       	ldi	r21, 0x20	; 32
 23e:	68 e1       	ldi	r22, 0x18	; 24
 240:	70 e2       	ldi	r23, 0x20	; 32
 242:	80 e0       	ldi	r24, 0x00	; 0
 244:	90 e2       	ldi	r25, 0x20	; 32
 246:	0e 94 42 01 	call	0x284	; 0x284 <DES_Encrypt>
	bool success = true;

	/* Example of how to use Single DES encryption and decryption functions. */
	DES_Encrypt(indata, cipherdata, deskey);
	DES_Decrypt(cipherdata, outdata, decryptkey);
 24a:	40 e1       	ldi	r20, 0x10	; 16
 24c:	50 e2       	ldi	r21, 0x20	; 32
 24e:	60 e2       	ldi	r22, 0x20	; 32
 250:	70 e2       	ldi	r23, 0x20	; 32
 252:	88 e1       	ldi	r24, 0x18	; 24
 254:	90 e2       	ldi	r25, 0x20	; 32
 256:	0e 94 48 01 	call	0x290	; 0x290 <DES_Decrypt>
 25a:	20 e0       	ldi	r18, 0x00	; 0
 25c:	30 e0       	ldi	r19, 0x00	; 0

	/* Check if decrypted answer is equal to plaintext. */
	for (uint8_t i = 0; i < DES_BLOCK_LENGTH ; i++ ){
		if (indata[i] != outdata[i]){
 25e:	f9 01       	movw	r30, r18
 260:	e0 50       	subi	r30, 0x00	; 0
 262:	f0 4e       	sbci	r31, 0xE0	; 224
 264:	d9 01       	movw	r26, r18
 266:	a0 5e       	subi	r26, 0xE0	; 224
 268:	bf 4d       	sbci	r27, 0xDF	; 223
 26a:	90 81       	ld	r25, Z
 26c:	8c 91       	ld	r24, X
 26e:	98 17       	cp	r25, r24
 270:	39 f4       	brne	.+14     	; 0x280 <main+0x46>
 272:	2f 5f       	subi	r18, 0xFF	; 255
 274:	3f 4f       	sbci	r19, 0xFF	; 255
	/* Example of how to use Single DES encryption and decryption functions. */
	DES_Encrypt(indata, cipherdata, deskey);
	DES_Decrypt(cipherdata, outdata, decryptkey);

	/* Check if decrypted answer is equal to plaintext. */
	for (uint8_t i = 0; i < DES_BLOCK_LENGTH ; i++ ){
 276:	28 30       	cpi	r18, 0x08	; 8
 278:	31 05       	cpc	r19, r1
 27a:	89 f7       	brne	.-30     	; 0x25e <main+0x24>
	}

	if (success){
	  	while (true){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -