numpy elasticsearch primefaces camera angular ui router vue组件注册 angularjs视频教程 swift视频教程 bootstrap框架 jq获取第一个子元素 jq去空格 安卓小程序源码 ssr链接解析 mysql新建数据库 python高级 python环境配置 python库 python的str python教程 python模块下载 java实现 java中的正则表达式 java开发入门 java地址 java字符串替换 java的map java连接sql wps2011 rewritebase 梦幻西游手游助手 din字体 渐变事件 疯狂java 幽灵行动多少钱 php递归 arm体系结构与编程 脚本网站 头条视频解析 网络驱动 逗号的作用
当前位置: 首页 > 学习教程  > 编程语言

汇编入门(一):环境搭建

2021/2/13 20:22:29 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

汇编环境的搭建: 推荐的教材:王爽的《汇编语言》和《X86汇编,从实模式到保护模式》。 安装 nasm 来学习使用汇编语言 macOS:(需安装homebrew brew install nasmLinux下 apt-get install nasmWindows平台也可使用 nasm&#x…

汇编环境的搭建:

推荐的教材:王爽的《汇编语言》和《X86汇编,从实模式到保护模式》。

安装 nasm 来学习使用汇编语言

macOS:(需安装homebrew

brew install nasm

Linux下

apt-get install nasm

Windows平台也可使用 nasm,用法大同小异。

编写一段打印"hello world"的代码,若在macos或Linux下可

vim test.s

vim输入代码

msg: db "Hello World", 0x0a

global _main

_main:
    mov rax, 0x2000004
    mov rdi, 1
    mov rsi, msg
    mov rdx, 12
    syscall
    ret

mov rax, 0x2000001
mov rdi, 0
syscall
ret

执行命令:

nasm -f macho64 test.s
gcc -o test test.o
./test

即可打印“hello world”

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Q06b3uh-1613217760733)(/Users/wocaibujiaoquanmei/Library/Application Support/typora-user-images/image-20210213135738279.png)]

对于shell的使用此处不做赘述

此外,《汇编语言》中使用的Debug程序可用于追踪各寄存器中的数据,有需要也可以搭配使用,对于Windows下的使用非常简单,在cmd中输入 debug 即可使用Debug程序。

若macOS下需要使用到 debug可下载DOSBox,Debug工具,这里已经打包好了https://pan.baidu.com/s/1h-JWVbzSoEhIjWPGJxiorA 密码:kyo4

你可以新建一个文件夹,将DOSBox和Debug.exe放在同一个目录下

如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3i29XwfS-1613217760737)(/Users/wocaibujiaoquanmei/Library/Application Support/typora-user-images/image-20210213134642564.png)]

打开DOSBox,

输入

mount c ~/DOS

使该文件夹挂在DOS下的C盘

输入 C: 转到C盘下成功

后输入 debug即可使用debug程序,如图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-98P9JZ7F-1613217760738)(/Users/wocaibujiaoquanmei/Library/Application Support/typora-user-images/image-20210213135639354.png)]

关于Debug,此处也不展开,可自行百度


本文链接: http://www.dtmao.cc/news_show_700454.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?