论坛风格切换切换到宽版
  • 3245阅读
  • 3回复

奇怪,这个程序无法通过编译 [复制链接]

上一主题 下一主题
离线bg4rhe
 
发帖
756
只看楼主 倒序阅读 0楼 发表于: 2004-05-05
奇怪,这个程序无法通过编译。
大家看看:
    org 0000h
      ajmp keyscan
;org   0003h
;reti
;org   000bh
;reti
;org   0013h
;reti
;org   001bh
;reti
;org   0023h
;reti
;org   002bh
;reti
   
      org 0100h
keyscan: mov p1,#0f0h
      clr p1.0
      mov a,p1
      anl a,#0f0h
      cjne a,#0f0h,keyc0n
      setb p1.0
      clr p1.1
      mov a,p1
      anl a, #0f0h
      cjne a,#0f0h,keyc0n
      setb p1.1
      clr p1.1
      mov a,p1
      anl a, #0f0h
      cjne a,#0f0h,keyc0n
      setb p1.2
      clr p1.2
      mov a,p1
      anl a, #0f0h
      cjne a,#0f0h,keyc0n
      setb p1.3
      clr p1.1
      mov a,p1
      anl a, #0f0h
      cjne a,#0f0h,keyc0n
      ret
keycon: acall dl10ms
      mov a,p1
      anl a,#0f0h
      cjne a,#0f0h,keyche
      ret
keyche: mov a,p1
      cjne a,#0eeh,key0
      cjne a,#odeh,key1
      cjne a,#obeh,key2
      cjne a,#7eh,key3 ;3
      cjne a,#0edh,key4 ;4
      cjne a,#oddh,key5
      cjne a,#obdh,key6
      cjne a,#7dh,key7
      cjne a,#oebh,key8 ;8
      cjne a,#odbh,key9    
      cjne a,#obbh,keya
      cjne a,#7bh,keyb   ;11
      cjne a,#oe7h,keyc ;12
      cjne a,#od7h,keyd
      cjne a,#ob7h,keye
      cjne a,#77h,keyf
key0:   mov a,0c0h
      mov p0,a
      ljmp keyscan
key1:   mov a,0f9h
      mov p0,a
      ljmp keyscan
key2:   mov a,0a4h
      mov p0,a
      ljmp keyscan
key3:   mov a,0b0h
      mov p0,a
      ljmp keyscan
key4:   mov a,99h
      mov p0,a
      ljmp keyscan
key5:   mov a,92h
      mov p0,a
      ljmp keyscan
key6:   mov a,82h
      mov p0,a
      ljmp keyscan
key7:   mov a,0f8h
      mov p0,a
      ljmp keyscan
key8:   mov a,80h
      mov p0,a
      ljmp keyscan
key9:   mov a,90h
      mov p0,a
      ljmp keyscan
keya:   mov a,88h
      mov p0,a
      ljmp keyscan
keyb:   mov a,83h
      mov p0,a
      ljmp keyscan
keyc:   mov a,0a7h
      mov p0,a
      ljmp keyscan
keyd:   mov a,0a1h
      mov p0,a
      ljmp keyscan
keye:   mov a,83h
      mov p0,a
      ljmp keyscan
keyf:   mov a,8eh
      mov p0,a
      ljmp keyscan
dl512:   mov r1,#0ffh
loop:   djnz r1,loop
      ret
dl10ms: mov r0,#10
loop2:   lcall dl512
      djnz r0,loop2
      ret
      end

是个键扫描,然后led显示程序。
错误:
c:\windows\desktop\qw.a51(21): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(26): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(31): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(36): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(41): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(50): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(51): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(54): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(55): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(57): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(58): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(59): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(61): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(62): error a45: undefined symbol (pass-2)
c:\windows\desktop\qw.a51(63): error a45: undefined symbol (pass-2)
离线BD7RC
发帖
3283
只看该作者 1楼 发表于: 2004-05-05
哈哈~~关键是你“0”和“o”不分,该“零”的时候为字母“o”,该字母“o”时为“零”,检查一下吧。

另外,用好一点的编译软件可以及早发现问题。
离线Sullivan
发帖
4817
只看该作者 2楼 发表于: 2004-05-06
晕菜,哈哈

keyc0n? 那个0应该是o吧
估计是抄的书上的?
离线bg4rhe
发帖
756
只看该作者 3楼 发表于: 2004-05-07
发现了,是0,o不分.
我用的是keil编译的,它里面的文本编辑器大写的o与0是一模一样的!!!
我使劲找了几天也没发现.

我再看了一下我发的帖子,帖子上是分的清清楚楚的.