NASM汇编程序中的宏定义
格式如下:
%macro 宏名 参数名列表
宏体
%endmacro
如:
%macro Descriptor 3
dw %2 & 0FFFFh
dw %1 & 0FFFFh
db (%1 >> 16) & 0FFh
dw ((%2 >> 8) & 0F00h) | (%3 & 0F0FFh)
db (%1 >> 24) & 0FFh
%endmacro ; 共 8 字节
这个宏定义了操作系统中描述符的格式,宏名为:Descriptor 。使用时只需定义:
Descriptor 参数1, 参数2, 参数3
即可。其中宏定义中的%1代表参数1,%2代表参数2,%3代表参数3

NASM汇编程序中的宏定义相关推荐

  1. Linux内核源码中使用宏定义的若干技巧

    在C中,宏定义的概念虽然简单,但是真要用好却并不那么容易,下面从Linux源码中抽取一些宏定义的使用方法,希望能从中得到点启发: 1. 类型检查 比如module_init的宏定义: 点击(此处)折叠 ...

  2. Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D

    在源代码里面如果这样是定义的: #ifdef   MACRONAME //可选代码 #endif 那在makefile里面 gcc   -D   MACRONAME=MACRODEF 或者 gcc   ...

  3. 关于gcc扩展中的宏定义中用 # 和 ##

    关于gcc扩展中的宏定义中用 "#" 和 "##" 今天测试了宏定义中的 "#" 和 "##" 的区别. 结果如下: & ...

  4. 如何在Linux kernel Makefile中添加宏定义

    如何在Linux kernel Makefile中添加宏定义: CFLAGS_object.o += -DMACRO_NAME 在编译object.o时定义宏MACRO_NAME,在kernel中添加 ...

  5. C++中的内联函数和C中的宏定义的区别

    在C++中内联函数: 内联函数即是在函数的声明和和定义前面加上"inline"关键字,内联函数和常规函数一样,都是按照值来传递参数的,如果参数为表达式,如4.5+7.5,则函数将传 ...

  6. Linux 内核中的宏定义

    Linux 内核中的宏定义 rtoax 日期 内核版本:linux-5.10.13 注释版代码:https://github.com/Rtoax/linux-5.10.13 __attribute__ ...

  7. C++中的宏定义详解

    转载自:C++中的宏定义 和 C++宏定义详解 目录 一.#define解析 1 #define命令剖析 1.1   #define的概念 1.2 宏替换发生的时机 1.3 ANSI标准说明了五个预定 ...

  8. [C语言] 在单片机的嵌入式开发中使用宏定义一键开关日志输出/打log调试

    前言 在编写项目时,我们通常需要日志输出来帮助我们追踪程序执行的内容,以便在出现BUG时较为方便的复现,并在调试完成后快速的关闭过于详细的LOG输出,避免干扰使用中的体验,在函数中一个一个的增加pri ...

  9. c语言中.h文件中的宏定义,endian.h这个头文件里面的宏可以直接用么?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 endian.h头文件中以宏的形式定义了大端字节序.小端字节序和混合字节序 #define __LITTLE_ENDIAN 1234 #define __ ...

最新文章

  1. 全面屏适配方案,终极版,华为隐藏导航栏解决方案
  2. kafka-manager安装
  3. 进程句柄表初始化,扩展,插入删除句柄源码分析
  4. ARM64的启动过程之(一):内核第一个脚印
  5. springboot整合mysql5.7_每天五分钟写K8(四):SpringBoot与mysql整合
  6. php ci如何保证数据安全,浅谈php(codeigniter)安全性注意事项
  7. JVM解惑:消失的异常堆栈,log中打印异常堆栈为空
  8. CCPC Training Class
  9. JaveScript运算符(JS知识点归纳三)
  10. python 中locals() 和 globals()的区别
  11. [案例]某体育用品公司在零售领域BI的产品应用解决方案
  12. WebView 简介
  13. python apply函数取数据中的后四位_python 实现rolling和apply函数的向下取值操作
  14. 【HDU2050】折线分割平面
  15. 软件测试的流程结构图
  16. 居民身份证号码的含义
  17. 带你理解 Hanoi 汉诺塔递归算法
  18. 转载:技术大停滞——范式春梦中的地球工业文明4:范式春梦外的阴影
  19. 惠普服务器sd卡作用,HP服务器如何操作设置
  20. 列车停车控制算法及仿真研究

热门文章

  1. poj2186强联通(牛仰慕)
  2. CSS浮动和清除浮动
  3. C语言经典例97-输入字符写入文件
  4. 【Groovy】闭包 Closure ( 闭包类 Closure 简介 | 闭包 parameterTypes 和 maximumNumberOfParameters 成员用法 )
  5. 【Android 安全】DEX 加密 ( 代理 Application 开发 | 解压 apk 文件 | 判定是否是第一次启动 | 递归删除文件操作 | 解压 Zip 文件操作 )
  6. 【计算机网络】物理层 : 总结 ( 物理层特性 | 码元速率 | 通信方式 | 数据传输方式 | 信号类型 | 编码与调制 | 奈氏准则 | 香农定理 | 传输介质 | 物理层设备 ) ★★★
  7. 【计算机网络】计算机网络 相关概念 ( 计算机网络概念 | 计算机网络功能 | 组成 | 工作方式 | 功能组成 | 分类 )
  8. 【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )
  9. LiveGBS国标流媒体-摄像机网页低延时无插件直播实现
  10. Python开发【第三篇】:Python基本数据类型