pxd1981
驱动牛犊
驱动牛犊
  • 注册日期2002-10-14
  • 最后登录2003-05-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1220回复:3

跳转问题

楼主#
更多 发布于:2002-11-09 23:26
我该怎么办?



MCS-51 MACRO ASSEMBLER    AA                                                                        11/09/:2   PAGE    1


DOS 7.10 (038-N) MCS-51 MACRO ASSEMBLER, V2.2
OBJECT MODULE PLACED IN AA.OBJ
ASSEMBLER INVOKED BY:  C:\\MYDOCU~1\\ASM51.EXE AA.ASM
                      

LOC  OBJ            LINE     SOURCE

0000 759000            1     main:   mov p1,#00h
0003 758160            2             mov sp,#60h
0006 7800              3     key:    mov r0,#00h
0008 E2                4             movx a,@r0
0009 702A              5             jnz record
000B 08                6             inc r0
000C E2                7             movx a,@r0
000D 7070              8             jnz display
000F 08                9             inc r0
0010 E2               10             movx a,@r0
0011 7000             11             jnz setmove
*** ERROR #25, LINE #11 (0), (PASS 2) DESTINATION ADDRESS OUT OF RANGE FOR RELATIVE REFERENCE
0013 08               12             inc r0
0014 E2               13             movx a,@r0
0015 7000             14             jnz control
*** ERROR #25, LINE #14 (11), (PASS 2) DESTINATION ADDRESS OUT OF RANGE FOR RELATIVE REFERENCE
0017 209005           15     atmove: jb p1.0,atdown
001A 20910D           16             jb p1.1,atup
001D 80E7             17             sjmp key
001F E5A0             18     atdown: mov a,p2
0021 B53802           19             cjne a,38h,atdown1
0024 214E             20             ajmp setstop
0026 5000             21     atdown1:jnc setstop
*** ERROR #25, LINE #21 (14), (PASS 2) DESTINATION ADDRESS OUT OF RANGE FOR RELATIVE REFERENCE
0028 0106             22             ajmp key
002A E5A0             23     atup:   mov a,p2
002C B53802           24             cjne a,38h,atup1
002F 214E             25             ajmp setstop
0031 4000             26     atup1:  jc setstop
*** ERROR #25, LINE #26 (21), (PASS 2) DESTINATION ADDRESS OUT OF RANGE FOR RELATIVE REFERENCE
0033 0106             27             ajmp key
0035 F520             28     record: mov 20h,a
0037 200015           29             jb 00h,record0
003A 200118           30             jb 01h,record1
003D 20021B           31             jb 02h,record2
0040 20031E           32             jb 03h,record3
0043 200421           33             jb 04h,record4
0046 200524           34             jb 05h,record5
0049 200627           35             jb 06h,record6
004C 20072A           36             jb 07h,record7
004F 85A030           37     record0:mov 30h,p2
0052 020006           38             ljmp key
0055 85A031           39     record1:mov 31h,p2
0058 020006           40             ljmp key
005B 85A032           41     record2:mov 32h,p2
005E 020006           42             ljmp key
0061 85A033           43     record3:mov 33h,p2
0064 020006           44             ljmp key
0067 85A034           45     record4:mov 34h,p2
006A 020006           46             ljmp key
MCS-51 MACRO ASSEMBLER    AA                                                                        11/09/:2   PAGE    2


LOC  OBJ            LINE     SOURCE

