导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→编译怎么通不过啊[tm-christian]

 *第13137篇: 编译怎么通不过啊

  
楼 主:tm-christian 2003年6月6日09:20
 编译怎么通不过啊
我用福伟V3。20软件模拟器
下面是程序:      org 00h
      ljmp start
start:mov sp,60h
      clr p1.3
      clr p1.4
      clr p1.5
      clr p1.6
la:   acall delay
aa:   jb p1.3,lb
      setb p1.3
      clr p3.4
      clr p3.5
      clr p3.6
      acall ad
      mov r0,th1
      mov r1,tl1
      clr p3.4
      setb p3.5
      clr p3.7
      acall ad
      mov r2,th1
      mov r3,tl1
      acall bj
      jc jxca
      mov a,51h
      subb a,r3
      mov a,50h
      subb a,r2
      jc jxca
      ljmp bb
lb:   acall delay
bb:   jb p1.4,lc
      setb p1.4
      clr p3.4
      clr p3.5
      clr p3.6
      acall ad
      mov r0,th1
      mov r1,tl1
      setb p3.4
      setb p3.5
      clr p3.7
      acall ad
      mov r2,th1
      mov r3,tl1
      acall bj
      jc jxcb
      mov a,53h
      subb a,r3
      mov a,52h
      subb a,r2
      jc jxcb
      ljmp cc
lc:   acall delay
cc:   jb p1.5,ld
      setb p1.5
      clr p3.4
      clr p3.5
      clr p3.6
      acall ad
      mov r0,th1
      mov r1,tl1
      clr p3.4
      clr p3.5
      setb p3.7
      acall ad
      mov r2,th1
      mov r3,tl1
      acall bj
      jc jxcc
      mov a,55h
      subb a,r3
      mov a,54h
      subb a,r2
      jc jxcc
      ljmp dd
ld:   acall delay
dd:   jb p1.6,lla
      setb p1.6
      clr p3.4
      clr p3.5
      clr p3.6
      acall ad
      mov r0,th1
      mov r1,tl1
      setb p3.4
      clr p3.5
      setb p3.7
      acall ad
      mov r2,th1
      mov r3,tl1
      acall bj
      jc jxcd
      mov a,57h
      subb a,r3
      mov a,56h
      subb a,r2
      jc jxcd
      ljmp aa
lla:  ajmp la
jxca: mov 52h,r2
      mov 51h,r3
      clr p1.3
      acall jisuan
      ljmp bb
jxcb: mov 52h,r2
      mov 53h,r3
      clr p1.4
      acall jisuan
      ljmp cc
jxcc: mov 54h,r2
      mov 55h,r3
      clr p1.5
      acall jisuan
      ljmp dd
jxcd: mov 56h,r2
      mov 57h,r3
      clr p1.6
      acall jisuan
      ljmp aa
ad:   mov tmod,#10h
      mov th1,#00h
      mov tl1,#00h
      setb p1.2
      setb tr1
      clr p1.2
      jnb p3.6,$
      clr tr1
      ret
bj:   mov a,r3
      clr c
      subb a,r1
      mov a,r2
      subb a,r0
      ret
jisuan: setb p3.4
        clr p3.5
        clr p3.7
        acall ad
        mov r6,th1
        mov r7,tl1
divd:   clr c
        mov a,r3
        subb a,r7
        mov r1,a
        mov a,r2
        subb a,r6
        mov r0,a
        jc dvd0
        mov a,r1
        mov r3,a
        mov a,r0
        mov r2,a
        mov r0,#01h
        ljmp dvd1
dvd0:   mov r0,#00h
dvd1:   mov b,#10h
dvd2:   clr c
        mov a,r5
        rlc a
        mov r5,a
        mov a,r4
        rlc a
        mov r4,a
        mov a,r3
        rlc a
        mov r3,a
        xch a,r2
        rlc a
        xch a,r2
        mov f0,c
        clr c
        subb a,r7
        mov r1,a
        mov a,r2
        subb a,r6
        anl c,/f0
        jc dvd3
        mov r2,a
        mov a,r1
        mov r3,a
        inc r5
dvd3:   djnz b,dvd2
        clr ov
hbd2:   mov r0,#3
hbd3:   mov a,r5
        mov b,#0ah
        mul ab
        mov r5,a
        mov r1,b
        mov a,r4
        mov b,#0ah
        mul ab
        add a,r1
        mov r4,a
        clr a
        addc a,b
        push acc
        djnz r0,hbd3
        pop acc
        mov r5,a
        pop acc
        swap a
        orl a,r5
        mov r5,a
        pop acc
        mov r4,a
        mov a,r0
        swap a
        orl a,r4
        mov r4,a
delay:  nop
        nop
        ret
        end
delay该延时4MS,我是为了简单先随便写的
开始是在
      dd:   jb p1.6,la
提示出错,我想可能是因为jb语句只能向后跳转,所以我就改为
      dd:   jb p1.6,lla
在后面再加上 lla: ljmp la
现在在 jxca: mov 52h,r2
提示错误:跳转出范围
我现在实在不知道怎么改了
希望高手指点


  
2楼:tci3721 2003年6月6日10:15
 jxca: mov 52h,r2
  

jxca: mov 52h,r2
      过度一下,把跳到jxca的再中间都过度一下就好了。能明白我的意思吧。
  
3楼:tm-christian 2003年6月6日10:21
 呵呵,是不是腿短了,跳不了这么远,要分几次跳转呢?

>>>>>>对该主题发表你的看法

本主题贴数3,分页: [第1页]


[上一篇主题]:[求助]pcb 封装

[下一篇主题]:推荐一个电子网站:致祥电子网   寄存器大哥办的。