a.asm

global Start
section .text
inc dword [esi]
push edi
mov edi,[esp+0x14]
λ nasm -f win32 a.asm -l a.lst
     1                                  global Start
2 section .text
3 00000000 FF06 inc dword [esi]
4 00000002 57 push edi
5 00000003 8B7C2414 mov edi,[esp+0x14]

如果你编写的是x64指令:

λ nasm -f win64 a.asm -l a.lst
>nasm --help
Usage: nasm [-@ response_file] [options...] [--] filename
nasm -v (or --v) Options (values in brackets indicate defaults): -h show this text and exit (also --help)
-v (or --v) print the NASM version number and exit
-@ file 响应文件; 每行一个命令行选项 -o outfile 将输出写入输出文件
--keep-all 即使发生错误也不会删除输出文件 -Xformat 指定错误报告格式(gnu或vc)
-s 将错误消息重定向到stdout
-Zfile 将错误消息重定向到文件 -M 在stdout上生成Makefile依赖项
-MG d:o, 假定丢失的文件已生成
-MF file 设置Makefile依赖文件
-MD file assemble and generate dependencies
-MT file 依赖目标名称
-MQ file 依赖关系目标名称(带引号)
-MP 发出虚假目标 -f format 选择输出文件格式
bin 平面原始二进制文件(MS-DOS,嵌入式,...)[默认]
ith Intel Hex编码的平面二进制
srec 摩托罗拉S记录编码的平面二进制
aout Linux a.out
aoutb NetBSD/FreeBSD a.out
coff COFF(i386)(DJGPP,某些Unix变体)
elf32 ELF32 (i386) (Linux,大多数Unix变体)
elf64 ELF64 (x86-64) (Linux,大多数Unix变体)
elfx32 ELFx32 (ELF32 for x86-64) (Linux)
as86 as86(bin86 / dev86工具链)
obj 特尔/微软OMF(MS-DOS,OS / 2,Win16)
win32 Microsoft扩展了Win32的COFF(i386)
win64 Microsoft为Win64(x86-64)扩展了COFF
rdf 可重定位动态对象文件格式v2.0
ieee IEEE-695(LADsoft变体)目标文件格式
macho32 Mach-O i386(Mach,包括MacOS X及其变体)
macho64 Mach-O x86-64(Mach,包括MacOS X及其变体)
dbg 跟踪传递到输出阶段的所有信息
elf “elf32”的旧别名
macho “macho32”的旧别名
win “win32”的旧别名 -g 生成调试信息
-F format 选择调试格式(取决于输出格式)
-gformat 与-g -F格式相同
elf32: dwarf ELF32 (i386) dwarf (newer) [default]
stabs ELF32 (i386) stabs (older)
elf64: dwarf ELF64 (x86-64) dwarf (newer) [default]
stabs ELF64 (x86-64) stabs (older)
elfx32: dwarf ELFx32 (x86-64) dwarf (newer) [default]
stabs ELFx32 (x86-64) stabs (older)
obj: borland Borland Debug Records [default]
win32: cv8 Codeview 8+ [default]
win64: cv8 Codeview 8+ [default]
ieee: ladsoft LADsoft Debug Records [default]
macho32: dwarf Mach-O i386 dwarf for Darwin/MacOS [default]
macho64: dwarf Mach-O x86-64 dwarf for Darwin/MacOS [default]
dbg: debug Trace of all info passed to debug stage [default] -l listfile 将列表写入列表文件
-Lflags... 将可选信息添加到列表文件
-Lb 显示内置宏程序包(标准和%use)
-Ld 显示字节并以十进制而不是十六进制重复计数
-Le 显示预处理的输出
-Lf 忽略.nolist(强制输出)
-Lm 显示带有扩展参数的多行宏调用
-Lp 每过一次输出一个列表文件,以防出错
-Ls 显示所有单行宏定义
-Lw 每行之后刷新输出
-L+ 启用所有列表选项(非常详细!) -Oflags... 优化操作码,立即数和分支偏移
-O0 没有优化
-O1 最小优化
-Ox 多遍优化(默认)
-Ov 显示最后执行的通过次数
-t 以受限的SciTech TASM兼容模式组装 -E (or -e) 仅预处理(默认情况下将输出写入标准输出)
-a 不要预处理(仅assemble)
-Ipath 将路径名添加到包含文件路径
-Pfile 预包含文件(--include)
-Dmacro[=str] 预定义宏
-Umacro 取消定义宏
--pragma str 预执行特定的 %%pragma
--before str 在输入之前添加行(通常是预处理程序语句)
--no-line 忽略输入中的%line指令 --prefix str 将给定的字符串添加到所有extern的名称之前,
通用符号和全局符号(--gprefix)
--suffix str 将给定的字符串附加到所有extern的名称中,
通用符号和全局符号(--gprefix)
--lprefix str 将给定的字符串放在本地符号之前
--lpostfix str 将给定的字符串附加到本地符号 -w+x 启用警告x(-Wx)
-w-x 禁用警告x(-Wno-x)
-w[+-]error 宣传所有错误警告 (-Werror)
-w[+-]error=x 将警告x提升为错误 (-Werror=x)
all 所有可能的警告
bnd 无效的BND前缀[on]
db-empty 没有用于数据声明的操作数[on]
environment 不存在的环境变量[on]
float 所有带有“ float-”前缀的警告
float-denorm 浮点异常[关闭]
float-overflow 浮点溢出[on]
float-toolong 浮点数中的位数过多[on]
float-underflow 浮点下溢[关闭]
hle 无效的HLE前缀[on]
label 所有带有“ label-”前缀的警告
label-orphan 仅在行上加上标签,而不能在末尾加上“:”
label-redef 标签重新定义为相同的值[off]
label-redef-late label(在代码生成过程中重新定义) [error]
lock 可解锁指令上的LOCK前缀 [on]
macro 所有带有前缀的警告 "macro-"
macro-defaults 具有比可选参数更多默认值的宏 [on]
macro-params 所有带有前缀的警告 "macro-params-"
macro-params-legacy 不正确地调用多行宏以获得旧版支持 [on]
macro-params-multi 参数计数错误的多行宏调用 [on]
macro-params-single 参数计数错误的单行宏调用 [on]
negative-rep 常规%rep计数 [on]
number-overflow 数值常数不适合 [on]
obsolete 所有带有前缀的警告 "obsolete-"
obsolete-nop 指令已过时,并且是目标CPU上的noop [on]
obsolete-removed 指令已过时并已在目标CPU上删除 [on]
obsolete-valid 指令已过时,但在目标CPU上有效 [on]
phase 稳定期间的相位误差 [off]
pragma 所有带有前缀的警告 "pragma-"
pragma-bad 格式错误的%pragma [off]
pragma-empty 空%pragma指令 [off]
pragma-na %pragma不适用于此编译 [off]
pragma-unknown 未知的%pragma工具或指令 [off]
ptr 其他汇编程序中使用的非NASM关键字 [on]
regsize 寄存器大小规格被忽略 [on]
unknown-warning -W / -w或警告指令中的未知警告 [off]
user %warning指令 [on]
warn-stack-empty 警告堆栈为空 [on]
zeroing 初始化节中的RESx变为零 [on]
zext-reloc 重定位零扩展以匹配输出格式 [on]
other 上面没有特别提到的任何警告 [on] --limit-X val 设定执行极限X
passes 总通过次数[不限]
stalled-passes 没有前进的通过次数[1000]
macro-levels 宏扩展级别[10000]
macro-tokens tokens processed during single-lime macro expansion [10000000]
mmacros 最后返回之前的多行宏 [100000]
rep %rep count [1000000]
eval expression evaluation descent [8192]
lines 总处理的源代码行 [2000000000]

