惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
Recorded Future
Recorded Future
Microsoft Azure Blog
Microsoft Azure Blog
M
MIT News - Artificial intelligence
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
博客园 - 司徒正美
Stack Overflow Blog
Stack Overflow Blog
Simon Willison's Weblog
Simon Willison's Weblog
爱范儿
爱范儿
D
Darknet – Hacking Tools, Hacker News & Cyber Security
V
Visual Studio Blog
H
Help Net Security
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
B
Blog RSS Feed
美团技术团队
G
GRAHAM CLULEY
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
腾讯CDC
G
Google Developers Blog
Cyberwarzone
Cyberwarzone
T
Tenable Blog
A
About on SuperTechFans
WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
L
Lohrmann on Cybersecurity
C
Cisco Blogs
K
Kaspersky official blog
Recent Announcements
Recent Announcements
Vercel News
Vercel News
C
Cybersecurity and Infrastructure Security Agency CISA
有赞技术团队
有赞技术团队
P
Privacy & Cybersecurity Law Blog
Hugging Face - Blog
Hugging Face - Blog
S
Schneier on Security
Apple Machine Learning Research
Apple Machine Learning Research
Cloudbric
Cloudbric
Scott Helme
Scott Helme
Google Online Security Blog
Google Online Security Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Attack and Defense Labs
Attack and Defense Labs
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
D
Docker
U
Unit 42
S
Security @ Cisco Blogs

姓王者的博客

