📄 tsktest.cdb
字号:
prop _page :: (self.page) prop _origin :: (self.base) prop _len :: (self.len) prop maxObjs :: (32767) prop codeMember :: (if GBL.DSPTYPE == 62 {(($1.space == "code") || ($1.space == "code/data"))} else {if GBL.DSPTYPE == 54 {($1.space == "code")} else {if GBL.DSPTYPE == 28 {($1.space == "code")} else {($1.space == "code/data")}}}) prop dataMember :: (if GBL.DSPTYPE == 62 {($1.space == "data" || $1.space == "code/data") && $1 != MEM_NULL} else {if GBL.DSPTYPE == 54 {(($1.space != "code") && ($1 != MEM_NULL)) && $1.space != "io"} else {if GBL.DSPTYPE == 28 {(($1.space != "code") && ($1 != MEM_NULL)) && $1.space != "io"} else {(($1.space == "code/data") && ($1 != MEM_NULL))}}}) prop dataNullMember :: (if GBL.DSPTYPE == 62 {$1.space == "data" || $1.space == "code/data"} else {if GBL.DSPTYPE == 54 {$1.space != "code" && $1.space != "io"} else {if GBL.DSPTYPE == 28 {$1.space != "code" && $1.space != "io"} else {$1.space == "code/data"}}}) prop dataCodeMember :: (if GBL.DSPTYPE == 62 {($1.space == "data" || $1.space == "code/data") && $1 != MEM_NULL} else {if GBL.DSPTYPE == 54 {$1.space == "code" && $1 != MEM_NULL} else {if GBL.DSPTYPE == 28 {$1.space == "code" && $1 != MEM_NULL} else {$1.space == "code/data" && $1 != MEM_NULL}}}) prop memWritable :: (self.iIsModifiable && self.iDelUser != "MEM") prop validate :: ($e = self.checkMemOverlap($1), if ($e == "ok") {$e = self.checkHeapSize($1)} , $e) prop checkHeapSize :: ($e = "ok", if (MEM.NOHEAPS == 0) {if ($1.iAllocHeap && $1 != MEM_NULL) {if ($1.iHeapSize > $1.len) {$e = ("MEM segment %s: heap cannot be larger than the length of segment that contains it.")} } } , $e) prop checkMemOverlap :: ($e = "ok", if ($1 != MEM_NULL && $1.iIsUsed == 1) {if ($1.len == 0) {$a = $1.base} else {$a = ($1.base + $1.len - 1)}, scan ($j; MEM) {if ($1 != $j && $j != MEM_NULL && $j.iIsUsed == 1 && (GBL.DSPTYPE == 62 || GBL.DSPTYPE == 55 || $1.space == $j.space)) {if (!($j == CACHE_L2 && GBL.L2CONFIGURE == 0)) {$b = $j.base, if ($j.len == 0) {$c = $j.base} else {$c = ($j.base + $j.len - 1)}, if ($a >= $b && $1.base <= $c) {$e = ("MEM segment %s: overlaps with another segment or cache configuration."), break} } } }} , $e) prop checkHeapId :: ($e = "ok", scan ($i; MEM) {if ($i.iAllocHeap == 1 && $i.iUserHeapId == 1 && $i.iHeapId == $1 && $i.iHeapId != @segment_name) {$e = self.error("This identifier label is already in use"), break} }, $e) global gUser :: "USER" { prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global gSetOf :: 0 { prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global gNumOf :: 7 { prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global gDirty :: 0 { prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global gInitFlag :: 1 { prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global CALLBACKOBJ :: nil { prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global gNumHeap :: = ($a = 0, scan ($i; MEM) {if ($i != MEM_NULL) {$a += $i.iAllocHeap} }, $a) { prop NoGen :: 0 } global REUSE :: = (if self.INITSEG.space != "code" && self.INITSEG.iAllocHeap == 1 {self.SAVEREUSE} else {0}) { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Reuse Startup Code Space" prop JSName :: "REUSECODESPACE" prop Visible :: 1 prop Writable :: self.INITSEG.space != "code" && self.INITSEG.iAllocHeap == 1 prop NoGen :: 1 prop Set :: (self.SAVEREUSE = $1, "ok") } global SAVEREUSE :: 0 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop NoGen :: 1 } global doCheckOverlap :: 1 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Visible :: 0 prop Writable :: 1 prop NoGen :: 1 } global MAPSELECT :: nil { prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Map Mode" prop JSName :: "MAPMODE" prop Enum :: "Map 0,Map 1" prop Visible :: 0 prop Writable :: 0 prop NoGen :: 1 } global ARGSSIZE :: 4 { prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}" prop Format :: "0x%04x" prop Style :: 0x01 | 0x02 prop Label :: "Argument Buffer Size" prop JSName :: "ARGSSIZE" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop Set :: (if ($1 < 4) {self.error("The 'arguments' section must have at least 4 words.")} else {self.ARGSSIZE = $1, "ok"}) } global ARGSSEG :: L0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.dataMember($1)) | (self.codeMember($1)) prop Label :: "Argument Buffer Section (.args)" prop JSName :: "ARGSSEG" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop TabName :: "BIOS Data" } global BIOSSEG :: H0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.codeMember($1)) | (self.dataMember($1)) prop Label :: "BIOS Code Section (.bios)" prop JSName :: "BIOSSEG" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop TabName :: "BIOS Code" } global STACKSIZE :: 512 { prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}" prop Format :: "0x%04x" prop Style :: 0x01 | 0x02 prop Label :: "Stack Size (MAUs)" prop JSName :: "STACKSIZE" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop Set :: (self.STACKSIZE = $1, "ok") prop PropSetOkUserMsg :: if (MEM.STACKSIZE < GlobalStatus.MinStackSize) {"Warning: You are setting the stack size to a value that is less than the Estimated Minimum Stack Size!"} else {"ok"} } global USERCMD :: 0 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "User .cmd File For Non-DSP/BIOS Sections" prop JSName :: "USERCOMMANDFILE" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop TabName :: "Compiler Sections" } global STACKSEG :: M0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.dataMember($1) && (($1.base + $1.len) <= 0xffff)) prop Label :: "Stack Section (.stack)" prop JSName :: "STACKSEG" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop TabName :: "BIOS Data" prop Set :: (if (GBL.DSPTYPE == 55) {(MEM.STACKSEG = $1), (MEM.SYSSTACKSEG = $1)} else {(MEM.STACKSEG = $1)}, "ok") } global ENABLELOADSEG :: 0 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Specify Separate Load Addresses" prop JSName :: "ENABLELOADADDR" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop TabName :: "Load Address" } global LOADBIOSSEG :: H0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.codeMember($1)) | (self.dataMember($1)) prop Label :: "Load Address - BIOS Code Section (.bios)" prop JSName :: "LOADBIOSSEG" prop Visible :: 1 prop Writable :: (self.ENABLELOADSEG == 1) prop NoGen :: 1 prop TabName :: "Load Address" } global INITSEG :: H0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.codeMember($1)) | (self.dataMember($1)) prop Label :: "Startup Code Section (.sysinit)" prop JSName :: "SYSINITSEG" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop TabName :: "BIOS Code" } global LOADINITSEG :: H0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.codeMember($1)) | (self.dataMember($1)) prop Label :: "Load Address - Startup Code Section (.sysinit)" prop JSName :: "LOADSYSINITSEG" prop Visible :: 1 prop Writable :: (self.ENABLELOADSEG == 1) prop NoGen :: 1 prop TabName :: "Load Address" } global BIOSINITSEG :: H0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.dataCodeMember($1)) | (self.dataMember($1)) prop Label :: "DSP/BIOS Init Tables (.gblinit)" prop JSName :: "GBLINITSEG" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop TabName :: "BIOS Data" } global TRCINITSEG :: H0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.dataCodeMember($1)) | (self.dataMember($1)) prop Label :: "TRC Initial Value (.trcdata)" prop JSName :: "TRCDATASEG" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop TabName :: "BIOS Data" } global LOADBIOSINITSEG :: H0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.dataCodeMember($1)) | (self.dataMember($1)) prop Label :: "Load Address - DSP/BIOS Init Tables (.gblinit)" prop JSName :: "LOADGBLINITSEG" prop Visible :: 1 prop Writable :: (self.ENABLELOADSEG == 1) prop NoGen :: 1 prop TabName :: "Load Address" } global LOADTRCINITSEG :: = self.TRCINITSEG { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.dataCodeMember($1)) | (self.dataMember($1)) prop Label :: "Load Address - TRC Initial Value (.trcdata)" prop JSName :: "LOADTRCDATASEG" prop Visible :: 1 prop Writable :: (self.ENABLELOADSEG == 1) prop NoGen :: 1 prop TabName :: "Load Address" } global SYSDATASEG :: L0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.codeMember($1)) | (self.dataMember($1)) prop Label :: "DSP/BIOS Kernel State (.sysdata)" prop JSName :: "SYSDATASEG" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop TabName :: "BIOS Data" } global CFGOBJSEG :: L0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.codeMember($1)) | (self.dataMember($1)) prop Label :: "DSP/BIOS Conf Sections (.*obj)" prop JSName :: "OBJSEG" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop TabName :: "BIOS Data" } global NOHEAPS :: 0 { prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "No Dynamic Memory Heaps" prop JSName :: "NOMEMORYHEAPS" prop Visible :: 1 prop Writable :: 1 prop NoGen :: 1 prop Set :: (if ($1) {self.SEGZERO.iReqHeapCount--, self.SEGZERO = MEM_NULL, self.MALLOCSEG.iReqHeapCount--, self.MALLOCSEG = MEM_NULL, TSK.STACKSEG.iReqHeapCount--, TSK.STACKSEG = MEM_NULL, scan ($i; MEM) {if ($i.iAllocHeap && $i != MEM_NULL) {$i.iAllocHeap = 0, $i.iHeapSize = 0} }} , self.NOHEAPS = $1, "ok") prop PropSetOkUserMsg :: if (MEM.NOHEAPS == 1) {"Currently specified heaps no longer valid"} else {"Please reconfigure heaps under individual mem segments"} } global SEGZERO :: L0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.dataNullMember($1) && $1.iAllocHeap) prop Label :: "Segment For DSP/BIOS Objects" prop JSName :: "BIOSOBJSEG" prop Visible :: 1 prop Writable :: MEM.NOHEAPS == 0 prop NoGen :: 0 prop Set :: (if (self.SEGZERO.iReqHeapCount > 0) {self.SEGZERO.iReqHeapCount--} , self.SEGZERO = $1, self.SEGZERO.iReqHeapCount++, "ok") } global MALLOCSEG :: L0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.dataNullMember($1) && $1.iAllocHeap) prop Label :: "Segment For malloc() / free()" prop JSName :: "MALLOCSEG" prop Visible :: 1 prop Writable :: (MEM.NOHEAPS == 0) prop NoGen :: 0 prop Set :: (if (self.MALLOCSEG.iReqHeapCount > 0) {self.MALLOCSEG.iReqHeapCount--} , self.MALLOCSEG = $1, self.MALLOCSEG.iReqHeapCount++, "ok") } global LNKCMDFILE :: "" { prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}" prop Label :: "Specify User Linker cmd File" prop Visible :: 0 prop Writable :: 1 prop NoGen :: 1 } global TEXTSEG :: H0SARAM { prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}" prop MemberType :: MEM prop MemberTest :: (self.codeMember($1)) | (self.dataMember($1)) prop Label :: "Text Section (.text)" prop JSName
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -