📄 callt.asm
字号:
; 78K/0 Series C Compiler V3.70 Assembler Source
; Date:11 Apr 2006 Time:09:50:28
; Command : -fcallt.pcc
; In-file : callt.c
; Asm-file : callt.asm
; Para-file : -cF054780
; -yD:\tool\78k0-QB\DEV\
; callt.c
$PROCESSOR(F054780)
$DEBUG
$NODEBUGA
$KANJICODE SJIS
$TOL_INF 03FH, 0370H, 02H, 020H, 00H
$DGS FIL_NAM, .file, 02EH, 0FFFEH, 03FH, 067H, 01H, 00H
$DGS AUX_FIL, callt.c
$DGS MOD_NAM, callt, 00H, 0FFFEH, 00H, 077H, 00H, 00H
$DGS SEC_NAM, @@BITS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CNST, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@R_INIT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@INIT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@DATA, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, DAT1, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, DAT2, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@R_INIS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@INIS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@DATS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CALT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CODE, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CALF, U, U, 00H, 078H, 00H, 00H
$DGS GLV_SYM, _main, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 019H, 00H
$DGS BEG_FUN, ??bf_main, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0CH, 06H, 019H
$DGS AUT_VAR, _ret_val, 04H, 0FFFFH, 04H, 01H, 00H, 00H
$DGS AUT_VAR, _ret_num, 02H, 0FFFFH, 04H, 01H, 00H, 00H
$DGS AUT_VAR, _ret_data, 00H, 0FFFFH, 04H, 01H, 00H, 00H
$DGS END_FUN, ??ef_main, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 09H
$DGS GLV_SYM, _tsub, U, U, 09004H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 020H, 01H
$DGS BEG_FUN, ??bf_tsub, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 017H, 02H, 020H
$DGS REG_VAR, _val, 0103H, 0FFFFH, 0104H, 04H, 00H, 00H
$DGS END_FUN, ??ef_tsub, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 05H
$DGS GLV_SYM, _tadd, U, U, 09004H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 027H, 01H
$DGS BEG_FUN, ??bf_tadd, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 01DH, 02H, 027H
$DGS REG_VAR, _num, 0103H, 0FFFFH, 0104H, 04H, 00H, 00H
$DGS END_FUN, ??ef_tadd, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 04H
$DGS GLV_SYM, _tmul, U, U, 08004H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 02EH, 00H
$DGS BEG_FUN, ??bf_tmul, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 022H, 02H, 02EH
$DGS REG_VAR, _data, 0103H, 0FFFFH, 0104H, 04H, 00H, 00H
$DGS END_FUN, ??ef_tmul, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 04H
$DGS GLV_SYM, _a, U, U, 04H, 020H, 00H, 00H
$DGS GLV_SYM, _b, U, U, 04H, 020H, 00H, 00H
$DGS GLV_SYM, _c, U, U, 0304H, 020H, 00H, 00H
$DGS GLV_SYM, _d, U, U, 04H, 020H, 00H, 00H
$DGS GLV_SYM, ?tadd, U, U, 00H, 020H, 00H, 00H
$DGS GLV_SYM, ?tsub, U, U, 00H, 020H, 00H, 00H
PUBLIC _a
PUBLIC _b
PUBLIC _c
PUBLIC _d
PUBLIC ?tsub
PUBLIC ?tadd
PUBLIC _tmul
PUBLIC _main
PUBLIC _tsub
PUBLIC _tadd
@@BITS BSEG
@@CNST CSEG UNITP
@@R_INIT CSEG UNITP
@@INIT DSEG UNITP
@@DATA DSEG UNITP
_a: DS (2)
DAT1 DSEG AT 0FB00H
_b: DS (2)
DAT2 DSEG AT 0FB20H
_d: DS (2)
@@R_INIS CSEG UNITP
@@INIS DSEG SADDRP
@@DATS DSEG SADDRP
_c: DS (2)
@@CALT CSEG CALLT0
?tsub: DW _tsub
?tadd: DW _tadd
; line 1 : int a;
; line 2 : #pragma section @@DATA DAT1 AT 0FB00H
; line 3 : int b;
; line 4 : sreg int c;
; line 5 : #pragma section @@DATA DAT2 AT 0FB20H
; line 6 : int d;
; line 7 :
; line 8 : __callt int tsub(void);
; line 9 : __callt int tadd(void);
; line 10 : int tmul(void);
; line 11 : void main()
; line 12 : {
@@CODE CSEG
_main:
$DGL 1,16
push hl ;[INF] 1, 4
push ax ;[INF] 1, 4
push ax ;[INF] 1, 4
push ax ;[INF] 1, 4
movw ax,sp ;[INF] 2, 8
movw hl,ax ;[INF] 1, 4
??bf_main:
; line 13 : int ret_val;
; line 14 : int ret_num;
; line 15 : int ret_data;
; line 16 :
; line 17 : ret_num = tadd();
$DGL 0,6
callt [?tadd] ;[INF] 1, 6
movw ax,bc ;[INF] 1, 4
mov [hl+3],a ; ret_num ;[INF] 2, 8
xch a,x ;[INF] 1, 2
mov [hl+2],a ; ret_num ;[INF] 2, 8
; line 18 : ret_val = tsub();
$DGL 0,7
callt [?tsub] ;[INF] 1, 6
movw ax,bc ;[INF] 1, 4
mov [hl+5],a ; ret_val ;[INF] 2, 8
xch a,x ;[INF] 1, 2
mov [hl+4],a ; ret_val ;[INF] 2, 8
; line 19 : ret_data = tmul();
$DGL 0,8
call !_tmul ;[INF] 3, 7
movw ax,bc ;[INF] 1, 4
mov [hl+1],a ; ret_data ;[INF] 2, 8
xch a,x ;[INF] 1, 2
mov [hl],a ; ret_data ;[INF] 1, 4
; line 20 : }
$DGL 0,9
??ef_main:
pop ax ;[INF] 1, 4
pop ax ;[INF] 1, 4
pop ax ;[INF] 1, 4
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_main:
; line 21 :
; line 22 : __callt int tsub(void)
; line 23 : {
_tsub:
$DGL 1,25
push hl ;[INF] 1, 4
??bf_tsub:
; line 24 : int val;
; line 25 :
; line 26 : return val;
$DGL 0,4
movw ax,hl ;[INF] 1, 4
movw bc,ax ;[INF] 1, 4
; line 27 : }
$DGL 0,5
??ef_tsub:
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_tsub:
; line 28 : __callt int tadd(void)
; line 29 : {
_tadd:
$DGL 1,32
push hl ;[INF] 1, 4
??bf_tadd:
; line 30 : int num;
; line 31 : return num;
$DGL 0,3
movw ax,hl ;[INF] 1, 4
movw bc,ax ;[INF] 1, 4
; line 32 : }
$DGL 0,4
??ef_tadd:
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_tadd:
; line 33 : int tmul(void)
; line 34 : {
_tmul:
$DGL 1,39
push hl ;[INF] 1, 4
??bf_tmul:
; line 35 : int data;
; line 36 : return data;
$DGL 0,3
movw ax,hl ;[INF] 1, 4
movw bc,ax ;[INF] 1, 4
; line 37 : }
$DGL 0,4
??ef_tmul:
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_tmul:
@@CALF CSEG FIXED
END
; *** Code Information ***
;
; $FILE D:\demo\exfunc\callt\callt.c
;
; $FUNC main(12)
; void=(void)
; CODE SIZE= 34 bytes, CLOCK_SIZE= 131 clocks, STACK_SIZE= 10 bytes
;
; $CALL tadd(17)
; bc=(void)
;
; $CALL tsub(18)
; bc=(void)
;
; $CALL tmul(19)
; bc=(void)
;
; $FUNC tsub(23)
; bc=(void)
; CODE SIZE= 5 bytes, CLOCK_SIZE= 22 clocks, STACK_SIZE= 2 bytes
;
; $FUNC tadd(29)
; bc=(void)
; CODE SIZE= 5 bytes, CLOCK_SIZE= 22 clocks, STACK_SIZE= 2 bytes
;
; $FUNC tmul(34)
; bc=(void)
; CODE SIZE= 5 bytes, CLOCK_SIZE= 22 clocks, STACK_SIZE= 2 bytes
; Target chip : uPD78F0547_80
; Device file : V2.10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -