📄 softint.ls1
字号:
A51 MACRO ASSEMBLER SOFTINT 09/23/2006 07:06:10 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN SOFTINT.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE SOFTINT.src PR(.\SOFTINT.ls1) EP DEBUG
LOC OBJ LINE SOURCE
1 ; .\SOFTINT.SRC generated from: SOFTINT.C
2 ; COMPILER INVOKED BY:
3 ; C:\Keil\C51\BIN\C51.EXE SOFTINT.C OPTIMIZE(9,SPEED) DEBUG OBJECTEXTEND NOPRINT SRC
(.\SOFTINT.SRC)
4
5
6 NAME SOFTINT
7
8 ?C_INITSEG SEGMENT CODE
9 ?BI?SOFTINT SEGMENT BIT
10
---- 11 RSEG ?BI?SOFTINT
0000 12 in_softint: DBIT 1
13
---- 14 RSEG ?C_INITSEG
0000 C100 F 15 DB 0C1H, in_softint + 080H ; bit-init
16
17 ; #pragma REGISTERBANK(0)
18 ;
19 ; static bit in_softint = 1;
20 ;
21 ; #pragma asm
22
23 EXTRN BIT (timerbh_pending)
24 EXTRN BIT (keybh_pending)
25 EXTRN CODE (timer_bh)
26 EXTRN CODE (key_bh)
27
28 ?PR?soft_interrupt?SOFTINT SEGMENT CODE
29 PUBLIC soft_interrupt
30
---- 31 RSEG ?PR?soft_interrupt?SOFTINT
0000 32 soft_interrupt:
33 USING 0
0000 20005F F 34 JB in_softint,out
35
0003 C2AF 36 CLR EA
0005 200003 F 37 JB timerbh_pending,?C0004
0008 300055 F 38 JNB keybh_pending,out_sti
000B 39 ?C0004:
000B D200 F 40 SETB in_softint
41
000D 42 ?do_softint?restart:
000D D2AF 43 SETB EA
44
000F C0E0 45 PUSH ACC
0011 C0F0 46 PUSH B
0013 C083 47 PUSH DPH
0015 C082 48 PUSH DPL
0017 C0D0 49 PUSH PSW
0019 75D000 50 MOV PSW,#00H
001C C000 51 PUSH AR0
001E C001 52 PUSH AR1
0020 C002 53 PUSH AR2
0022 C003 54 PUSH AR3
0024 C004 55 PUSH AR4
0026 C005 56 PUSH AR5
0028 C006 57 PUSH AR6
A51 MACRO ASSEMBLER SOFTINT 09/23/2006 07:06:10 PAGE 2
002A C007 58 PUSH AR7
59 USING 0
60
002C 100002 F 61 JBC timerbh_pending,call_timer_bh
002F 8003 62 SJMP ?C0006
0031 63 call_timer_bh:
0031 120000 F 64 LCALL timer_bh
65
0034 66 ?C0006:
0034 100002 F 67 JBC keybh_pending,call_key_bh
0037 8003 68 SJMP ?C0007
0039 69 call_key_bh:
0039 120000 F 70 LCALL key_bh
71
003C 72 ?C0007:
003C D007 73 POP AR7
003E D006 74 POP AR6
0040 D005 75 POP AR5
0042 D004 76 POP AR4
0044 D003 77 POP AR3
0046 D002 78 POP AR2
0048 D001 79 POP AR1
004A D000 80 POP AR0
004C D0D0 81 POP PSW
004E D082 82 POP DPL
0050 D083 83 POP DPH
0052 D0F0 84 POP B
0054 D0E0 85 POP ACC
86
0056 C2AF 87 CLR EA
0058 2000B2 F 88 JB timerbh_pending,?do_softint?restart
005B 2000AF F 89 JB keybh_pending,?do_softint?restart
90
005E C200 F 91 CLR in_softint
0060 92 out_sti:
0060 D2AF 93 SETB EA
0062 94 out:
0062 22 95 RET
96
97 ; #pragma endasm
98 END
A51 MACRO ASSEMBLER SOFTINT 09/23/2006 07:06:10 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?BI?SOFTINT. . . . . . . . B SEG 0001H REL=UNIT
?C0004 . . . . . . . . . . C ADDR 000BH R SEG=?PR?SOFT_INTERRUPT?SOFTINT
?C0006 . . . . . . . . . . C ADDR 0034H R SEG=?PR?SOFT_INTERRUPT?SOFTINT
?C0007 . . . . . . . . . . C ADDR 003CH R SEG=?PR?SOFT_INTERRUPT?SOFTINT
?C_INITSEG . . . . . . . . C SEG 0002H REL=UNIT
?DO_SOFTINT?RESTART. . . . C ADDR 000DH R SEG=?PR?SOFT_INTERRUPT?SOFTINT
?PR?SOFT_INTERRUPT?SOFTINT C SEG 0063H REL=UNIT
ACC. . . . . . . . . . . . D ADDR 00E0H A
AR0. . . . . . . . . . . . D ADDR 0000H A
AR1. . . . . . . . . . . . D ADDR 0001H A
AR2. . . . . . . . . . . . D ADDR 0002H A
AR3. . . . . . . . . . . . D ADDR 0003H A
AR4. . . . . . . . . . . . D ADDR 0004H A
AR5. . . . . . . . . . . . D ADDR 0005H A
AR6. . . . . . . . . . . . D ADDR 0006H A
AR7. . . . . . . . . . . . D ADDR 0007H A
B. . . . . . . . . . . . . D ADDR 00F0H A
CALL_KEY_BH. . . . . . . . C ADDR 0039H R SEG=?PR?SOFT_INTERRUPT?SOFTINT
CALL_TIMER_BH. . . . . . . C ADDR 0031H R SEG=?PR?SOFT_INTERRUPT?SOFTINT
DPH. . . . . . . . . . . . D ADDR 0083H A
DPL. . . . . . . . . . . . D ADDR 0082H A
EA . . . . . . . . . . . . B ADDR 00A8H.7 A
IN_SOFTINT . . . . . . . . B ADDR 0000H.0 R SEG=?BI?SOFTINT
KEYBH_PENDING. . . . . . . B ADDR ----- EXT
KEY_BH . . . . . . . . . . C ADDR ----- EXT
OUT. . . . . . . . . . . . C ADDR 0062H R SEG=?PR?SOFT_INTERRUPT?SOFTINT
OUT_STI. . . . . . . . . . C ADDR 0060H R SEG=?PR?SOFT_INTERRUPT?SOFTINT
PSW. . . . . . . . . . . . D ADDR 00D0H A
SOFTINT. . . . . . . . . . N NUMB -----
SOFT_INTERRUPT . . . . . . C ADDR 0000H R SEG=?PR?SOFT_INTERRUPT?SOFTINT
TIMERBH_PENDING. . . . . . B ADDR ----- EXT
TIMER_BH . . . . . . . . . C ADDR ----- EXT
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -