公路車流量檢測系統(tǒng)方案分析
3 底層軟件方案
3.1 V8匯編語言
3.1.1 語言格式
V8 的匯編語言以段(section)為單位組織源文件。段是相對(duì)獨(dú)立的、具有特定名稱的、不可分割的指令或者數(shù)據(jù)序列。段可以分為代碼段和數(shù)據(jù)段,代碼段存放執(zhí)行代碼,數(shù)據(jù)段存放代碼運(yùn)行時(shí)需要用到的數(shù)據(jù)。一個(gè)源程序至少需要一個(gè)代碼段,大的程序可以包含多個(gè)代碼段和數(shù)據(jù)段。
V8 的匯編語言源程序經(jīng)過匯編處理后生成一個(gè)可執(zhí)行的鏡像文件(即.exe 文件),該可執(zhí)行文件包括下面三個(gè)部分:
①一個(gè)或多個(gè)代碼段,代碼段通常是可讀的
②一個(gè)包含初始值的數(shù)據(jù)段,這些數(shù)據(jù)段通常是可讀寫的
③零個(gè)或多個(gè)不包含初始值的數(shù)據(jù)段,這些數(shù)據(jù)段被初始化為0
V8 匯編程序的基本結(jié)構(gòu)為:
.seg “text” !定義一個(gè)代碼段
.global data, start, hardreset !定義全局變量
start: !標(biāo)識(shí)程序開始,start 要定義為global
set data, %g1
set 3, %g2
add %g2, %g1, %g2
.seg “data”
data:
.word 128
3.1.2 程序設(shè)計(jì)
在應(yīng)用系統(tǒng)的程序設(shè)計(jì)中,若所有的編程任務(wù)均用匯編語言來完成,其工作量是很大的。所以,V8 體系結(jié)構(gòu)支持C 以及與匯編語言的混合編程,在一個(gè)完整的程序設(shè)計(jì)中,除了初始化部分用匯編語言完成以外,其主要的編程任務(wù)一般都用C 完成。匯編語言與C 的混合編程通常有以下幾種方式:
①在C 代碼中嵌入?yún)R編指令
②在匯編程序和C 程序之間進(jìn)行變量的相互訪問
評(píng)論