Ответ:
*******************************************************************************
* *
* MAXQ C CROSS COMPILER Version 1.00.050425 *
* Copyright (C) 2004 MicroCOSM Software Technologies *
* *
*******************************************************************************
add:
;FILE: main.c
;000011 return (a + b);
0000 0B003D00 E LCALL ??FPADD
0002 8C0D RET
.ENDF
mul:
;000015 return (a * b);
0003 0B003D00 E LCALL ??FPMUL
0005 8C0D RET
.ENDF
div:
;000019 return (a / b);
0006 0B003D00 E LCALL ??FPDIV
0008 8C0D RET
.ENDF
main:
0009 4E1C MOVE DPC,#1Ch
000A AF7E MOVE @--DP[0],BP
000B 6D0E MOVE LC[0],#000Eh
000C 2F00 MOVE @--DP[0],#0000h
000D 4DFE R SDJNZ LC[0],$-1
000E FE3F MOVE BP,DP[0]
000F AF0D POP @--DP[0]
;000024 result[0] = 54.567;
0010 3E06 MOVE OFFS,#result__?4__ .SHRL 1
0011 0B440E9C MOVE @BP[OFFS],#449Ch
0013 0B421E5A MOVE @BP[++OFFS],#425Ah
;000025 result[1] = 14346.67;
0015 3E08 MOVE OFFS,#(result__?4__+4h) .SHRL 1
0016 0B2A0EAE MOVE @BP[OFFS],#2AAEh
0018 0B461E60 MOVE @BP[++OFFS],#4660h
;000026 result[2] = add(result[0], result[1]);
001A 3E06 MOVE OFFS,#result__?4__ .SHRL 1
001B 891E MOVE A[0],@BP[OFFS++]
001C 992E MOVE A[1],@BP[OFFS--]
001D 3E08 MOVE OFFS,#(result__?4__+4h) .SHRL 1
001E A91E MOVE A[2],@BP[OFFS++]
001F B92E MOVE A[3],@BP[OFFS--]
0020 3DDF R SCALL add
0021 4E1C MOVE DPC,#1Ch
0022 3E0A MOVE OFFS,#(result__?4__+8h) .SHRL 1
0023 8E09 MOVE @BP[OFFS],A[0]
0024 9E19 MOVE @BP[++OFFS],A[1]
;000027 result[1] = mul(result[0], result[2]);
0025 3E06 MOVE OFFS,#result__?4__ .SHRL 1
0026 891E MOVE A[0],@BP[OFFS++]
0027 992E MOVE A[1],@BP[OFFS--]
0028 3E0A MOVE OFFS,#(result__?4__+8h) .SHRL 1
0029 A91E MOVE A[2],@BP[OFFS++]
002A B92E MOVE A[3],@BP[OFFS--]
002B 3DD7 R SCALL mul
002C 4E1C MOVE DPC,#1Ch
002D 3E08 MOVE OFFS,#(result__?4__+4h) .SHRL 1
002E 8E09 MOVE @BP[OFFS],A[0]
002F 9E19 MOVE @BP[++OFFS],A[1]
;000028 result[3] = div(result[1], result[2]);
0030 3E0A MOVE OFFS,#(result__?4__+8h) .SHRL 1
0031 A91E MOVE A[2],@BP[OFFS++]
0032 B92E MOVE A[3],@BP[OFFS--]
0033 3DD2 R SCALL div
0034 4E1C MOVE DPC,#1Ch
0035 3E0C MOVE OFFS,#(result__?4__+0Ch) .SHRL 1
0036 8E09 MOVE @BP[OFFS],A[0]
0037 9E19 MOVE @BP[++OFFS],A[1]
;000029 return;
0038 4E1C MOVE DPC,#1Ch
0039 8D1F PUSH @DP[0]++
003A 3E0E MOVE OFFS,#1Ch .SHRL 1
003B BFBE MOVE DP[0],FP
003C FE1F MOVE BP,@DP[0]++
003D 8C0D RET
.ENDF
main.c: 124 byte(s), 32 line(s), 0 error(s), 0 warning(s)
-
- Наверно размер кода самих операций тоже надо учитывать, а не только запись параметров и вызовы? she(114 знак., 23.01.2006 11:56,
)
- Наверно размер кода самих операций тоже надо учитывать, а не только запись параметров и вызовы? she(114 знак., 23.01.2006 11:56,