Linux用户Secure Boot自主维护指南 | 姓王者的博客 MAD Bugs 已经开始——关于信息安全的军备竞赛 | 姓王者的博客 解决钉钉Dingtalk无法在Linux新版内核上启动问题-修复可执行栈错误 | 姓王者的博客 突发:GitHub 正遭受大规模 Issue 赌博广告轰炸 | 姓王者的博客 Ubuntu26.04-beta体验:坚毅浣熊! | 姓王者的博客 fakeclaw装作龙虾发贴吧 | 姓王者的博客 找回12年前的QQ记忆 | 姓王者的博客 在Linux上玩Flash网页游戏-洛克王国 | 姓王者的博客 Copilot将使用交互数据来训练 | 姓王者的博客 重要通知-请更新我的GPG公钥 | 姓王者的博客 为了自由Android | 姓王者的博客 GPL"2,3"事 | 姓王者的博客 短文-对VitePlus的一点🤏小贡献 | 姓王者的博客 Bing收录没了?亲测有效的快速恢复指南 | 姓王者的博客 解决桌面设备二维码快速识别的工具-ClipQR | 姓王者的博客 解决 Nautilus 自定义终端插件安装依赖问题 | 姓王者的博客 OpenClaw 该熄火了 | 姓王者的博客 Vite8 - 统一的基建开始 | 姓王者的博客 Astro 6 推出啦 | 姓王者的博客 ubuntu的openvpn异常暂停推送更新 | 姓王者的博客 Ubuntu 24.04 安装 Win10 虚拟机 | 姓王者的博客 ESA-后记:热爱阿里云 | 姓王者的博客 Moonbit 0.8.0 重大发布,我也要改一下我的包 | 姓王者的博客 ESA Pages 边缘开发大赛获奖 | 姓王者的博客 Astro: 优化katex,mermaid和灯箱使用 | 姓王者的博客 从edgeone迁移到esa | 姓王者的博客 出租人类:AI时代的荒诞与真实 | 姓王者的博客 Astro 5.17构建性能优化实践:从18s到13s | 姓王者的博客 Moonbit License Checker 开发使用 | 姓王者的博客 Stalux Astro博客主题自荐 | 姓王者的博客 把Hexo永久链接迁移到Astro | 姓王者的博客 再见👋 LeanCloud | 姓王者的博客 2025年终总结 | 姓王者的博客 许可合规-fancybox | 姓王者的博客 博客主题的软著下来了 | 姓王者的博客 友链图谱 - 汇聚千丝万缕的联系 | 姓王者的博客 chen-er 专为Chen式ER图打造的npm包 | 姓王者的博客 为什么我推荐你使用GPG来加密你的邮件 | 姓王者的博客 2025第三方客户端登录东北大学邮箱 | 姓王者的博客 好久没更新了,过去与未来 | 姓王者的博客 1024 重要的日子 | 姓王者的博客 再也不见Windows10 | 姓王者的博客 偷梁换柱,解决Ubuntu24.04安装Packet Tracer缺失依赖问题 | 姓王者的博客 中秋-来试试Moonbit吧 | 姓王者的博客 Obsidian使用体验 | 姓王者的博客 猪猪侠·一只老猪的逆袭 | 姓王者的博客 国庆日纪念 | 姓王者的博客 GNU 42周年,AI时代的自由精神 | 姓王者的博客 解决Linux上启动游戏总是默认English的情况 | 姓王者的博客 7x24:运维使命 | 姓王者的博客 Tauri2.x实现系统菜单导航Vue路由 | 姓王者的博客 计算机图形学-基本图形生成算法 | 姓王者的博客 数据库原理-关系数据 | 姓王者的博客 数据库原理-设计技巧 | 姓王者的博客 数据库原理E-R模型 | 姓王者的博客 旧忆 - 我曾玩过的游戏 | 姓王者的博客 再谈自由软件 | 姓王者的博客 可能解决Tauri多窗口应用阻塞问题 | 姓王者的博客 Xingwangzhe! Z-Library We miss you and we need your help | 姓王者的博客 计算机组成原理第二章 - 定点数与浮点数 | 姓王者的博客 计算机组成原理第一章 | 姓王者的博客 不小心写死循环窗口弹出了 | 姓王者的博客 美化Grub界面 | 姓王者的博客 计算机图形学-图形的表示与数据结构 | 姓王者的博客 计算机图形学绪论 | 姓王者的博客 为什么说,大学教育与社会脱节 | 姓王者的博客 VSCode Remote 远程连接服务器记录 | 姓王者的博客 解决Tauri2.x拖拽事件问题 | 姓王者的博客 新学期第一课《计算机图形学》报告 | 姓王者的博客 Tauri在GNOME46+上通知无效的临时解决方法 | 姓王者的博客 窃文者:未经授权转载我文章 | 姓王者的博客 GPG公钥分享文化 | 姓王者的博客 解决在ubuntu上,打包vscode插件问题 | 姓王者的博客 伪造squaremap的玩家显示 | 姓王者的博客 爆,沉浸式翻译泄露敏感信息 | 姓王者的博客 读书:《Free as in Freedom》——若为自由故 | 姓王者的博客 首页文章列表懒加载优化 | 姓王者的博客 Ubuntu 24.04 安装 Vivado 2018.3 | 姓王者的博客 腾讯Edgeone免费版体验 | 姓王者的博客 在 Ubuntu 上实现 Thetis FIDO U2F 密钥登录 | 姓王者的博客 Thetis物理密钥,为什么我们应该使用物理密钥 | 姓王者的博客 高考生过来看!教你精准转换录取位次! | 姓王者的博客 ubuntu无法访问windows磁盘问题 | 姓王者的博客 收信有感,防范钓鱼邮件 | 姓王者的博客 自由不止软件-记录一次zlib上传书籍 | 姓王者的博客 时隔两年,通关夺命邮差2 | 姓王者的博客 博客一周年了,竟然坚持了下来 | 姓王者的博客 Minecraft大电影:不建不散! | 姓王者的博客 是时候了解docker了! | 姓王者的博客 编译原理:LL(1)文法 | 姓王者的博客 编译原理:文法转换 | 姓王者的博客 离散数学:子群的陪集及拉格朗日定理 | 姓王者的博客 离散数学:半群,独异点 | 姓王者的博客 《人工智能生成合成内容标识办法》与个人博客--我们应该做什么? | 姓王者的博客 通识学习:形式语言与自动机,布尔代数与数进制 | 姓王者的博客 Webmapview:一个我的世界内置网页地图浏览Fabric模组 | 姓王者的博客 海岛机器人农场试玩 | 姓王者的博客 正则表达式学习 | 姓王者的博客 抓取个人博客文章目录到github主页 | 姓王者的博客 制作github贪吃蛇贡献图 | 姓王者的博客
汇编语言程序设计:用vscode配置环境,简单命令 | 姓王者的博客
作者:xingwangzhe · 2025-03-23 · via 姓王者的博客

🕒 阅读时间:2 分钟 📝 字数:674 👀 阅读量: Loading...

试了一下,老师发的那个用起来真不习惯,但老师说可以自行配置编译环境,能跑就行

配置编译环境

所以我想到了vscode,可以在vscode插件列表里找到相关的插件masm-tasm

2025-03-23-164031

要改一下这个插件的设置 2025-03-23-164503 改这两项就行了

简单的命令操作

指令类型指令原始词功能描述
内存操作DDisplay/Dump查看内存内容
内存操作EEdit修改内存内容
反汇编UUnassemble机器码转汇编
执行控制GGo运行程序
执行控制TTrace单步执行程序
寄存器操作RRegister查看或修改寄存器
寄存器原始词描述
AXAccumulator数据存储与运算(累加器)
BXBase数据存储与运算(基址寄存器)
CXCounter数据存储与运算(计数器寄存器)
DXData数据存储与运算(数据寄存器)

内存操作指令

1. 查看内存(D 指令,Dump)

命令行会话​:

; 启动Debug后默认进入提示符

-d 100 ; 输入命令:查看地址100开始的内存

0B8D:0100 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

0B8D:0110 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

说明​:

  • dDump 的缩写
  • 输出格式:段地址:偏移地址 数据(十六进制)- ASCII码表示

2. 修改内存(E 指令,Enter)

命令行会话​:

-e 100 41 42 43 ; 输入命令:向地址100写入A(41)、B(42)、C(43)

-d 100 ; 再次查看验证

0B8D:0100 41 42 43 00 00 00 00 00-00 00 00 00 00 00 00 00 ABC.............

说明​:

  • eEnter 的缩写
  • 可连续输入多个字节(空格分隔)

二、反汇编指令

3. 机器码转汇编(U 指令,Unassemble)

命令行会话​:

-a 100 ; 先用A指令写入汇编代码

0B8D:0100 mov ax, 1234

0B8D:0103 add ax, bx

0B8D:0105 int 21h

-u 100 ; 输入命令:反汇编地址100的代码

0B8D:0100 B83412 MOV AX,1234

0B8D:0103 01D8 ADD AX,BX

0B8D:0105 CD21 INT 21

说明​:

  • uUnassemble 的缩写
  • 反汇编结果显示机器码(十六进制)和对应的汇编指令

三、执行控制指令

4. 运行程序(G 指令,Go)

命令行会话​:

-r ax ; 查看初始AX值

AX=0000

-g=100 105 ; 输入命令:从100运行到105(断点)

AX=1234 ; 运行后AX的值

说明​:

  • gGo 的缩写
  • 格式:g=起始地址 结束地址=可省略

5. 单步执行(T 指令,Trace)

命令行会话​:

-t ; 输入命令:执行当前IP指向的指令

AX=1234 IP=0103 ; 执行完MOV AX,1234后,IP指向下一条指令

-t ; 再次单步执行

AX=1234+BX值 IP=0105 ; 执行ADD AX,BX

说明​:

  • tTrace 的缩写
  • 每执行一条指令,自动显示寄存器变化

四、寄存器操作指令

6. 修改寄存器(R 指令,Register)

命令行会话​:

-r bx ; 输入命令:查看并修改BX寄存器

BX=0000

:1122 ; 输入新值(十六进制)

-r ; 查看所有寄存器

AX=1234 BX=1122 CX=0000 DX=0000 ...

说明​:

  • rRegister 的缩写
  • 直接输入r显示所有寄存器,输入r 寄存器名可修改指定寄存器

五、完整调试流程示例

目标​:计算 1234h + 5678h 并存入 AX ​命令行会话​:

; 1. 写入汇编代码

-a 100

0B8D:0100 mov ax, 1234

0B8D:0103 mov bx, 5678

0B8D:0106 add ax, bx

0B8D:0108 hlt

; 2. 反汇编验证

-u 100

0B8D:0100 B83412 MOV AX,1234

0B8D:0103 BB7856 MOV BX,5678

0B8D:0106 01D8 ADD AX,BX

0B8D:0108 F4 HLT

; 3. 单步执行

-t 4 ; 执行4条指令(含HLT)

AX=68AC ; 结果:1234+5678=68AC

注意​:

  1. 命令行提示符为-(Debug 工具默认)
  2. 十六进制数无需加后缀(默认十六进制)
  3. Enter键执行命令,按Ctrl+C退出 Debug