新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ASM51無參數(shù)化調(diào)用C51函數(shù)的實現(xiàn)原理解析方案

ASM51無參數(shù)化調(diào)用C51函數(shù)的實現(xiàn)原理解析方案

作者: 時間:2012-06-19 來源:網(wǎng)絡 收藏

sample: ;采樣程序,該標號即是定義外部

;sample()的入口地址

……

ret

……

res_ram: ;62256指針復位,該標號即是定義外部res_ram()的入口地址

……

ret

end

在研制無紙記錄儀之前,作者用M開發(fā)了其他儀表,采樣部分有些相同,因此這次A51采樣程序并不是重新編寫,而是把以前的M程序按A51的規(guī)則來修改。以前ASM的程序(數(shù)據(jù)段部分)如下所示:

bseg

;

write_alw bit 00h;

vz_bit bit 01h

fs_bit bit 02h

ce_bit bit p1.6

ram_cs bit p1.2

b373 bit p1.1

bit_dog bit p1.4

data_bit bit P2.6

sclk_bit bit P3.4

drdy_bit bit p3.3

ends

;

dseg

org 08h

org 28h

sample_w; ds 12

sa_p: ds 1 ;當前通道號

ram_point: ds 2

sa_timer: ds 8 ;0,1,2,3每通道兩字節(jié)

sa_vzt: ds 8 ;0,1,2,3 vz

ends

;

cseg

org 0h

begin: reti

org 03h

lcall sample

reti

sample:

……

ends

從上述程序可以看出,在采樣程序中所用到的變量并不少,定義在數(shù)據(jù)存儲區(qū)28H單元起始的空間中。這樣安排,對匯編程序沒什么問題,但與主程序連接的時候,并不一定好,很多時候碰到地址空間溢出的問題(C51主程序編譯連接后將近16K字節(jié),CPU采用ATMEL公司的AT89C55WD)。如何調(diào)整這些變量的分配,并非容易。另外,C51隨時要用到采樣單元sample_w[12]的值,如果采用一般的傳遞,將是相當復雜而繁瑣的;而采用全局及外部變量C51無經(jīng)A51,極大簡化了這些工作,大大提高了工作效率。


上一頁 1 2 3 下一頁

評論


相關推薦

技術(shù)專區(qū)

關閉