松垮垮 松垮垮
首页
  • GPU并行编程
  • 图形学
  • 归并算法
  • 计算机视觉
  • css
  • html
  • JavaScript
  • vue
  • 压缩命令
  • cmdline
  • Docker
  • ftrace跟踪技术
  • gcov代码覆盖率测试
  • GDB
  • git
  • kgdb
  • linux操作
  • markdown
  • systemtap
  • valgrind
  • 设计模式
  • 分布式
  • 操作系统
  • 数据库
  • 服务器
  • 网络
  • C++
  • c语言
  • go
  • JSON
  • Makefile
  • matlab
  • OpenGL
  • python
  • shell
  • 正则表达式
  • 汇编
  • GPU并行编程
  • mysql
  • nginx
  • redis
  • 网络
  • 计算机视觉
  • 进程管理
  • linux调试
  • 【Python】:re.error bad escape i at position 4
  • 搭建ai知识助手
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

松垮垮

c++后端开发工程师
首页
  • GPU并行编程
  • 图形学
  • 归并算法
  • 计算机视觉
  • css
  • html
  • JavaScript
  • vue
  • 压缩命令
  • cmdline
  • Docker
  • ftrace跟踪技术
  • gcov代码覆盖率测试
  • GDB
  • git
  • kgdb
  • linux操作
  • markdown
  • systemtap
  • valgrind
  • 设计模式
  • 分布式
  • 操作系统
  • 数据库
  • 服务器
  • 网络
  • C++
  • c语言
  • go
  • JSON
  • Makefile
  • matlab
  • OpenGL
  • python
  • shell
  • 正则表达式
  • 汇编
  • GPU并行编程
  • mysql
  • nginx
  • redis
  • 网络
  • 计算机视觉
  • 进程管理
  • linux调试
  • 【Python】:re.error bad escape i at position 4
  • 搭建ai知识助手
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • C++

    • C++11
    • C++17
    • c++规范
    • cmake和宏开关
    • 为了高效
    • 作用域和生命周期
    • 关键字
    • 内存分配
    • 基础
    • 容器
    • 对象和类
    • 线程
  • c语言
  • Go

  • JSON
  • Makefile
  • matlab

  • OpenGL
  • python

  • shell
  • 正则表达式
  • 汇编
    • 汇编语言语句格式
  • 语言
songkuakua
2025-02-15
目录

汇编

# 汇编

Owner: -QVQ-

short jmp 近处的跳转

near jmp

far jmp 段外的跳转

near call

far call

汇编语言语句的类型:

  • **指令语句:**包含在指令集中,每一个语句汇编后产生一组二进制数目标代码,可被CPU执行。
  • **伪指令语句:**汇编后不产生目标代码,用于定义段、子程序、常量、变量,以及给变量分配存储单元。
  • **宏指令语句:**用户定义的一个指令序列集合, 汇编后在引用的地方展开成相应的指令序列。用于提高编程效率

# 汇编语言语句格式

[名字项:]指令助记符[操作数1,操作数2][;注释]

指令各项要用分隔符分开

名字项:用来标识段名、子程序名、宏指令名、标号、变量名和常量名等。

可用符号:数字、字母和特殊符号“?”、“$”、“@”、“_”

名字长度不能超过31个字符,不区分大小写

**指令助记符:**也称指令操作码,用来指定操作的性质或功能,

**操作数:**用来指定参与操作的数据,可以是直接参与操作的数据,也可以是数据所在的地址。

**注释:**是程序的解释说明

数据项:

可以是常量、变量和标号。

标号是用户按照一定规则定义的标识符,用来表示指令在主存中的位置

汇编后,变量变为数据区单元地址,标号变为指令所在单元地址,常量变成立即数

表达式:

则是通过操作符、运算符及括号把常量、变量和标号连接起来的有意义的式子

凡是以**常量(立即数)或符号地址(变量,标号)**为操作数的地方,均可以使用表达式,表达式最终代表一个值

运算符分为:

算术运算符:加(+)、减(-)、乘(*)、除(/)、模(MOD, 取余数)、左移(SHL)、右移(SHR)

除了加、减运算符可以用与变量和标号外,其他的算术运算符只适用于常量的数值运算。

逻辑运算符:与(AND)、或(OR)、非(NOT)、异或(XOR)

只能用于数值表达式

关系运算符:EQ(=)、NE(≠)、LT(<)、GT(>)、LE(<=)、GE(>=)

取值运算符:

**SEG运算符:**获取变量或地址标号所在的段地址。

加在变量名和标号前,返回的数值是位于其后的变量或标号的段地址。

MOV AX,SEG X 将变量X的段地址传送到AX

**OFFSET运算符:**获取变量或地址标号所在段的段内偏移地址。

MOV BX, OFFSET BUFF 获取变量BUFF的段内偏移地址给BX

功能上等同于LEA BX, BUFF 只是获取地址的时刻不同

**TYPE运算符:**获取变量的类型属性或地址标号的类型属性

如果是变量,则返回数值为字节数:DB为1,DW为2,DD为4,DQ为8,DT为10;

如果是标号,则返回数值为代表该标号类型的数值:NEAR为-1,FAR为-2

MOV AX,TYPE X ;如X是字节变量,返回1

**LENGTH运算符:**返回变量中定义的元素的个数。

上次更新: 2025/02/21, 14:57:10
正则表达式

← 正则表达式

最近更新
01
搭建ai知识助手
02-23
02
边缘检测
02-15
03
css
02-15
更多文章>
Theme by Vdoing | Copyright © 2025-2025 松垮垮 | MIT License | 蜀ICP备2025120453号 | 川公网安备51011202000997号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 纯净模式