[請益] 8051的程式請教
小弟是組合語言的新手
我想問雖然是作業
但絕對不是叫各位前輩幫我寫
是想請各位幫我看看我寫的程式碼出錯在哪
我真的DEBUG好久了
我覺得有可能是我一開始定義的空間錯了
但是我看教授的上課講義,也找不到哪裡有問題
燒錄程式也沒有顯示ERROR
拜託各位幫個忙看一下了
http://ppt.cc/gQNU <==這是程式流程
以下是我寫的程式碼
ORG 00H
NUMBER: DB 58H ;學號末兩碼
DATE: DB 22H ;生日日期
NUMBER2: DB 06H
NUMBER3: DB 08H
NUMBER4: DB 03H
NUMBER5: DB 05H
RESULTC: DS 1
RESULTD: DS 1
COMPARE: MOV A,NUMBER
MOV B,DATE
DIV AB
JNZ START1
LJMP START2
START1: MOV A,NUMBER ;A減B
SUBB A,DATE
ADD A,NUMBER2 ;A減B加6
MOV B,NUMBER3 ;(A減B加6)除8
DIV AB
MOV RESULTC,A
MOV RESULTD,B
MOV R2,RESULTD
LJMP DISPLAY
START2: MOV A,DATE ;B減A
SUBB A,NUMBER
ADD A,NUMBER4 ;B減A加3
MOV B,NUMBER5 ;(B減A加3)除5
DIV AB
MOV RESULTC,A
MOV RESULTD,B
MOV R2,RESULTD
DISPLAY: MOV DPTR,#TABLE
MOV A,RESULTC ;丟入商數
MOVC A,@A+DPTR
MOV P1,A ;使七段顯示器顯示數字
ACALL DELAY
MOV R1,#FFH
MOV P1,R1 ;熄滅
ACALL DELAY
DJNZ R2,DISPLAY ;餘數-1不為零的話跳回DISPLAY
MOV R1,#00H ;結束後全亮
MOV P1,R1
ACALL DELAY
LJMP END
DELAY: MOV R5,#200
S1: MOV R6,#100
S2: MOV R7,#50
DJNZ R7,$ ;R7減1,若非0則跳回自己
DJNZ R6,S2 ;R6減1,若非0則跳回S1
DJNZ R5,S1 ;R5減1,若非0則跳回S2
TABLE: DB 01H ; 0
DB 4FH ; 1
DB 12H ; 2
DB 06H ; 3
DB 4CH ; 4
DB 24H ; 5
DB 60H ; 6
DB 0FH ; 7
DB 00H ; 8
DB 04H ; 9
RET
END: END
請各位幫幫忙了,感謝!!!!
--
█◣ by jimmy508 █▇▅▃▁ ◢██◣ ▌▇▇▇▇▇▇▇▇▇▋
██◣ ◢▋ █ ◥◣◢◤ ▅SNSD▅ █ █ █ ▍═╗═╗
██◥◣◢◤▋▋▍ ▌◢█ ◢◤◥◣ ████ ◢ █ █ █ ▏ ║ ║
██ ◥◤ ▋█ ● ▎▊ █ ║ ═╗║ ◢▁▁▁▁▁▁▁▁▁▎ ╔╝╔╝
██ ▋ ◥◤ ▎ 人║ ═╣╠ ╚═╚═
歡迎搭乘少時車隊,您好,我是 ║ / ║ ,很高興為您服務。 車隊編號
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.238.191
推
05/28 04:42, , 1F
05/28 04:42, 1F
→
05/28 04:44, , 2F
05/28 04:44, 2F
→
05/28 04:45, , 3F
05/28 04:45, 3F
→
05/28 04:47, , 4F
05/28 04:47, 4F
→
05/28 04:47, , 5F
05/28 04:47, 5F
→
05/28 04:49, , 6F
05/28 04:49, 6F
→
07/01 01:59, , 7F
07/01 01:59, 7F
ASM 近期熱門文章
PTT數位生活區 即時熱門文章