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

8051 組合語言問題

尚未結案
ap608153
一般會員


發表:1
回覆:0
積分:0
註冊:2018-07-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2018-07-27 11:43:26 IP:59.124.xxx.xxx 未訂閱
請問各位, 我想將主程式放在 A檔案, 所有主程式會用到的副程式放在B檔案(可以隨時call), 主程式需要的參數用查表方式, 這張表格放在C檔案
8051使用組合語言在寫程式的時候請問要怎麼寫, 我看過彷間的8051書籍這些都是寫在同一支程式上, 請幫幫忙, 我已經卡三天了, 謝謝各位
------
B.regards,Sam
tick228
高階會員


發表:1
回覆:47
積分:104
註冊:2003-11-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2018-07-28 00:27:34 IP:101.10.xxx.xxx 未訂閱
這種簡單的程式語法, 只要在網路上搜尋 "8051 組合語言 include", 就可找到你要的答案.

網路是個龐大資料庫, 只要善加利用, 能學到的, 絕對會比書上所說的還要多;
現代學程式語言, 有網路可免費利用, 是非常幸福的, 當然要善加利用.

===================引 用 ap608153 文 章===================
請問各位, 我想將主程式放在 A檔案, 所有主程式會用到的副程式放在B檔案(可以隨時call), 主程式需要的參數用查表方式, 這張表格放在C檔案
8051使用組合語言在寫程式的時候請問要怎麼寫, 我看過彷間的8051書籍這些都是寫在同一支程式上, 請幫幫忙, 我已經卡三天了, 謝謝各位
aki
版主


發表:30
回覆:696
積分:755
註冊:2004-01-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2018-08-07 06:32:08 IP:118.169.xxx.xxx 未訂閱
學 8051 建議改用 C 來學才會學得快,以後還會碰到 8051 以外的 MCU/CPU 才會移植的快.

===================引 用 ap608153 文 章===================
請問各位, 我想將主程式放在 A檔案, 所有主程式會用到的副程式放在B檔案(可以隨時call), 主程式需要的參數用查表方式, 這張表格放在C檔案
8051使用組合語言在寫程式的時候請問要怎麼寫, 我看過彷間的8051書籍這些都是寫在同一支程式上, 請幫幫忙, 我已經卡三天了, 謝謝各位
eason
一般會員


發表:2
回覆:6
積分:1
註冊:2016-10-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2018-12-30 15:01:31 IP:219.85.xxx.xxx 未訂閱
.CHIP 8051                    

.EXTERN CLR_ALLMEM
;;;;;;;;;;;;;;;;;;;;;;主程式;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 00H
JMP START
START:
CALL CLR_ALLMEM
MOV SP,#5FH
END


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;副程式:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

.PUBLIC CLR_ALLMEM

CLR_ALLMEM:
MOV R0,#7FH
CLR_LP:
CLR A
MOV @R0,A
DEC R0
CJNE R0,#00H,CLR_LP
RET
END

setp1:將主程式與副程式分別存不同檔案
setp2:將主程式副程式分別組譯,得到各別obj file
setp3:最後在用 link 程式 將這兩個檔案連結起來即可





------
hello
eason
一般會員


發表:2
回覆:6
積分:1
註冊:2016-10-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2018-12-30 15:28:38 IP:219.85.xxx.xxx 未訂閱



.CHIP 8051

COUNT EQU 30H

.EXTERN CLR_ALLMEM
.EXTERN SCAN_CODE

ORG 00H
JMP START
START:
CALL CLR_ALLMEM
MOV SP,#5FH
LOOP:
MAIN:
MOV A,COUNT
CALL SCAN_CODE
INC COUNT
MOV P1,A
MOV A,COUNT
CJNE A,#6,LOOP
MOV COUNT,#0
JMP MAIN
END


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;副程式1:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

.PUBLIC CLR_ALLMEM

CLR_ALLMEM:
MOV R0,#7FH
CLR_LP:
CLR A
MOV @R0,A
DEC R0
CJNE R0,#00H,CLR_LP
RET
END

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;副程式2:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

.PUBLIC SCAN_CODE


SCAN_CODE:
INC A
MOVC A,@A PC
RET
DB 11111110B,11111101B,11111011B
DB 11110111B,11011111B,10111111B
END



setp1:將主程式與副程式1與副程式2與分別存不同檔案
setp2:將主程式副程式分別組譯,得到各別obj file
setp3:最後在用 link 程式 將這兩個檔案連結起來即可

重新修改範例,請參考~~~~



------
hello
系統時間:2024-11-21 16:36:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!