ARM 学习笔记之10: Syntax of source lines in assembly language

The assembler parses and assembles assembly language to produce object code.
Syntax
Each line of assembly language source code has this general form:
           {symbol} {instruction|directive|pseudo-instruction} {;comment}
All three sections of the source line are optional.
symbol is usually a label. In instructions and pseudo-instructions it is always a label. In some directives it
is a symbol for a variable or a constant. The description of the directive makes this clear in each case.
symbol must begin in the first column. It cannot contain any white space character such as a space or a
tab unless it is enclosed by bars (|).
Labels are symbolic representations of addresses. You can use labels to mark specific addresses that you
want to refer to from other parts of the code. Numeric local labels are a subclass of labels that begin with
a number in the range 0-99. Unlike other labels, a numeric local label can be defined many times. This
makes them useful when generating labels with a macro.
Directives provide important information to the assembler that either affects the assembly process or
affects the final output image.
Instructions and pseudo-instructions make up the code a processor uses to perform tasks.
------------------------- Note ------------------------------------------------------
Instructions, pseudo-instructions, and directives must be preceded by white space, such as a space or a
tab, irrespective of whether there is a preceding label or not.

Some directives do not allow the use of a label.

----------------------------------------------------------------------------------------
A comment is the final part of a source line. The first semicolon on a line marks the beginning of a
comment except where the semicolon appears inside a string literal. The end of the line is the end of the
comment. A comment alone is a valid line. The assembler ignores all comments. You can use blank lines
to make your code more readable.
Considerations when writing assembly language source code
You must write instruction mnemonics, pseudo-instructions, directives, and symbolic register names
(except a1-a4 and v1-v8 in A32 or T32 instructions) in either all uppercase or all lowercase. You must
not use mixed case. Labels and comments can be in uppercase, lowercase, or mixed case.
                AREA A32ex, CODE, READONLY
                                                                             ; Name this block of code A32ex
               ENTRY                                                 ; Mark first instruction to execute
start
              MOV r0, #10 ; Set up parameters
              MOV r1, #3
              ADD r0, r0, r1 ; r0 = r0 + r1
stop
             MOV r0, #0x18                                    ; angel_SWIreason_ReportException
             LDR r1, =0x20026                              ; ADP_Stopped_ApplicationExit
            SVC #0x123456                                  ; AArch32 semihosting (formerly SWI)
            END                                                        ; Mark end of file
To make source files easier to read, you can split a long line of source into several lines by placing a
backslash character (\) at the end of the line. The backslash must not be followed by any other
characters, including spaces and tabs. The assembler treats the backslash followed by end-of-line
sequence as white space. You can also use blank lines to make your code more readable.
---------------------------------- Note --------------------------------
Do not use the backslash followed by end-of-line sequence within quoted strings.

---------------------------------------------------------------------------
The limit on the length of lines, including any extensions using backslashes, is 4095 characters.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP当中的Parse error: syntax error, unexpected end of file in *错误通常是由代码语法错误引起的。这个错误提示意味着在代码中存在一些未预料到的结尾。常见的原因包括以下几种情况: 1. 缺少闭合的括号:这种情况通常发生在函数、条件语句或循环中,可能是由于未正确关闭括号导致的。请检查代码中的这些结构并确保每个开始的括号都有相应的结束括号。 2. 缺少分号:PHP中的语句必须以分号结尾。如果忘记在某个语句的结尾加上分号,就会出现此错误。请检查代码中的每个语句是否都以分号结尾。 3. 引号不匹配:如果在字符串或其他地方使用引号,但未正确匹配引号,也会导致此错误。请确保在开始和结束引号之间正确匹配引号,包括单引号和双引号。 4. 语法错误:其他语法错误,如错误的关键字、错误的函数或变量命名等,也可能触发此错误。请仔细检查代码中的每个语句和表达式,确保其语法正确。 为了解决这个错误,你可以按照以下步骤进行操作: 1. 首先,仔细阅读错误信息中提供的文件和行号信息,定位到出错的代码行。 2. 检查该行代码的周围是否有缺少闭合括号、缺少分号或引号不匹配的情况。 3. 如果没有明显的语法错误,可以将出错的代码段与正确的语法进行比较,寻找可能的差异。 4. 还可以使用代码编辑器或IDE中的语法检查工具来帮助找出语法错误。 总之,Parse error: syntax error, unexpected end of file in *错误通常是由于代码语法错误引起的。你可以通过检查代码的闭合括号、分号和引号的匹配情况来解决这个问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法](https://download.csdn.net/download/weixin_38650508/13730929)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()'d code error](https://download.csdn.net/download/weixin_38688371/13066054)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [PHP Parse error: syntax error, unexpected end of file](https://blog.csdn.net/linysuccess/article/details/129956190)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值