006D 85A035           47     record5:mov 35h,p2
0070 020006           48             ljmp key
0073 85A036           49     record6:mov 36h,p2
0076 020006           50             ljmp key
0079 85A037           51     record7:mov 37h,p2
007C 020006           52             ljmp key
007F F520             53     display:mov 20h,a
0081 200015           54             jb 00h,display0
0084 200118           55             jb 01h,display1
0087 20021B           56             jb 02h,display2
008A 20031E           57             jb 03h,display3
008D 200421           58             jb 04h,display4
0090 200524           59             jb 05h,display5
0093 200627           60             jb 06h,display6
0096 20072A           61             jb 07h,display7
0099 8530B0           62     display0:mov p3,30h
009C 020006           63             ljmp key
009F 8531B0           64     display1:mov p3,31h
00A2 020006           65             ljmp key
00A5 8532B0           66     display2:mov p3,32h
00A8 020006           67             ljmp key
00AB 8533B0           68     display3:mov p3,33h
00AE 020006           69             ljmp key
00B1 8534B0           70     display4:mov p3,34h
00B4 020006           71             ljmp key
00B7 8535B0           72     display5:mov p3,35h
00BA 020006           73             ljmp key
00BD 8536B0           74     display6:mov p3,36h
00C0 020006           75             ljmp key
00C3 8537B0           76     display7:mov p3,37h
00C6 020006           77             ljmp key
00C9 F520             78     setmove:mov 20h,a
00CB 200015           79             jb 00h,setmove0
00CE 20011D           80             jb 01h,setmove1
00D1 200225           81             jb 02h,setmove2
00D4 20032D           82             jb 03h,setmove3
00D7 200435           83             jb 04h,setmove4
00DA 20053D           84             jb 05h,setmove5
00DD 200645           85             jb 06h,setmove6
00E0 20074D           86             jb 07h,setmove7
00E3 853038           87     setmove0:mov 38h,30h
00E6 E5A0             88             mov a,p2
00E8 B53850           89             cjne a,38h,setmoveto
00EB 02014E           90             ljmp setstop
00EE 853138           91     setmove1:mov 38h,31h
00F1 E5A0             92             mov a,p2
00F3 B53845           93             cjne a,38h,setmoveto
00F6 02014E           94             ljmp setstop
00F9 853238           95     setmove2:mov 38h,32h
00FC E5A0             96             mov a,p2
00FE B5383A           97             cjne a,38h,setmoveto
0101 02014E           98             ljmp setstop
0104 853338           99     setmove3:mov 38h,33h
0107 E5A0            100             mov a,p2
0109 B5382F          101             cjne a,38h,setmoveto
MCS-51 MACRO ASSEMBLER    AA                                                                        11/09/:2   PAGE    3


LOC  OBJ            LINE     SOURCE

010C 02014E          102             ljmp setstop
010F 853438          103     setmove4:mov 38h,34h
0112 E5A0            104             mov a,p2
0114 B53824          105             cjne a,38h,setmoveto
0117 02014E          106             ljmp setstop
011A 853538          107     setmove5:mov 38h,35h
011D E5A0            108             mov a,p2
011F B53819          109             cjne a,38h,setmoveto
0122 02014E          110             ljmp setstop
0125 853638          111     setmove6:mov 38h,36h
0128 E5A0            112             mov a,p2
012A B5380E          113             cjne a,38h,setmoveto
012D 02014E          114             ljmp setstop
0130 853738          115     setmove7:mov 38h,37h
0133 E5A0            116             mov a,p2
0135 B53803          117             cjne a,38h,setmoveto
0138 02014E          118             ljmp setstop
013B 4000            119     setmoveto:jc setdown
*** ERROR #18, LINE #119 (26), (PASS 2) UNDEFINED SYMBOL
013D 020140          120             ljmp setmoveup
0140 C290            121     setmoveup:clr p1.0
0142 D291            122             setb p1.1
0144 020006          123             ljmp key
0147 C291            124     setmovedown:clr p1.1
0149 D290            125             setb p1.0
014B 020006          126             ljmp key
014E 759000          127     setstop:mov p1,#00h
0151 020006          128             ljmp key
0154 F520            129     control:mov 20h,a
0156 200006          130             jb 00h,controlup
0159 200109          131             jb 01h,controldown
015C 2002EF          132             jb 02h,setstop
015F 753800          133     controlup:mov 38h,#00h
0162 020140          134             ljmp setmoveup
0165 753800          135     controldown:mov 38h,#ffh
*** ERROR #18, LINE #135 (119), (PASS 2) UNDEFINED SYMBOL
0168 80DD            136             sjmp setmovedown
                     137     end
