nasm简单用法和dd指令解析

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: nasm简单用法和dd指令解析

nasm简单用法和dd指令解析

nasm Netwide Assembler (简称 NASM)是一款基于x86架构的汇编与反汇编软件。它可以用来编写16位(8086、80286等)、32位(IA-32)和64位(x86_64)的程序。 NASM被认为是Linux平台上最受欢迎的汇编工具之一。

用于将汇编程序编译成二进制文件。

nasm -f 〈filename> [-o ]

以上是nasm 的基本用法, 对咱们来说, 够用了。 注意我说的是 “基本”, 还有好多其他参数呢, 不过

咱们用不着。 甚至, 大多数时候连-f都不用呢。

-o 就是指定输出可执行文件的名称。

查看一下nsam的帮助, ok, 执行mannasm 回车, 输出的信息、太多了, 我们只看-f的说明就就行了。

-f format

Specifies the output file format

To see a list of valid output formats, use the -hf option.


Linux dd 命令用于读取、转换并输出数据。

dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

if=文件名:输入文件名,默认为标准输入。即指定源文件。

of=文件名:输出文件名,默认为标准输出。即指定目的文件。

ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。

obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。

bs=bytes:同时设置读入/输出的块大小为bytes个字节。

cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。

skip=blocks:从输入文件开头跳过blocks个块后再开始复制。

seek=blocks:从输出文件开头跳过blocks个块后再开始复制。

count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

conv=<关键字>,关键字可以有以下11种:

conversion:用指定的参数转换文件。

ascii:转换ebcdic为ascii

ebcdic:转换ascii为ebcdic

ibm:转换ascii为alternate ebcdic

block:把每一行转换为长度为cbs,不足部分用空格填充

unblock:使每一行的长度都为cbs,不足部分用空格填充

lcase:把大写字符转换为小写字符

ucase:把小写字符转换为大写字符

swap:交换输入的每对字节

noerror:出错时不停止

notrunc:不截短输出文件

sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

–help:显示帮助信息

–version:显示版本信息


if=E工LE .

read from FILE instead of stdin′

此项是指定要读取的文件。

of=官工LB _

write to FILE instead Of .st’dout

此项是指定把数据输出到哪个文件。`

bS=BYTEs′

read and write BYTES bytes at a time (also see ibs=, obS=)

此项指定块的大小, dd是以块为单位来进行I0操作的, 得告诉人家块是多大字节。 此项是统计配置

了输入块大小ibs 和输出块大小obs。 这两个可以单独配I。

count=BLOCKS

copy only BLOCKS input blocks

此项是指定拷贝的块数。

′ seek=BLOCKS

skip BLOCKS obs-sized blocks at start of output

此项是指定当我们把块输出到文〈牛时想要跳过多少个块

convert the file as per the comma separated symbol list

此项是指定如何转换文件。

_ append append {node (m卓kes sense only for output; conv=notrunc suggested)

这句话建议在追加数据时, conv最好用 notrunc方式也就是不打断文件.

齐了, dd 的介绍就到这了, 赶紧试验一下这个神奇的工具吧

dd if=/your_path/mbr. bin of=/your_path/bochs/hd60.img bs=512 count=1 conv=notrunc


目录
相关文章
|
22天前
|
前端开发 JavaScript 安全
javascript:void(0);用法及常见问题解析
【6月更文挑战第3天】JavaScript 中的 `javascript:void(0)` 用于创建空操作或防止页面跳转。它常见于事件处理程序和超链接的 `href` 属性。然而,现代 web 开发推荐使用 `event.preventDefault()` 替代。使用 `javascript:void(0)` 可能涉及语法错误、微小的性能影响和XSS风险。考虑使用更安全的替代方案,如返回 false 或箭头函数。最佳实践是保持代码清晰、安全和高性能。
33 0
|
10天前
|
Java 开发者 Spring
深入解析这两种扩展机制的工作原理和用法
深入解析这两种扩展机制的工作原理和用法
|
1月前
|
算法 编译器 开发者
CMake参数解析cmake_parse_arguments 的参数用法
CMake参数解析cmake_parse_arguments 的参数用法
75 2
|
2天前
|
JavaScript 前端开发 API
Vue核心指令解析:探索MVVM与数据操作之美
Vue核心指令解析:探索MVVM与数据操作之美
|
1月前
|
监控 Linux 数据处理
|
1月前
|
Java
Java多线程基础-7:wait() 和 notify() 用法解析
这篇内容探讨了Java中的`wait()`和`notify()`方法在多线程编程中的使用。
23 0
|
1月前
|
开发框架 .NET
【期末不挂科-单片机考前速过系列P4】(第四章:32题搞定基本指令例题)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P4】(第四章:32题搞定基本指令例题)经典例题盘点(带图解析)
|
1月前
|
存储 Unix Linux
Linux:指令篇(深度解析+使用)
Linux:指令篇(深度解析+使用)
102 3
|
1月前
|
算法 编译器 C++
【C++ 泛型编程 进阶篇】:C++ 元模版编程 typename关键字的多种用法全解析
【C++ 泛型编程 进阶篇】:C++ 元模版编程 typename关键字的多种用法全解析
54 0
|
1月前
|
存储 安全 程序员
【C++ 包装器类 智能指针】完全教程:std::unique_ptr、std::shared_ptr、std::weak_ptr的用法解析与优化 — 初学者至进阶指南
【C++ 包装器类 智能指针】完全教程:std::unique_ptr、std::shared_ptr、std::weak_ptr的用法解析与优化 — 初学者至进阶指南
122 0

热门文章

最新文章

推荐镜像

更多