- 浏览: 1478488 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
在windows下
在装了F:\c\MinGW\lib的情况下
masm,nasm,gas,
test_win.s
这里用到了c运行时的main,exit,printf函数,因为win32的原因多加了个下划线
3.编译
-gstabs保留了调试相关的符号表
-LF:/c/MinGW/lib -lcrtdll链接了c运行时,注意mingw路径是我机器上的
调试
另外查看寄存器可用"i r"指令
★★★★★★★★★★★★★★★★★★
com版本的hello world
test.s
[另外如果跳过第二部exe生成,直接从.o生成.com也是可以运行的,不过对比发现有1bit的异常引起了输出字符的乱码
具体原因我就不去纠结的探索了,如果修改了那一比特,字符显示就正常了]
另外链接时的-Ttext 0x0100也可以用如下lds文件来控制
SECTIONS
{
. = 0x0100;
.text : {*(.text)}
}
同时链接时的选项应该为-Ttest.lds
此时如果ls -l一下会发现有将近4k之巨,这是因为填充了很多的0,用HxD这样的软件把结尾的0
给干掉再看其大小
参考http://www.cnblogs.com/pingf/archive/2011/03/09/1978263.html
在装了F:\c\MinGW\lib的情况下
masm,nasm,gas,
test_win.s
.section .data out_text: .asciz "hello world" .section .text .globl _main _main: pushl $out_text call _printf pushl $0 call _exit
这里用到了c运行时的main,exit,printf函数,因为win32的原因多加了个下划线
3.编译
as test_win.s -o test_win.o -gstabs ld test_win.o -o test_win.exe -LF:/c/MinGW/lib -lcrtdll
-gstabs保留了调试相关的符号表
-LF:/c/MinGW/lib -lcrtdll链接了c运行时,注意mingw路径是我机器上的
调试
gdb test_win.exe l b 5 r i r
另外查看寄存器可用"i r"指令
★★★★★★★★★★★★★★★★★★
com版本的hello world
test.s
.code16 .text movw %cs, %ax movw %ax, %ds movw %ax, %es movw %ax, %ss movw $11, %cx movw $0x1301,%ax movb $0x07,%bl movw $0,%dx movw $outstring,%bp int $0x10 jmp . outstring: .asciz "hello world"
注意.code16是很有必要的 (2)编译 as test.s -o test.o ld test.o -Ttext 0x0100 -o test.exe objcopy.exe -R .pdr -R .comment -R .note -S -O binary test.exe test.com 最后的objcopy将编译后的按binary输出成.com格式的
[另外如果跳过第二部exe生成,直接从.o生成.com也是可以运行的,不过对比发现有1bit的异常引起了输出字符的乱码
具体原因我就不去纠结的探索了,如果修改了那一比特,字符显示就正常了]
另外链接时的-Ttext 0x0100也可以用如下lds文件来控制
SECTIONS
{
. = 0x0100;
.text : {*(.text)}
}
同时链接时的选项应该为-Ttest.lds
此时如果ls -l一下会发现有将近4k之巨,这是因为填充了很多的0,用HxD这样的软件把结尾的0
给干掉再看其大小
参考http://www.cnblogs.com/pingf/archive/2011/03/09/1978263.html
发表评论
-
xl2tp 备份
2019-09-24 16:25 6962019年9月24日更新: 注意,需要开启firewall ... -
sdl笔记
2019-01-31 17:19 733sdl教程教程 https://github.com/Twin ... -
tinyemu
2019-01-24 17:59 1433参考https://bellard.org/jslinux/t ... -
aws搭建xl2tp给iphone使用
2018-12-26 21:37 18922019年12月26日 可以参考原来的配置 https:// ... -
consul的基本使用
2017-06-27 11:13 1403### 安装 [centos7上consul的安装](ht ... -
lvs的helloworld
2017-06-13 20:36 597###################lvs######### ... -
系统调用的helloworld
2017-05-04 16:14 637《2.6内核标准教程》 p293 #include < ... -
bitcoin和cgminer的安装
2017-04-05 22:45 1959参考 http://blog.csdn.net/rion_ch ... -
ceph安装和常用命令
2017-03-21 21:55 955/etc/hosts ssh-keygen ssh-copy- ... -
mobile terminal 笔记
2016-12-02 15:35 628找出旧的iphone4 越狱之后可以变个小操作系统 mobi ... -
socket基础和select(python)
2016-06-14 17:21 1803上接 c语言的socket基础ht ... -
socket基础(c语言)
2016-06-14 16:45 996不使用select 普通的基础socket连接,对多个客户端的 ... -
ffmpeg+nginx 的直播(2,直播摄像头和麦克风)
2016-05-28 20:21 4363假设我的服务器是centos7 192.168.139.117 ... -
ffmpeg+nginx 的直播(1,直播播放的视频文件)
2016-05-26 17:11 659764位操作系统centos7 ############ 1.一 ... -
socat和netcat(nc)
2016-04-29 22:36 1748转 原文链接: http://www.wenquan.name ... -
neutron基础九(qemu nat网络)
2016-02-06 17:21 1622接上基础八,kvm透传nested忽略 1.在主机ce ... -
neutron基础八(qemu 桥接网络)
2016-02-06 13:13 1544qemu的桥接和nat的qemu启动命令是一样的,但是后续的脚 ... -
neutron基础七(qemu tap)
2016-02-02 17:02 1030使用qemu 建立个虚拟机 然后用tap设备, 根据基础六,t ... -
neutron基础六(bridge fdb)
2016-01-28 18:30 2268转发表 在三台机器上建立三个namespace 192.16 ... -
南北流量
2016-01-23 23:26 1829一、三层网络架构: 接入层:负责服务器的接入和隔离 汇聚层:汇 ...
相关推荐
汇编语言第一个入门程序,helloworld的asm格式文档
根据给定的文件信息,我们可以总结出以下关于“汇编语言实现输出HelloWorld”的相关知识点: ### 汇编语言简介 汇编语言是一种低级编程语言,它为每种类型的计算机提供了一对一的机器指令映射。汇编语言程序通常由...
汇编编写hello world,供学习和交流使用,希望大家喜欢
在`HelloWorld.asm`中,我们可能会看到类似以下的代码片段,用于打印"Hello, World!": ```assembly section .data hello db 'Hello, World!',0 section .text global _start _start: ; 设置段寄存器 mov ax,...
第一个汇编程序-Hello World 调用MessageBoxA弹出对话框
在这里,我们将深入探讨如何使用汇编语言在DOS环境下编写和运行一个"Hello, World!"程序。 首先,我们有两个汇编源文件,`boot.asm`和`hello.asm`。`boot.asm`通常是引导加载器,负责将程序加载到内存并启动执行。...
标题“MASM_masmhellloworld_汇编语言helloworld_”揭示了我们要讨论的主题,即使用Microsoft Macro Assembler(MASM)编写一个简单的“Hello, World!”程序。这是一个经典的编程入门示例,用于演示基本的汇编语言...
当我们编写一个简单的"Hello World"程序并运行它时,背后涉及到一系列的底层操作,包括编译、汇编和执行等步骤。这里我们将深入探讨"Hello World"程序在C++中的最小指令集、汇编器和编译器的工作原理。 1. **最小...
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` JavaScript 在浏览器环境中可以这样写: ```javascript console.log("Hello, World!"); `...
我用过的最好的16位汇编编译软件,是以前别人用scite做的,现在网上好像搜不到,拿出来跟大家分享,对于自己学习DOS环境下汇编知识有很大帮助。 *解压可用免安装。 *可以分步调试,清楚的观察到所有寄存器和标志位的...
用x86汇编写的环境搭建的测试程序。如果输出“Hello World!”那么就表示环境搭建成功。大家可以下载尝试一下。
从一个简单的hello,world程序开始,经过预处理、编译、汇编、链接、加载各个步骤详细介绍程序从编辑到执行的过程。深入的讲解了linux下程序的编译过程,并且讲解了linux kernel系统调用的相关知识。
本篇将详细探讨由标题“汇编HelloWorld源码程序来源网络”所引出的知识点,以及描述中提及的在MASM6.11 XP环境下调试通过的情况。 首先,让我们从基础开始。"Hello, World!"程序是初学者接触编程时的典型例子,它在...
标题“asm_helloworld_world_”暗示我们关注的焦点是一个用汇编语言编写的“Hello, World!”程序。在计算机科学的教育中,"Hello, World!"通常被用作初次接触新编程语言时编写的第一个程序,它能快速验证编译器和...
本文将深入探讨一个基于汇编语言的简单消息框源程序——"hello world!",它是一个常见的入门级示例,适用于初学者理解和学习。 首先,"hello world!"程序是每个程序员接触编程时的首个例子,它在屏幕上打印出...
在8086汇编语言编程环境中,"变幻七彩HELLO WORLD!"是一个独特的程序示例,它展示了如何在单色屏幕上实现颜色变换的效果。这个程序的核心在于使用特定的指令序列来改变屏幕上的文本颜色,从而达到“变幻七彩”的...
山东大学微处理器原理实验1.1工程文件 汇编程序 HelloWorld 详解博客地址:https://blog.csdn.net/m0_52316372/article/details/125664344
2. **编译**:GCC将源代码转换为汇编代码,然后再转换为目标文件(`.o`文件),这一步生成了`hello.o`。 3. **链接**:最后,GCC将目标文件与其他必要的库链接在一起,生成可执行文件(默认为`a.out`)。 在本例中...
本主题聚焦于一个特殊的汇编代码示例,即“pe_只有.text段的helloworld汇编代码”。这个程序被称为shellcode,因为它通常被用作在目标系统上执行的自包含代码片段。在PE(Portable Executable)格式的Windows可执行...