全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3592
推到 Plurk!
推到 Facebook!

測試 8051 書本 範例 16X16 LED 控制 組譯時問題

缺席
ace13508
一般會員


發表:3
回覆:4
積分:1
註冊:2007-04-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-04-25 21:30:47 IP:192.192.xxx.xxx 訂閱
煩請各位大大幫忙 :
組譯軟體為 Keil C 測試版

程式碼 :
01 REPEAT REG R1
02 COUNT REG R2
03 SIGNAL REG R3
04 ORG 00H
05 START:
06 MOV R0,#0
07 AGAIN:
08 MOV REPEAT,#100
09 INC R0
10 CJNE R0,#5,INIT
11 JMP START
12 INIT:
13 MOV SIGNAL,#0
14 MOV COUNT,#15
15 CJNE RO,#1,W2
16 MOV DPTR,#WORD1
17 JMP W5
18 W2:
19 CJNE RO,#2,W3
20 MOV DPTR,#WORD2
21 JMP W5
22 W3:
23 CJNE RO,#3,W4
24 MOV DPTR,#WORD3
25 JMP W5
26 W4:
27 CJNE RO,#4,W5
28 MOV DPTR,#WORD4
29 W5:
30 CALL OUTPUT
31 CALL DELAY
32 DJNZ COUNT,W5
33 DJNZ REPEAT.INIT
34 JMP AGAIN
35 OUTPUT:
36 MOV A,#0
37 MOVC A,@A DPTR
38 MOV P1,A
39 INC DPTR
40 MOV A,#0
41 MOVC A,@A DPTR
42 MOV P2,A
43 MOV P3,SIGNAL
44 INC DPTR
45 INC SIGNAL
46 RET
47 DELAY:
48 MOV R6,#5
49 $6: MOV R5,#100
50 DJNZ R5,$
51 DJNZ R6,$6
52 RET
53 WORD1: DW 0BA00H,0EA3FH,0AA2AH,0BF2AH,0802AH
54 DW 0B82AH,0EF3EH,0AA2AH,0BA2AH,02000H
55 DW 01020H,00F10H,0E80FH,00810H,07820H
56 WORD2: DW 09120H,05210H,0B408H,01017H,00020H
57 DW 0FC23H,00421H,08220H,04220H,0FD3FH
58 DW 00420H,00421H,00422H,0FD21H,00420H
59 WORD3: DW 02000H,02020H,02010H,02208H,02C06H
60 DW 0D001H,02000H,03F00H,02000H,0D01FH
61 DW 02820H,02420H,02220H,03220H,0203CH
62 WORD4: DW 0FF3FH,01111H,01F1FH,01111H,0F111H
63 DW 01000H,0083DH,00712H,0FA12H,04A3DH
64 DW 04A00H,04A3DH,04A12H,0FA12H,0023DH
65 END
錯誤訊息 :
55.asm(1) : error A9: SYNTAX ERROR
55.asm(2) : error A9: SYNTAX ERROR
55.asm(3) : error A9: SYNTAX ERROR
55.asm(8) : error A45: UNDEFINED SYMBOL (PASS-2)
55.asm(13) : error A45: UNDEFINED SYMBOL (PASS-2)
55.asm(14) : error A45: UNDEFINED SYMBOL (PASS-2)
55.asm(15) : error A39: REGISTER OPERAND EXPECTED
55.asm(19) : error A39: REGISTER OPERAND EXPECTED
55.asm(23) : error A39: REGISTER OPERAND EXPECTED
55.asm(27) : error A39: REGISTER OPERAND EXPECTED
55.asm(32) : error A45: UNDEFINED SYMBOL (PASS-2)
55.asm(33) : error A18: OUT OF RANGE OR NON-TYPELESS BIT-OFFSET
55.asm(43) : error A45: UNDEFINED SYMBOL (PASS-2)
55.asm(45) : error A45: UNDEFINED SYMBOL (PASS-2)
55.asm(49) : error A68: UNKNOWN CONTROL OR BAD ARGUMENT(S)
55.asm(49) : error A314: bad #directive syntax
55.asm(52) : error A38: NUMBER OF OPERANDS DOES NOT MATCH INSTRUCTION
55.asm(49) : error A9: SYNTAX ERROR

------

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-04-26 00:34:09 IP:219.70.xxx.xxx 未訂閱
1> REG 應該是定義 bit, 不是定義變數用的.

2> 請注意 "R0" 跟 "RO" 不一樣. 照抄的程式也會打錯?

3> "$" 已經是保留字, 為何又要用 "$6" 來做標記?


P.S : 自己找看看吧. 我已經都告訴你了. 基本上改過後也已經 compiler 過 OK 了.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
系統時間:2024-05-20 3:41:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!