MCS-51 MACRO ASSEMBLER    AA                                                                        11/09/:2   PAGE    4


SYMBOL TABLE LISTING
------ ----- -------


N A M E      T Y P E   V A L U E       A T T R I B U T E S

ATDOWN. . .  C ADDR    001FH   A      
ATDOWN1 . .  C ADDR    0026H   A      
ATMOVE. . .  C ADDR    0017H   A      
ATUP. . . .  C ADDR    002AH   A      
ATUP1 . . .  C ADDR    0031H   A      
CONTROL . .  C ADDR    0154H   A      
CONTROLDOWN  C ADDR    0165H   A      
CONTROLUP .  C ADDR    015FH   A      
DISPLAY . .  C ADDR    007FH   A      
DISPLAY0. .  C ADDR    0099H   A      
DISPLAY1. .  C ADDR    009FH   A      
DISPLAY2. .  C ADDR    00A5H   A      
DISPLAY3. .  C ADDR    00ABH   A      
DISPLAY4. .  C ADDR    00B1H   A      
DISPLAY5. .  C ADDR    00B7H   A      
DISPLAY6. .  C ADDR    00BDH   A      
DISPLAY7. .  C ADDR    00C3H   A      
FFH . . . .    ----    ----            
KEY . . . .  C ADDR    0006H   A      
MAIN. . . .  C ADDR    0000H   A      
P1. . . . .  D ADDR    0090H   A      
P2. . . . .  D ADDR    00A0H   A      
P3. . . . .  D ADDR    00B0H   A      
RECORD. . .  C ADDR    0035H   A      
RECORD0 . .  C ADDR    004FH   A      
RECORD1 . .  C ADDR    0055H   A      
RECORD2 . .  C ADDR    005BH   A      
RECORD3 . .  C ADDR    0061H   A      
RECORD4 . .  C ADDR    0067H   A      
RECORD5 . .  C ADDR    006DH   A      
RECORD6 . .  C ADDR    0073H   A      
RECORD7 . .  C ADDR    0079H   A      
SETDOWN . .    ----    ----            
SETMOVE . .  C ADDR    00C9H   A      
SETMOVE0. .  C ADDR    00E3H   A      
SETMOVE1. .  C ADDR    00EEH   A      
SETMOVE2. .  C ADDR    00F9H   A      
SETMOVE3. .  C ADDR    0104H   A      
SETMOVE4. .  C ADDR    010FH   A      
SETMOVE5. .  C ADDR    011AH   A      
SETMOVE6. .  C ADDR    0125H   A      
SETMOVE7. .  C ADDR    0130H   A      
SETMOVEDOWN  C ADDR    0147H   A      
SETMOVETO .  C ADDR    013BH   A      
SETMOVEUP .  C ADDR    0140H   A      
SETSTOP . .  C ADDR    014EH   A      
SP. . . . .  D ADDR    0081H   A      


REGISTER BANK(S) USED: 0

ASSEMBLY COMPLETE, 6 ERRORS FOUND (135)

z_bing
驱动中牛
驱动中牛
  • 注册日期2002-09-28
  • 最后登录2008-04-14
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-10 14:03
先在\"jnc.jc\"附近放几条短指令,再跳转
爱国守法,明理诚信,团结一致,战胜非典!
Jkw_Dev
驱动中牛
驱动中牛
  • 注册日期2002-11-03
  • 最后登录2014-11-28
  • 粉丝0
  • 关注0
  • 积分82分
  • 威望28点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-10 14:53
JNC,JC,JZ等指令只能在128个字节内跳转,如果跳转指令与目的指令之间的长度超过了这个范围,就会出现你的程序中的问题,建议你这时用先判断再用LJMP指令跳转。
   呵呵,放分吧
yunri_2
驱动中牛
驱动中牛
  • 注册日期2002-08-16
  • 最后登录2011-09-10
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-10 21:51
收税
曾经 所以 然后 ~!@ 完 @!~
游客

返回顶部