標(biāo)題: 在看論壇的視頻教程,為什么我編譯出錯 [打印本頁]

作者: 打雜的    時間: 2018-3-19 20:11
標(biāo)題: 在看論壇的視頻教程,為什么我編譯出錯
ORG     0000H
AJMP    MAIN
ORG     000BH
AJMP    SETR0
MAIN:   MOV  A,#0FFH
                MOV  P1,A
                MOV  TMOD,#01H
                MOV  TH0, #0FCH
                MOV  TL0, #018H
                MOV  R0,  #7
                SETB EA
                SETB TR0
                SETB ET0
                SJMP $
SETR0:        MOV  TH0,#0FCH
                MOV  TL0,#018H   ;定時器重新賦值
                DJNZ R0,NEXT     ;如果R0-1不等于0,跳到NEXT
                MOV  A,P1       ;P1賦給A
                CPL  A        ;A進(jìn)行取反
                MOV  P1,A  ;再把A賦給P1
                JZ A,  XH   ;判斷A是否為0,否則跳轉(zhuǎn)到XH,這里編譯出錯
                MOV  R0,#7
                SJMP  NEXT
XH:                MOV  R0,#3
NEXT:        RETI
                END


Rebuild target 'Target 1'
assembling 400us.asm...
400us.asm(21): error A38: NUMBER OF OPERANDS DOES NOT MATCH INSTRUCTION
Target not created.
Build Time Elapsed:  00:00:02
這個是我照著程序來弄的,只是我的程序選用12M晶振,IO口換成了P1口,就編程出錯了,請大家?guī)臀铱纯礊槭裁矗?br />

作者: zhangxiaozi    時間: 2018-3-19 20:49
               JZ A,  XH   ;判斷A是否為0,否則跳轉(zhuǎn)到XH,這里編譯出錯,應(yīng)該是   JZ  XH   ;判斷A是否為0,否則跳轉(zhuǎn)到XH,這里編譯出錯
作者: zhangxiaozi    時間: 2018-3-19 20:53
jz line
jnz line
都是判斷累加器的值是零不是零跳轉(zhuǎn),指令中不用寫累加器的符合A
作者: 打雜的    時間: 2018-3-19 20:57
zhangxiaozi 發(fā)表于 2018-3-19 20:53
jz line
jnz line
都是判斷累加器的值是零不是零跳轉(zhuǎn),指令中不用寫累加器的符合A

我把那個A去掉燈也不行,后面我問了我公司工程師說可能時間不夠,我把時間該為10ms就看到燈閃了
作者: zhangxiaozi    時間: 2018-3-19 23:55
這是兩個概念,我講的是指令用錯了,編譯通不過,你指令改完后,至于看不到燈閃那是時間問題,太快了人眼看不到的,從程序上誰也不知道你要接燈的




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1