zoukankan      html  css  js  c++  java
  • NASM手册阅读笔记(8)

    %include

    格式

    %include file.asm

    说明

    包含其他的asm源文件,可使用C常用的防止被重复包含的方法
    %ifndef MACROS_MAC            
    %define MACROS_MAC     
    ; 文件内容      
    %endif 
     

    %rep

    格式

    %rep  重复次数
      XXXXX 要重复的代码内容
    %endrep

    说明

    和MASM中 rept 一样的意思 就是重复指令,可以认为是TIMES指令的多行版    
    可与assign 联用
    %assign i 0        
    %rep    64               
      inc     word [table+2*i]       
      %assign i i+1        
    %endrep 
     

    %line 

    格式

    %line  nnn[+mmm]   文件名
     

    说明

    %include 指令的高级版,他可以指定加载某哥文件某行进来
    nnn 是基础行
    mmm 是递增值,也就是读一个文件 nnn 就++mmm
        

    %!

    格式

    %! 变量名

    说明

    读取一个环境变量加载进来

    %error 

    格式

    %error  错误信息

    说明

    当汇编器读到这条指令的时候就会产生一个变异错误,错误内容就是 指令中的错误信息

    %strlen

    格式

    %strlen     x    字符串

    说明   

    计算字符串的长度,并将X定义为这个常数
    %strlen     x    “abc”
    相当于
    %assign   x        3
     
    它接收宏,所以可以这样
    %define     strhello    'hello,world'
    %strlen      strhellolen   strhello
        

    %substr

    格式

    %substr    变量  字符串     pos

    说明

    从字符串中取第pos个字符赋值给前面的变量

    例子

    %substr    char  'hello'    1    ; =>    %define char 'h'
    %substr    char  'hello'    2    ; =>    %define char 'e'
        
     
  • 相关阅读:
    Ansible17:Playbook之tags
    Ansible15:文件管理模块及Jinja2过滤器
    Ansible16:Playbook高级用法
    Ansible14:Playbook条件语句
    Ansible13:Playbook循环语句
    etcd备份与恢复
    Kafka部署篇
    kafka原理篇
    Zookeeper的介绍与基本部署
    frp实现内网穿透
  • 原文地址:https://www.cnblogs.com/alwaysking/p/12287529.html
Copyright © 2011-2022 走看看