asm 查看字节码的更多相关文章

  1. AutoRegister ASM AOP 字节码 案例 原理 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  2. python查看字节码

    查看字节码可以帮助我们更好的理解python的执行流程 查看字节码列表 import opcode for op in range(len(opcode.opname)): print('0x%.2X ...

  3. 001-Eclipse、idea集成javap查看字节码、javap说明

    一.概述 分析java语言特性的一个好帮手是使用javap工具查看java编译后的字节码,如何在eclipse中配置javap工具快速查看java字节码. 二.Eclipse集成javap查看字节码 ...

  4. 【synchronized锁】通过synchronized锁 反编译查看字节码指令分析synchronized关键字修饰方法与代码块的区别

    前提: 首先要铺垫几个前置的知识: Java中的锁如sychronize锁是对象锁,Java对象头中具有标识位,当对象锁升级为重量级锁时,重量级锁的标识位会指向监视器monitor, 而每个Java对 ...

  5. Intellij IDEA中查看字节码

    首先安装插件,这俩都勾上 Intellij IDEA 直接集成了一个工具菜单,可以直接查看字节码,打开 ByteCode 插件窗口方法如下:

  6. idea 查看字节码 bytecode插件 (jclasslib Bytecode Viewer、ASM Bytecode Viewer )

    文章目录 jclasslib Bytecode Viewer ASM Bytecode Viewer jclasslib Bytecode Viewer 然后重启idea===>重新编译(构建项 ...

  7. Eclipse集成javap查看字节码

    分析java语言特性的一个好帮手是使用javap工具查看java编译后的字节码,楼主今天在学习java泛型中的桥方法时遇到一些不解,想到javap这个好工具可以帮助解答一些疑惑,索性就捣鼓如何在ecl ...

  8. eclipse中查看字节码

    1:在线安装ByteCode插件 打开Eclipse Go to"Help -> Install new Software... -> Work with:"中选择By ...

  9. IDEA 查看字节码

    参考:https://www.jianshu.com/p/18953ec8c0b7 打开工具栏 输入参数: 参数: $JDKPath$\bin\javap.exe -c $FileClass$ $Ou ...

随机推荐

  1. Excel常见后缀名

    1.格式.xlsx:excel2007-2016版默认的文件格式,不能有宏: 2.格式.xls:excel97-2003版,可以有宏: 3.格式.csv:以逗号分隔的文本文件,便于兼容其他程序,只保存 ...

  2. Spark高级数据分析——纽约出租车轨迹的空间和时间数据分析

    Spark高级数据分析--纽约出租车轨迹的空间和时间数据分析 一.地理空间分析: 二.pom.xml 原文地址:https://www.jianshu.com/p/eb6f3e0c09b5 作者:II ...

  3. Flink-v1.12官方网站翻译-P014-Flink Architecture

    Flink架构 Flink是一个分布式系统,为了执行流式应用,需要对计算资源进行有效的分配和管理.它集成了所有常见的集群资源管理器,如Hadoop YARN.Apache Mesos和Kubernet ...

  4. PTA 乙 1002

    1002 写出这个数 题目描述 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10^1 ...

  5. CF - 392 C. Yet Another Number Sequence (矩阵快速幂)

    CF - 392 C. Yet Another Number Sequence 题目传送门 这个题看了十几分钟直接看题解了,然后恍然大悟,发现纸笔难于描述于是乎用Tex把初始矩阵以及转移矩阵都敲了出来 ...

  6. P2801 教主的魔法 (分块)

    题目传送 长度为\(n(n\le 1000000)\)的数组,\(q(q\le 3000)\) 次操作.修改操作即将某个区间的值增加某个不大于1000的值,查询操作即查询某个区间比C大于等于的数有多少 ...

  7. 1151 LCA in a Binary Tree

    The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has both U ...

  8. uva10891 Game of Sum(博弈+区间dp+优化)

    题目:点击打开链接 题意:两个人做游戏,共有n个数,每个人可以任选一端取任意多连续的数,问两个人都想拿最多的情况下,先手最多比后手多拿多少分数. 思路:这题一开始想到的是用dp[i][j]表示区间[i ...

  9. Strategic game POJ - 1463 树型dp

    //题意:就是你需要派最少的士兵来巡查每一条边.相当于求最少点覆盖,用最少的点将所有边都覆盖掉//题解://因为这是一棵树,所以对于每一条边的两个端点,肯定要至少有一个点需要放入士兵,那么对于x-&g ...

  10. K8S(06)web管理方式-dashboard

    K8S的web管理方式-dashboard 目录 K8S的web管理方式-dashboard 1 部署dashboard 1.1 获取dashboard镜像 1.1.1 获取1.8.3版本的dsash ...