Я так попробовал, но что-то не пойму...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено treumer 24 июля 2003 г. 18:14
В ответ на: Если данные в регистры не влазят, то они через сегмент данных передаются... отправлено Sot 24 июля 2003 г. 14:49

.. что она мне нагенерила..

Я так понял, на каждую ссылку "unsigned char *" она отводит 3 байта!
Я не понимаю почему так много ?! В каком байте что находится ?!?


Вот что получилось:

***********************************************************
?PR?_DES_CryptBlock?TST SEGMENT CODE INBLOCK
?PD?_DES_CryptBlock?TST SEGMENT XDATA INPAGE OVERLAYABLE
PUBLIC ?_DES_CryptBlock?BYTE
PUBLIC _DES_CryptBlock

RSEG ?PD?_DES_CryptBlock?TST
?_DES_CryptBlock?BYTE:
key?040: DS 3
dat_buf?041: DS 3
flags?042: DS 1
; #pragma SRC
;
; void DES_CryptBlock(unsigned char *key, unsigned char *dat_buf, unsigned char flags)

; void DES_CryptBlock(unsigned char *key, unsigned char *dat_buf, unsigned char flags)

RSEG ?PR?_DES_CryptBlock?TST
_DES_CryptBlock:
USING 0
; SOURCE LINE # 3
MOV R0,#LOW (key?040)
MOV A,R3
MOVX @R0,A
INC R0
MOV A,R2
MOVX @R0,A
INC R0
MOV A,R1
MOVX @R0,A
; {
; SOURCE LINE # 4
; key=dat_buf;
; SOURCE LINE # 5
INC R0
MOVX A,@R0
MOV R1,A
INC R0
MOVX A,@R0
MOV R2,A
INC R0
MOVX A,@R0
MOV R0,#LOW (key?040)
XCH A,R1
MOVX @R0,A
INC R0
MOV A,R2
MOVX @R0,A
INC R0
MOV A,R1
MOVX @R0,A
; flags++;
; SOURCE LINE # 6
MOV R0,#LOW (flags?042)
MOVX A,@R0
INC A
MOVX @R0,A
; return;
; }
; SOURCE LINE # 8
?C0001:
RET
; END OF _DES_CryptBlock

END

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru