首页 > 编程语言 >汇编语言语句格式

汇编语言语句格式

时间:2023-03-01 19:25:18浏览次数:41  
标签:语句 ... 操作数 助记符 汇编语言 伪指令 指令 格式

通常一个语句常占一行(支持续行符“\”)
一个语句不超过132个字符,4个部分
执行性语句:表达处理器指令,实现功能

标号:硬指令助记符 操作数,操作数;注释

说明性语句:表达伪指令,控制汇编方式

名字 伪指令助记符 参数, 参数,...;注释

标号:执行性语句中

  • 冒号分隔
  • 表示处理器指令在主存中的逻辑地址
  • 指示分支、循环等程序的目的地址

名字:说明性语句中

  • 空格或制表符分隔
  • 变量名、段名、子程序名等
  • 反映变量、段和子程序等的逻辑地址

标识符

  • 最多由31个字母、数字及规定的特殊符号组成
  • 不能以数字开头
  • 一个源程序中,用户定义的每个标识符必须唯一
  • 不能是保留字(Reserved Word)= 关键字(Key Word)

硬指令助记符:MOV...
伪指令助记符:BYTE...
操作符:OFFSET...
寄存器名:EAX...

取名原则类似高级语言,但默认不区别大小写字母

助记符

帮助记忆指令功能的符号

  • 硬指令助记符表示处理器指令
  • 伪指令助记符表达一个汇编命令

处理器指令示例:传送指令MOV
伪指令示例:字节变量定义
助记符:BYTE(或DB)
功能:在主存占用若干存储空间,用于保存变量值

操作数和参数

处理指令的操作数:表示参与操作的对象
1、具体的常量
2、保存在寄存器的数据
3、保存在储存器中的变量
4、逗号前常是目的操作数,逗号后常是源操作数
mov eax, offset msg//EAX获得msg的偏移地址
伪指令的参数:
1、常量、变量名、表达式等
2、可以有多个,参数之间用逗号分隔
msg byte'Hellow,Assembly!',13,10,0//定义字符串

注释

语句中分号的内容是注释

分隔符

语句的各个组成部分要用分隔符分开

  • 标号后的冒号
  • 注释前的分号
  • 操作数间和参数间的逗号
  • 分隔其他部分采用一个或多个空格或制表符

良好的语句格式

标签:语句,...,操作数,助记符,汇编语言,伪指令,指令,格式
From: https://www.cnblogs.com/cxy8/p/17169378.html

相关文章

  • 在不打印的情况下格式化 Go 字符串?
    有没有一种简单的方法可以在不打印字符串的情况下在Go中格式化字符串?我可以:bar:="bar"fmt.Printf("foo:%s",bar)但我希望返回而不是打印格式化字符串,以便我......
  • 处理器指令格式
    传送指令的助记符将数据从一个位置传送到另一个位置类似高级语言的赋值语句movdest,src源操作数src:被传送的数据或数据所在的位置目的操作数dest:数据将要传送到......
  • linux下查看磁盘分区的文件系统格式
    linux下查看磁盘分区的文件系统格式df-T只可以查看已经挂载的分区和文件系统类型。FilesystemType1K-blocksUsedAvailableUse%Mountedon/dev/sda1ext420642......
  • iOS15.4以上NSDateformatter12小时制日期格式问题及解决
    最近有客户反应App点击提交按钮报错的问题,经过分析发现问题是因为时间格式的问题导致的,客户系统iOS15.4以上,系统时间格式设置的是12小时制如下代码NSDate*date=[NSDat......
  • js格式化日期 js加减日期 js时间运算
    js格式化日期/***给Date的原型添加格式化时间的方法*@param{Object}format要格式化的类型*@param{Object}daynum要加减的时间的天数,加时间填正整数,减时间填......
  • MySQL 查询常用操作(0) —— 查询语句的执行顺序
    MySQL中明确查询语句的执行顺序极其重要,了解执行顺序才不至于犯一些简单错误,例如having后面是否可以使用select中重命名的列名等问题。另外SQL中实际使用最频繁的就是查......
  • 日志系统:一条SQL更新语句执行过程
    更新流程假如有个表和一条更新语句mysql>createtableT(IDintprimarykey,cint);mysql>updateTsetc=c+1whereID=2;更新语句会走一遍查询语句的流程,分析......
  • Kittle 插入更新,时间格式错误。
    错误1:mysql转oracle把所有时间类型格式,进行转换,不然会报时间格式错误。        错误2:插入更新时,数据量大停止了,表没有设置主键,导致的。 ......
  • mysql中使用 when then 格式化查询结果
    mysql>select*fromuser;+----+------+------+|id|name|sex|+----+------+------+|1|张三|1||2|李四|1||3|张珊|0|+----......
  • (笔记)EtherCat报文格式详解
     说明:本文是从EtherCat初学者的角度来撰写的,详细介绍的其报文格式,特别是应用层与Canopen之间的关系。特别感谢:https://zhuanlan.zhihu.com/p/406428272?utm_id=0的贡献。......