⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gasp.html

📁 vxworks相关论文
💻 HTML
📖 第 1 页 / 共 4 页
字号:
where <VAR>addsym</VAR> and <VAR>subsym</VAR> are assembly symbols of unknownvalue, and <VAR>const</VAR> is a constant.</P><P>Arithmetic for GASP expressions follows very similar rules to C.You can use parentheses to change precedence; otherwise, arithmeticprimitives have decreasing precedence in the order of the followinglist.</P><OL><LI>Single-argument <CODE>+</CODE> (identity), <CODE>-</CODE> (arithmetic opposite), or<CODE>~</CODE> (bitwise negation).  <EM>The argument must be an absoluteexpression.</EM><LI><CODE>*</CODE> (multiplication) and <CODE>/</CODE> (division).  <EM>Both argumentsmust be absolute expressions.</EM><LI><CODE>+</CODE> (addition) and <CODE>-</CODE> (subtraction).  <EM>At least one argumentmust be absolute.</EM><LI><CODE>&#38;</CODE> (bitwise and).  <EM>Both arguments must be absolute.</EM><LI><CODE>|</CODE> (bitwise or) and <CODE>~</CODE> (bitwise exclusive or; <CODE>^</CODE> inC).  <EM>Both arguments must be absolute.</EM></OL><H3><A NAME="SEC18" HREF="gasp_toc.html#TOC18">String primitives</A></H3><P>You can use these primitives to manipulate strings (in the argumentfield of GASP statements):</P><DL COMPACT><DT><CODE>.LEN("<VAR>str</VAR>")</CODE><DD><A NAME="IDX123"></A>Calculate the length of string <CODE>"<VAR>str</VAR>"</CODE>, as an absoluteexpression.  For example, <SAMP>`.RES.B .LEN("sample")'</SAMP> reserves sixbytes of memory.<DT><CODE>.INSTR("<VAR>string</VAR>", "<VAR>seg</VAR>", <VAR>ix</VAR>)</CODE><DD><A NAME="IDX124"></A>Search for the first occurrence of <VAR>seg</VAR> after position <VAR>ix</VAR> of<VAR>string</VAR>.  For example, <SAMP>`.INSTR("ABCDEFG", "CDE", 0)'</SAMP> evaluatesto the absolute result <CODE>2</CODE>.The result is <CODE>-1</CODE> if <VAR>seg</VAR> does not occur in <VAR>string</VAR>after position <VAR>ix</VAR>.<DT><CODE>.SUBSTR("<VAR>string</VAR>",<VAR>start</VAR>,<VAR>len</VAR>)</CODE><DD><A NAME="IDX125"></A>The substring of <VAR>string</VAR> beginning at byte number <VAR>start</VAR> andextending for <VAR>len</VAR> bytes.</DL><H2><A NAME="SEC19" HREF="gasp_toc.html#TOC19">Alternate macro syntax</A></H2><P>If you specify <SAMP>`-a'</SAMP> or <SAMP>`--alternate'</SAMP> on the GASP commandline, the preprocessor uses somewhat different syntax.  This syntax isreminiscent of the syntax of Phar Lap macro assembler, but itis <EM>not</EM> meant to be a full emulation of Phar Lap or similarassemblers.  In particular, GASP does not support directives suchas <CODE>DB</CODE> and <CODE>IRP</CODE>, even in alternate syntax mode.</P><P>In particular, <SAMP>`-a'</SAMP> (or <SAMP>`--alternate'</SAMP>) elicits thesedifferences:</P><DL COMPACT><DT><EM>Preprocessor directives</EM><DD>You can use GASP preprocessor directives without a leading <SAMP>`.'</SAMP>dot.  For example, you can write <SAMP>`SDATA'</SAMP> with the same effect as<SAMP>`.SDATA'</SAMP>.<DT><EM>LOCAL</EM><DD>One additional directive, <CODE>LOCAL</CODE>, is available.  See section <A HREF="gasp.html#SEC7">Defining your own directives</A>, for an explanation of how to use<CODE>LOCAL</CODE>.<DT><EM>String delimiters</EM><DD>You can write strings delimited in these other ways besides<CODE>"<VAR>string</VAR>"</CODE>:<DL COMPACT><DT><CODE>'<VAR>string</VAR>'</CODE><DD>You can delimit strings with single-quote charaters.<DT><CODE>&#60;<VAR>string</VAR>&#62;</CODE><DD>You can delimit strings with matching angle brackets.</DL><DT><EM>single-character string escape</EM><DD>To include any single character literally in a string (even if thecharacter would otherwise have some special meaning), you can prefix thecharacter with <SAMP>`!'</SAMP> (an exclamation mark).  For example, you canwrite <SAMP>`&#60;4.3 !&#62; 5.4!!&#62;'</SAMP> to get the literal text <SAMP>`4.3 &#62; 5.4!'</SAMP>.<DT><EM>Expression results as strings</EM><DD>You can write <SAMP>`%<VAR>expr</VAR>'</SAMP> to evaluate the expression <VAR>expr</VAR>and use the result as a string.  </DL><H1><A NAME="SEC20" HREF="gasp_toc.html#TOC20">Index</A></H1><P>Jump to:<A HREF="#cindex_!">!</A>-<A HREF="#cindex_+">+</A>-<A HREF="#cindex_-">-</A>-<A HREF="#cindex_.">.</A>-<A HREF="#cindex_;">;</A>-<A HREF="#cindex_\">\</A>-<A HREF="#cindex_a">a</A>-<A HREF="#cindex_b">b</A>-<A HREF="#cindex_c">c</A>-<A HREF="#cindex_d">d</A>-<A HREF="#cindex_e">e</A>-<A HREF="#cindex_f">f</A>-<A HREF="#cindex_g">g</A>-<A HREF="#cindex_i">i</A>-<A HREF="#cindex_l">l</A>-<A HREF="#cindex_m">m</A>-<A HREF="#cindex_n">n</A>-<A HREF="#cindex_p">p</A>-<A HREF="#cindex_r">r</A>-<A HREF="#cindex_s">s</A>-<A HREF="#cindex_t">t</A>-<A HREF="#cindex_w">w</A><P><H2><A NAME="cindex_!">!</A></H2><DIR><LI><A HREF="gasp.html#IDX9"><CODE>!</CODE> default comment char</A></DIR><H2><A NAME="cindex_+">+</A></H2><DIR><LI><A HREF="gasp.html#IDX113">+</A></DIR><H2><A NAME="cindex_-">-</A></H2><DIR><LI><A HREF="gasp.html#IDX3">--alternate</A><LI><A HREF="gasp.html#IDX12">--commentchar '<VAR>char</VAR>'</A><LI><A HREF="gasp.html#IDX24">--copysource</A><LI><A HREF="gasp.html#IDX14">--debug</A><LI><A HREF="gasp.html#IDX16">--help</A><LI><A HREF="gasp.html#IDX18">--mri</A><LI><A HREF="gasp.html#IDX20">--output <VAR>outfile</VAR></A><LI><A HREF="gasp.html#IDX22">--print</A><LI><A HREF="gasp.html#IDX26">--unreasonable</A><LI><A HREF="gasp.html#IDX28">--version</A><LI><A HREF="gasp.html#IDX2">-a</A><LI><A HREF="gasp.html#IDX11">-c '<VAR>char</VAR>'</A><LI><A HREF="gasp.html#IDX13">-d</A><LI><A HREF="gasp.html#IDX15">-h</A><LI><A HREF="gasp.html#IDX17">-M</A><LI><A HREF="gasp.html#IDX19">-o <VAR>outfile</VAR></A><LI><A HREF="gasp.html#IDX21">-p</A><LI><A HREF="gasp.html#IDX23">-s</A><LI><A HREF="gasp.html#IDX25">-u</A><LI><A HREF="gasp.html#IDX27">-v</A></DIR><H2><A NAME="cindex_.">.</A></H2><DIR><LI><A HREF="gasp.html#IDX37">.AELSE</A><LI><A HREF="gasp.html#IDX38">.AENDI</A><LI><A HREF="gasp.html#IDX40">.AENDR</A><LI><A HREF="gasp.html#IDX42">.AENDW</A>, <A HREF="gasp.html#IDX44">.AENDW</A><LI><A HREF="gasp.html#IDX30">.AIF "<VAR>stra</VAR>" <VAR>cmp</VAR> "<VAR>strb</VAR>"</A><LI><A HREF="gasp.html#IDX29">.AIF <VAR>expra</VAR> <VAR>cmp</VAR> <VAR>exprb</VAR></A><LI><A HREF="gasp.html#IDX105">.ALIGN <VAR>size</VAR></A><LI><A HREF="gasp.html#IDX97">.ALTERNATE</A><LI><A HREF="gasp.html#IDX39">.AREPEAT <VAR>aexp</VAR></A><LI><A HREF="gasp.html#IDX41">.AWHILE <VAR>expra</VAR> <VAR>cmp</VAR> <VAR>exprb</VAR></A><LI><A HREF="gasp.html#IDX43">.AWHILE <VAR>stra</VAR> <VAR>cmp</VAR> <VAR>strb</VAR></A><LI><A HREF="gasp.html#IDX62">.DATA <VAR>expr</VAR>, <VAR>expr</VAR>, ...</A><LI><A HREF="gasp.html#IDX63">.DATA.B <VAR>expr</VAR>, <VAR>expr</VAR>, ...</A><LI><A HREF="gasp.html#IDX65">.DATA.L <VAR>expr</VAR>, <VAR>expr</VAR>, ...</A><LI><A HREF="gasp.html#IDX64">.DATA.W <VAR>expr</VAR>, <VAR>expr</VAR>, ...</A><LI><A HREF="gasp.html#IDX66">.DATAB <VAR>repeat</VAR>, <VAR>expr</VAR></A><LI><A HREF="gasp.html#IDX67">.DATAB.B <VAR>repeat</VAR>, <VAR>expr</VAR></A><LI><A HREF="gasp.html#IDX69">.DATAB.L <VAR>repeat</VAR>, <VAR>expr</VAR></A><LI><A HREF="gasp.html#IDX68">.DATAB.W <VAR>repeat</VAR>, <VAR>expr</VAR></A><LI><A HREF="gasp.html#IDX103">.END</A><LI><A HREF="gasp.html#IDX56">.ENDM</A><LI><A HREF="gasp.html#IDX57">.EXITM</A><LI><A HREF="gasp.html#IDX100">.EXPORT <VAR>name</VAR></A><LI><A HREF="gasp.html#IDX93">.FORM COL=<VAR>cols</VAR></A><LI><A HREF="gasp.html#IDX92">.FORM LIN=<VAR>ln</VAR></A><LI><A HREF="gasp.html#IDX94">.FORM LIN=<VAR>ln</VAR> COL=<VAR>cols</VAR></A><LI><A HREF="gasp.html#IDX101">.GLOBAL <VAR>name</VAR></A><LI><A HREF="gasp.html#IDX95">.HEADING <VAR>string</VAR></A><LI><A HREF="gasp.html#IDX104">.INCLUDE "<VAR>str</VAR>"</A><LI><A HREF="gasp.html#IDX124">.INSTR("<VAR>string</VAR>", "<VAR>seg</VAR>", <VAR>ix</VAR>)</A><LI><A HREF="gasp.html#IDX123">.LEN("<VAR>str</VAR>")</A><LI><A HREF="gasp.html#IDX52">.MACRO <VAR>macname</VAR></A><LI><A HREF="gasp.html#IDX53">.MACRO <VAR>macname</VAR> <VAR>macargs</VAR> ...</A><LI><A HREF="gasp.html#IDX98">.ORG</A><LI><A HREF="gasp.html#IDX96">.PAGE</A><LI><A HREF="gasp.html#IDX90">.PRINT LIST</A><LI><A HREF="gasp.html#IDX91">.PRINT NOLIST</A><LI><A HREF="gasp.html#IDX102">.PROGRAM</A><LI><A HREF="gasp.html#IDX99">.RADIX <VAR>s</VAR></A><LI><A HREF="gasp.html#IDX74">.RES <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX75">.RES.B <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX77">.RES.L <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX76">.RES.W <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX70">.SDATA "<VAR>str</VAR>" ...</A><LI><A HREF="gasp.html#IDX71">.SDATAB <VAR>repeat</VAR>, "<VAR>str</VAR>" ...</A><LI><A HREF="gasp.html#IDX73">.SDATAC "<VAR>str</VAR>" ...</A><LI><A HREF="gasp.html#IDX72">.SDATAZ "<VAR>str</VAR>" ...</A><LI><A HREF="gasp.html#IDX78">.SRES <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX79">.SRES.B <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX81">.SRES.L <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX80">.SRES.W <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX82">.SRESC <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX83">.SRESC.B <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX85">.SRESC.L <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX84">.SRESC.W <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX86">.SRESZ <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX87">.SRESZ.B <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX89">.SRESZ.L <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX88">.SRESZ.W <VAR>count</VAR></A><LI><A HREF="gasp.html#IDX125">.SUBSTR("<VAR>string</VAR>",<VAR>start</VAR>,<VAR>len</VAR>)</A></DIR><H2><A NAME="cindex_;">;</A></H2><DIR><LI><A HREF="gasp.html#IDX10"><CODE>;</CODE> as comment char</A></DIR><H2><A NAME="cindex_\">\</A></H2><DIR><LI><A HREF="gasp.html#IDX60">\@</A></DIR><H2><A NAME="cindex_a">a</A></H2><DIR><LI><A HREF="gasp.html#IDX121">absolute expressions</A><LI><A HREF="gasp.html#IDX110">argument fields</A><LI><A HREF="gasp.html#IDX117">avoiding preprocessing</A></DIR><H2><A NAME="cindex_b">b</A></H2><DIR><LI><A HREF="gasp.html#IDX8">bang, as comment</A><LI><A HREF="gasp.html#IDX46">breaking out of loops</A></DIR><H2><A NAME="cindex_c">c</A></H2><DIR><LI><A HREF="gasp.html#IDX4">comment character, changing</A><LI><A HREF="gasp.html#IDX111">comments</A><LI><A HREF="gasp.html#IDX112">continuation character</A><LI><A HREF="gasp.html#IDX115">copying literally to output</A></DIR><H2><A NAME="cindex_d">d</A></H2><DIR><LI><A HREF="gasp.html#IDX109">directive field</A></DIR><H2><A NAME="cindex_e">e</A></H2><DIR><LI><A HREF="gasp.html#IDX31">EQ</A><LI><A HREF="gasp.html#IDX6">exclamation mark, as comment</A></DIR><H2><A NAME="cindex_f">f</A></H2><DIR><LI><A HREF="gasp.html#IDX107">fields of GASP source line</A></DIR><H2><A NAME="cindex_g">g</A></H2><DIR><LI><A HREF="gasp.html#IDX36">GE</A><LI><A HREF="gasp.html#IDX35">GT</A></DIR><H2><A NAME="cindex_i">i</A></H2><DIR><LI><A HREF="gasp.html#IDX1"><VAR>infile</VAR> ...</A></DIR><H2><A NAME="cindex_l">l</A></H2><DIR><LI><A HREF="gasp.html#IDX108">label field</A><LI><A HREF="gasp.html#IDX34">LE</A><LI><A HREF="gasp.html#IDX114">literal copy to output</A><LI><A HREF="gasp.html#IDX61">LOCAL <VAR>name</VAR> [ , ... ]</A><LI><A HREF="gasp.html#IDX45">loops, breaking out of</A><LI><A HREF="gasp.html#IDX33">LT</A></DIR><H2><A NAME="cindex_m">m</A></H2><DIR><LI><A HREF="gasp.html#IDX59">macros, count executed</A></DIR><H2><A NAME="cindex_n">n</A></H2><DIR><LI><A HREF="gasp.html#IDX54"><VAR>name</VAR> .MACRO</A><LI><A HREF="gasp.html#IDX55"><VAR>name</VAR> .MACRO ( <VAR>macargs</VAR> ... )</A><LI><A HREF="gasp.html#IDX32">NE</A><LI><A HREF="gasp.html#IDX58">number of macros executed</A></DIR><H2><A NAME="cindex_p">p</A></H2><DIR><LI><A HREF="gasp.html#IDX116">preprocessing, avoiding</A><LI><A HREF="gasp.html#IDX48"><VAR>pvar</VAR> .ASSIGN <VAR>expr</VAR></A><LI><A HREF="gasp.html#IDX49"><VAR>pvar</VAR> .ASSIGNA <VAR>aexpr</VAR></A><LI><A HREF="gasp.html#IDX50"><VAR>pvar</VAR> .ASSIGNC "<VAR>str</VAR>"</A><LI><A HREF="gasp.html#IDX47"><VAR>pvar</VAR> .EQU <VAR>expr</VAR></A><LI><A HREF="gasp.html#IDX51"><VAR>pvar</VAR> .REG (<VAR>register</VAR>)</A></DIR><H2><A NAME="cindex_r">r</A></H2><DIR><LI><A HREF="gasp.html#IDX122">relocatable expressions</A></DIR><H2><A NAME="cindex_s">s</A></H2><DIR><LI><A HREF="gasp.html#IDX5">semicolon, as comment</A><LI><A HREF="gasp.html#IDX7">shriek, as comment</A><LI><A HREF="gasp.html#IDX118">symbol separator</A><LI><A HREF="gasp.html#IDX120">symbols, separating from text</A></DIR><H2><A NAME="cindex_t">t</A></H2><DIR><LI><A HREF="gasp.html#IDX119">text, separating from symbols</A></DIR><H2><A NAME="cindex_w">w</A></H2><DIR><LI><A HREF="gasp.html#IDX106">whitespace</A></DIR></P><P><HR><P>This document was generated on 17 March 1999 using the<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>translator version 1.52.</P></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -