汇编语言程序设计:用vscode配置环境,简单命令
发布时间:
更新时间:
试了一下,老师发的那个用起来真不习惯,但老师说可以自行配置编译环境,能跑就行
配置编译环境
所以我想到了vscode,可以在vscode插件列表里找到相关的插件masm-tasm

要改一下这个插件的设置
改这两项就行了
简单的命令操作
指令类型 | 指令 | 原始词 | 功能描述 |
---|---|---|---|
内存操作 | D | Display/Dump | 查看内存内容 |
内存操作 | E | Edit | 修改内存内容 |
反汇编 | U | Unassemble | 机器码转汇编 |
执行控制 | G | Go | 运行程序 |
执行控制 | T | Trace | 单步执行程序 |
寄存器操作 | R | Register | 查看或修改寄存器 |
寄存器 | 原始词 | 描述 |
---|---|---|
AX | Accumulator | 数据存储与运算(累加器) |
BX | Base | 数据存储与运算(基址寄存器) |
CX | Counter | 数据存储与运算(计数器寄存器) |
DX | Data | 数据存储与运算(数据寄存器) |
内存操作指令
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 ................
说明:
d
是Dump
的缩写- 输出格式:
段地址:偏移地址 数据(十六进制)- 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.............
说明:
e
是Enter
的缩写- 可连续输入多个字节(空格分隔)
二、反汇编指令
3. 机器码转汇编(U 指令,Unassemble)
命令行会话:
-a 100 ; 先用A指令写入汇编代码0B8D:0100 mov ax, 12340B8D:0103 add ax, bx0B8D:0105 int 21h-u 100 ; 输入命令:反汇编地址100的代码0B8D:0100 B83412 MOV AX,12340B8D:0103 01D8 ADD AX,BX0B8D:0105 CD21 INT 21
说明:
u
是Unassemble
的缩写- 反汇编结果显示机器码(十六进制)和对应的汇编指令
三、执行控制指令
4. 运行程序(G 指令,Go)
命令行会话:
-r ax ; 查看初始AX值AX=0000-g=100 105 ; 输入命令:从100运行到105(断点)AX=1234 ; 运行后AX的值
说明:
g
是Go
的缩写- 格式:
g=起始地址 结束地址
,=
可省略
5. 单步执行(T 指令,Trace)
命令行会话:
-t ; 输入命令:执行当前IP指向的指令AX=1234 IP=0103 ; 执行完MOV AX,1234后,IP指向下一条指令-t ; 再次单步执行AX=1234+BX值 IP=0105 ; 执行ADD AX,BX
说明:
t
是Trace
的缩写- 每执行一条指令,自动显示寄存器变化
四、寄存器操作指令
6. 修改寄存器(R 指令,Register)
命令行会话:
-r bx ; 输入命令:查看并修改BX寄存器BX=0000:1122 ; 输入新值(十六进制)-r ; 查看所有寄存器AX=1234 BX=1122 CX=0000 DX=0000 ...
说明:
r
是Register
的缩写- 直接输入
r
显示所有寄存器,输入r 寄存器名
可修改指定寄存器
五、完整调试流程示例
目标:计算 1234h + 5678h
并存入 AX
命令行会话:
; 1. 写入汇编代码-a 1000B8D:0100 mov ax, 12340B8D:0103 mov bx, 56780B8D:0106 add ax, bx0B8D:0108 hlt
; 2. 反汇编验证-u 1000B8D:0100 B83412 MOV AX,12340B8D:0103 BB7856 MOV BX,56780B8D:0106 01D8 ADD AX,BX0B8D:0108 F4 HLT
; 3. 单步执行-t 4 ; 执行4条指令(含HLT)AX=68AC ; 结果:1234+5678=68AC
注意:
- 命令行提示符为
-
(Debug 工具默认) - 十六进制数无需加后缀(默认十六进制)
- 按
Enter
键执行命令,按Ctrl+C
退出 Debug
留言评论