当前位置: 首页 > 编程日记 > 正文

汇编语言第二课作业-实验1

Debug命令-摘自百度百科

A 汇编命令

功能: 将指令直接汇编成机器码输入到内存中。
说明: 用于小段程序的汇编及修改目标程序,所有输入的数字均采用十六进制, 用户装入内存的汇编语句是连续存放的,若没有指定地址,并且前面没有使用汇编命令,该语句被汇编到 CS:0100区域。
例A:>DEBUG
-a 0100
08F1:0100 MOV AH,09
08F1:0102 MOV DX,109
08F1:0105 INT 21H;
08F1:0107 INT 21H; <-XP下运行cmd debug时,应该是INT 20H,21H会出遇无效指令错误
08F1:0109 db 'May I help you $'
08F1:0115←离开a状态
-g ←运行
May I help you 运行结果
Program terminated normally表示运行正常

C比较命令

功能: 比较两内存区域中的内容是否相同,若不同则显示其地址和内容。
如:C4000:0 3F 100
就是用来比较4000:0000-4000:003F与DS:0100-DS:013F之间的内容:其显示格式如下:
内存地址1内含值1内含值2内存地址2
例:比较4000:0 3F 100内容的差异
-C4000:0 3F 100
4000:0000 64 43 08F1:0100
4000:0001 3E 69 08F1:0101 显示内容的差异处
4000:0002 78 FF 08F1:0102
……………………………………
如果要比较的范围在DS内,则 段地址不必指出:
如:-C 0 4 100;比较DS:0---DS:4与DS:100---DS:104
C命令的另一种格式如下:C地址1 L 长度 地址2
如:-C000:0 L4 0;由0000:0与与DS:0开始比较它同-C0000:0 3 0命令相等,显示结果如下:
0000:0000 8A C0 08F1:0000
0000:0001 10 20 08F1:0001 它们都比较4个字节
0000:0002 1C 00 08F1:0002
0000:0003 49 7F 08F1:0003

转储命令

* D[地址] 或D[起始地址][目的地址] 转储命令
功能: 以内存映象方式显示内存中的信息。
说明: 转储用左右两部分显示内存映象内容,左边以十六进制,右边以ASCⅡ字符显示,所有不可打印字符用句号(。)表示。每行显示16个字节的内容,在第八和第九个字节之间有一个 连字符 - 此命令隐含的 段地址为DS的值。若未指定起始地址,则D命令从显示的最后一个单元的下一个单元开始显示,若以前没有使用给D命令, 则从初使化的 段寄存器的内容,加上地址 偏移量 0100H 开始显示。
例:-d10,4f即为显示DS:4f的内容在D命令中如不指出段地址,则其默认为DS段。
如指明段地址,则从指明的段地址列出指定的范围
如:-dfff:00:0f
我们也可以指定长度来列出所需要内存内容
如:-d 100 L20即为显示由DS:100-DS:11F的内容,共20H个字节:
* E[地址] [字节串) 修改内存命令
功能: 从指定的地址开始修改内存值。
格式:E起始地址[数据行]
⑴用给定内容代替指定范围的单元内容
-E地址 内容表
例:-E100 41 42 43 44 48 47 46 45
-D 100,L08
08F1:0100 41 42 43 44 48 47 46 45 ABCDHGFE…
⑵逐个内存内容
例:-E 100:
08F1:0100 76 42 :42是操作员键入
此命令是将原100号内存内容76修改为42,用D命令可察看。
* F[地址范围] [字节或字节串] 填写命令
功能: 将要填写的字节或字节串填入由地址范围指定的存储器中。
例:-f100 120 61 62 63 64
-d100 11f
08F1:0100 61 62 63 64 61 62 63 64 -61 62 63 64 61 62 63 abcd abcd abcd abcd
08F1:0110 13 67 98 E3 C8 2E B3 B6 -03 21 AC 19 3121 4E 96 g……1…
如果数据行超出指定的范围,则填不下的数值会被忽略。
例:-f 100 107 41 43 43 44 45 46 47 48 49 4A 4B 4C 4D -d 100,lof
08F1:0100 41 42 43 44 45 46 47 64 -61 62 63 64 ABCDEFGdabcdabcd
由上例可看出,超出范围的数据被忽略
另外,F和E命令都可填入字符串:
如:-F 100 105 "MSDOS"
-d 100 l0f
08F1:0100 4D 53 44 4F 53 46 47 64 -61 62 63 64 MS DOS FGabcd abcd

G执行命令

功能: 执行正在调试的程序,当达到 断点时停止执行, 并且显示寄存器标志和下一条要执行的命令。
说明: 如果没有指定起始地址,那么当前指令地址由CS,IP寄存器的内容来决定,如果用户指定起始地址就从指定的起始地址开始执行。如果指定断点,当指令到达指令地址时停止执行,并显示各寄存器标志位的内容和下一条要执行的命令,最多允许用户设定10个断点。
例:A:\>debug tan.exe
-u:反编译成汇编语言程码
…………
. .
-g 100 指定 中断点
Program terminated normally:
另外:我们在DEBUG下可运行一个文件.EXE
如:A:\>debug tan.exe
-g
即可开始运行此程序,和在DOS下完全一样:
* H[数值][数值] 十六进制算术运算命令
功能: 分别显示两个十六进制数相加的和以及第一个数减去第二个数的差。
说明: 替用户完成简单的十六进制数的运算。
例:-h4538 5623
9B5B EF15

I命令

功能: 从指定的端口输入并显示(用十六进制)的一个字节。
例:-i70
F9;显示70端口的内容为F9
I命令可由80X86的64K个端口取数据

L命令

功能: 将一个文件或盘的绝对扇区装入存储器。
说明: 单个L命令能够装入的最大扇区数是 80H,其中盘号 0,1,2,3……分别代表 A,B,C,……出现读盘错,显示错误信息。
⑴格式1.L装入地址 驱动器名 起始扇区/扇区数
这种方式可把磁盘上指定 扇区范围的内容装入到 存储器从指定地址开始的区域中,在此外扇区编号引用逻辑/扇区的方式。
例:-L 100 0 01,将A驱的0扇区装至CS:100上
-d 100 10f
08F1:0100 EB 3C 90 3C 53 44 4F 53 -36 2E 32 32 02 01 01 00.L,MSDOS 6.22……
⑵格式2:L装入地址
这种方式可把指定文件装入内存,装入的文件可在进入DEBUG时指定亦可用N命令建立,格式为-n文件名:
例1 DEBUG tan.pas
-L 100
例2 DEBUG
-n tan.pas
-L 100
须知:L命令只能读取逻辑 扇区,不能读取 硬盘分区表
L命令中所用的磁盘代码A=00,B=01,C=02……

M数据命令

功能: 把地址范围内的存储器单元的内容移到起始地址的指定地址中
说明: 传送期间,源区和目标区可以部分重叠;传送后源区域数据保持不变。
例:-e100 41 42 43 44 45
-d100 10f
08F1:0100 41 42 43 44 45 62 62 63 64 -61 62 63 64 61 62 63 64 ABCDEBCDABCDABCD
-M 100 104 110
-d110 L1F
08F1:0100 41 42 43 45 0A 21 19-20 01 01 20 07 96 87 9F ABCDE……
* N[盘号: ] [路径] [文件名] [扩展名]
功能: 定义操作文件名。
说明: 可同时定义两个操作文件,并将形成的文件控制块相应的设置在内存 CS:5C和CS:6C上,供以后的L和W命令操作之用。我们在运行程序侦错时,在启动DEBUG时在其后加文件程序名以及该程序的参数或运行文件,但当我们侦错一段后,可能装入其它文件来测试,这时我们可利用N命令来设置而无需退出DEBUG。
例:A:\>DEBUG tan.exe
-n youg.pas
当程序侦错一段时间后,若要把tan.exe装入tan1.pas则-ntanl.pas

O输出命令

功能: 发送字节到指定的输出端口。
例:当我们遇到开机要求输入口令时,可用如下方式取消
-O 70 10
_O 71 00

P进程命令

功能: 将一个子程序调用指令,循环指令,中断指令或一个重复字符串指令,停止在下一条指令上。
说明: 在执行一条子程序调用指令,循环指令,中断指令或一个重复字符串指令时,发出P命令去执行有关指令,并且返回到要执行的下一条指令。P命令和T一样选用来跟踪程序运行过程用的命令,我们可以在P命令中指定程序运行的起始地址,指令个数,如未指定则CS:IP所指定程序的地址开始一次运行一条令。
P与T命令的差别在于P命令把CALL/INT当成一条指令来执行,简化了跟踪过程,P命令只运行RAM内存的命令,而T命令则可运行RAM和ROM里的程序。

Q 退出命令

R寄存器命令

功能: 一,显示单个寄存器的内容,并提供修改功能。二,显示所有寄存器内容, 再加上字母标志位状态以及要执行的下一条指令。三,显示8个标志位状态, 并提供修改功能。若不想改变则回车即可。
例:-r bx
bx 0050
:51
-r
AX=0000 BX=0051 CX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0003 ES=0CD3 SS=0CD3 IP=0100 NV UP EI PL NZ NA PO NC
0CD3:0100 0F DB OF
若想改变 标志寄存器,用-RF回车,则DEBUG会将标志内容显示出来,若想改变任一标志,只要输入该标志的名称即可。
标志名称 设置 未设置 标志名称 设置 未设置
滋出 OV(溢出) NV(未溢出) 零位 ZR NZ(不等于零)
方向 DN(减少) UP(增加) 辅助进位 AC NA(无进位)
中断 EI(许可) DI(禁止) 奇偶标志 PE(偶) PO(奇)
符号 NG(负) PL(正) 进位 CY NC(清除进位)
例:-Rf
NV UP EI PL NZ NA PO NC :-OV DI← 输入值

S命令

功能: 在指定的地址范围内查找给定的字符串。
说明: 用来指定在地址范围内查找一个字符串,若找到则显示其地址, 否则直接显示DEBUG提示符。隐含地址为DS段值。
在此内存可以用(起始地址)(终止地址)或(起始地址)L(长度)的方式来表示,而字符串与数据行则可混合使用:如:02.76"BC"。
例:-d100 lof
08F1:0100 OF 2A 41 43 0B 31 42 96 -FF F0 B9 8A F3 00 B1.. AC,1B...
-S 100 lof"AC"
08F1:0102← 表示找到,由0102开始,

T跟踪命令

功能: 逐条跟踪程序的执行,每条指令执行后都将显示各寄存器的内容。
说明: 通常采用跟踪一条指令,但用户也可以用指令条数设定一次跟踪多条指令, 每执行一条指令之后,显示所有寄存器的内容和标志状态。
逐条指令跟踪 -T[=起始地址]
从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值,如来指定地址则从当前CS:IP开始执行。
A:\>DEBUG
-A
08F1:0100 MOV DL,03H
08F1:0102 MOV AH,02H
08F1:0104 INT 21H
08F1:0106 INT 20H
08F1:0108
-T
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=08F1 ES=08F1 SS=08F1 CS=08F1 1P=0105 NV UP EI PL NZ PO CY
09F1:0102 B402 MOV AH,02
若指定起始地址,则T命令会从指定的地址开始跟踪,我们还可以指定跟踪一次所 运行指令的个数,用Ctrl+S暂停屏幕的显示,以便观察。
-t=100 10;由CS:100开始跟踪10条指令

U地址命令

功能: 将内存中的内容转换为汇编语句。
说明: 反汇编的字节数取决与用户的系统显示形式,以及在U命令中使用的可选项。
⑴从指定地址开始编译,反汇编32个字节
-U[地址]←从CS:100开始,其反汇编32个字节
如果地址被省略,则从一个U命令的最后一条指令的下一条单元开始汇编32个字节。
⑵对指定的存贮范围进行反汇编
-u起始地址 终止地址(L 长度)
例:-U 100 109
08F1:0100 CD20 INT 20
08F1:0102 FF9F009A CALL FA12[BX+9A00]
08F1:0106 F0 LOCK
08F1:0107 FE1D CALL FAR [DI]
08F1:0109 F0 LOCK
说明:如指定了范围则整个范围全都会被反编译

W写盘命令

* W[地址] [盘符:] [起始 扇区] [扇区数] 写盘命令
功能: 将修改过的数据写到磁盘上。
说明: 可以将指定内存地址开始的数据写在磁盘上,可以在没有指定参数, 或指定地址参数的情况下,将调试文件写在磁盘上。
在运行W时需设置文件的大小CX或BX寄存器
⑴把数据写入磁盘的指定扇区
-W 起始地址 驱动器名 起始扇区  扇区数
⑵把数据写入指定文件中
-W 起始地址
例A:\>DEBUG
-A
08f1:0100....
. 写入 程序段
08F1: 012A....
-R CX
CX:0000
:2A←写入字节数,即为程序结尾地址减起始地址
-n tan.com←设置文件名,需后缀为com
-w
Wring 002A bytes
-q
A:\>TAN←即可执行此程序
* "XD"命令:释放EMS内存
例:-XD 0001
handle 0001 deallocatel←释放了
利用XD释放后可再分配
*"XM"命令;把 扩充内存上的内存页区映射到主内存区
格式:XM RAM 长页码 主内存页码句柄
例:-XM3 2 0001←把0001号句柄的第3号逻辑页区映射到2号真实页区
Logical page 03 mapped to physical page 02
*"XS"命令:显示当前EMS使用情况。
格式 -XS

转载于:https://www.cnblogs.com/NongMG/p/4526698.html

相关文章:

C++、嵌入式软开之数据结构

总结&#xff1a; 1.二叉树搜索树是需要进行比较大小&#xff0c;满足传递性才可&#xff1b; 刷题总结&#xff1a; 1.&#xff08;二叉树遍历&#xff09;已知某二叉树的后序遍历序列是dabec&#xff0c;中序遍历序列是debac&#xff0c;它的前序遍历是&#xff08;&#xf…

3dsMax插件V-Ray渲染与合成学习课程 3ds Max: Rendering for Compositing in V-Ray Next

使用渲染元素&#xff0c;3ds Max的V-Ray Next对创建高质量合成所需的参数(如反射、阴影、遮罩等)提供了精细的控制。在本课程中&#xff0c;布莱恩布拉德利展示了如何在Photoshop和After Effects等应用程序中使用V-Ray Next为后期制作工作流专门创建渲染。探索渲染元素用户界面…

对找数程序的理解

经过几个小时的思考&#xff0c;总算是对老师出的这个程序题有了一定的了解。该C#程序是一个对数字进行查找的程序。程序清单如下&#xff1a; using System; using System.Collections.Generic; using System.Text; namespace FindTheNumber {  class Program  {    s…

win10鼠标灵敏度怎么调_和平精英最稳压枪灵敏度怎么调教程,适合所有段位以及适合国际版PUBG手游压枪...

和平精英(原刺激战场)主播最稳压枪灵敏度怎么调&#xff1f;不妨看看花了五个小时调试的最稳和平精英压枪灵敏度吧。废话不多&#xff0c;上图按照调。保证你满意&#xff0c;你离主播只差点意识此和平精英压枪灵敏度适合所有段位 也适合PUBG(和平精英国际版)-------分割线---…

C++基本知识点集锦(2022秋招)

&#xff08;1&#xff09;构造函数是一种特殊的类成员函数&#xff0c;是当创建一个类的对象时&#xff0c;它被调用来对类的数据成员进行初始化和分配内存。&#xff08;构造函数的命名必须和类名完全相同&#xff09; &#xff08;2&#xff09;C的空类&#xff0c;编译器会…

Sketchup插件Vray户外场景设计渲染教程 Vray Next For Sketchup Exterior

Sketchup户外场景设计的Vray Next 你会学到什么 渲染白天和夜晚场景 后期制作 Sketchup的Vray Next 中级sketchup用户 大小解压后&#xff1a;3.83G 1280X720 mp4 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; 大家好&#xff0c; 我是…

实验四:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

贺邦原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验目的&#xff1a; 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用&#xff0c;理解系统调用的工作机制。 实验过程&#xff1a; 本文实验选择24号…

三菱plc232数据线驱动下载_三菱PLC与西门子PLC有什么区别?

三菱PLC与西门子PLC有什么区别&#xff1f;分别有什么优点和缺点&#xff1f;该如何选择&#xff1f;学习哪种品牌&#xff1f;首先它们的编程理念不同&#xff0c;三菱PLC是日系品牌&#xff0c;编程直观易懂&#xff0c;学习起来会比较轻松&#xff0c;西门子PLC是德国品牌&a…

Github 树形菜单插件

ajax显示gitlab的&#xff0c;很像mac的树形展示。 直接在左侧做了一个ajax的树&#xff0c;每次访问gitlab自动加载。非常方便呢&#xff0c;在国内网速这么慢的情况下更显得好用了。 下载地址&#xff1a; https://github.com/buunguyen/octotree/tree/master/dist chrome安装…

C/C++、嵌入式秋招之SQL篇

⭐⭐1.选取最大&#xff08;小&#xff09;值 SELECT * FROM employees order by hire_date desc limit 0,1解释&#xff1a; 知识点 ORDER BY 根据指定的列对结果集进行排序&#xff0c;默认按照升序&#xff0c;降序 ORDER BY DESCLIMIT(m, n) 从第 m 1 行开始取 n 条记录…

C4D样条曲线建模大师班 Cinema 4D MasterClass: Master Modelling using Splines

通过本课程&#xff0c;快速学习使用样条曲线建模的基础知识&#xff0c;并将您的技能提升到一个新的水平 你会学到什么 能够使用样条线对整个对象进行建模 三维建模和UV展开 能够找到模拟复杂形状的最佳方法 无数的提示和技巧 在项目中应用蓝图的真实尺寸 对Uv制图有更好的理…

从头到尾彻底解析Hash表算法

从头到尾彻底解析Hash表算法 发布时间: 2013-10-02 10:26 阅读: 25156 次 推荐: 14 原文链接 [收藏] 作者&#xff1a;July、wuliming、pkuoliver 说明&#xff1a;本文分为三部分内容&#xff0c; 第一部分为一道百度面试题Top K算法的详解&#xff1b;第二部分为关于H…

ftp windows无法访问此文件夹请确保输入的文件名_企业实战|企业FTP搭建

安装Vsftpd提前关闭selinux 和firewalld防火墙1.安装vsftp软件包 $ yum -y install vsftpd*2.启动vsftpd服务器 $ systemctl restart vsftpd $ systemctl enable vsftpd3.检查服务是否正常启动 $ ps -ef|grep vsftp && netstat -tunlp|grep 21至此 匿名用户的ft…

C++、嵌入式软开之指针

1.(指针数据)int* pa[5]; 描述: pa是一个具有5个元素的指针数组,每个元素是一个int类型的指针; 2.(二级指针)以下程序的输出结果是: #include <iostream> using namespace std; void func(char **m){++m;cout

3dsMax插件V-Ray建筑可视化三维渲染细节技术学习教程

通过学习可用于相机放置、建模、修整等的策略&#xff0c;生成令人印象深刻且逼真的建筑三维渲染。了解如何将您的3D渲染场景提升到一个新的水平&#xff0c;以使您的图像引人入胜、有趣且讨人喜欢。在本课程中&#xff0c;讲师Verena Tatiana首先讨论了不同的细节处理方法&…

所有表单对象_Laravel 表单方法伪造与 CSRF 攻击防护

1、表单方法伪造有时候&#xff0c;我们可能需要手动定义发送表单数据所使用的 HTTP 请求方式&#xff0c;而 HTML 表单仅支持 GET 和 POST 两种方式&#xff0c;如果要使用其他的方式&#xff0c;则需要自己来定义实现。HTTP 请求方式概述最常见的 HTTP 请求方式自然是 GET 和…

使用按钮控制HTML5背景音乐开关

<!DOCTYPE HTML> <html> <head> <meta charset"utf-8"> <meta name"viewport" content"widthdevice-width; initial-scale1.0"> <title>演示&#xff1a;使用按钮控制HTML5背景音乐开关</title></…

hibernate和struts2实现分页功能

1.DAO层接口的设计&#xff0c;定义一个PersonDAO接口&#xff0c;里面声明了两个方法&#xff1a; public interface PersonDAO {public List<Person> queryByPage(String hql, int offset, int pageSize);public int getAllRowCount(String hql); } 2.DAO层接口的实现类…

Cmake软件编译opencv报错,CMake Warning at cmake/OpenCVDownload.cmake:193 (message): FFMPEG: Download...

当执行如下操作时&#xff1a; 出现下面报错&#xff0c; 在链接ipaddress.com查询raw.githubusercontent.com地址&#xff0c;然后将ip添加至C:\Windows\System32\drivers\etc\hosts中&#xff1a; 保存后&#xff0c;重新在cmake软件中点击“Configure”等待即可。

Blender+SP+UE5游戏艺术工作流程学习

Blender到虚幻引擎5 Blender游戏艺术 Blender for Game Art 你会学到: 如何在Blender中创建三维模型 UV如何展开和布局 如何在Substance Painter中表现肌理 如何使用虚幻引擎5 如何在UE5中点亮室内环境 MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz&…

JQ 全选后获取选中的值_为什么在PBI中还需要切片器之三:Excel切片器之度量值切换...

Excel切片器之度量值切换原创 海峰没想到上篇文章一经发出&#xff0c;很快就过了10个留言&#xff0c;大喜过望&#xff0c;今天立马揭晓切片器之度量切换的应用。切片器之度量切换----参数法创建参数表&#xff0c;如下并导入数据模型创建需要的度量值&#xff0c;利润合计万…

layoutSubviews总结(转)

- (void)setNeedsDisplay- (void)drawRect但是是用initWithFrame 进行初始化时&#xff0c;当rect的值不为CGRectZero时,也会触发 You should override this method only if the autoresizing behaviors of the subviews do not offer the behavior you want. layoutSubviews, …

PHP日期格式转时间戳

PHP 提供了函数可以方便的将各种形式的日期转换为时间戳&#xff0c;该类函数主要是&#xff1a; strtotime()&#xff1a;将任何英文文本的日期时间描述解析为时间戳。mktime()&#xff1a;从日期取得时间戳。strtotime() strtotime() 函数用于将英文文本字符串表示的日期转换…

TFmini传感器使用

使用激光传感器 打开地面站&#xff0c;Mavlink控制台输入tfmini start --> tfmini status -->显示 current_distance:数字 即可得到距离&#xff1b; 将timini插到口UART&I2C B上面 需要在自启动文件中添加tfmini的自启动&#xff0c;否则出来的数据是0&#xff1b;…

3DsMax渲染插件VRay NEXT完整的视频指南

要求 基本的计算机和三维软件知识 这门课程对初学者和进阶者都有好处 我们确实经历了许多你甚至不知道存在的功能 VRay NEXT for 3Ds Max – Complete Video Guide 欢迎来到V-RAY视频手册 流派:电子学习| MP4 |视频:h264&#xff0c;1280720 |音频:aac&#xff0c;44100 Hz语言…

MyEclipse中运行环境jre、编译级别、tomcat运行环境区别

运行环境JRE SYSTEM LIARARY引入项目中依赖的jdk基础包&#xff0c;在java build path --》library中可以切换 编译级别是项目编译成.class时使用的编译jdk版本&#xff0c;只能向下编译 tomcat运行环境选择jdk版本&#xff0c; 以上三个配置最好一致&#xff0c;如果不一致可以…

食堂就餐刷卡系统源码_智慧食堂重新定义你的食堂管理系统

智慧食堂有着针对于多种业态的适用行解决方案&#xff0c;可以说几乎是满足了所有团餐食堂&#xff0c;从进销存管理到财务系统再到智能硬件&#xff0c;让对食堂有着传统麻木观念的人群有了耳目一新的变化&#xff0c;下面就跟大家说几个智能硬件亮点&#xff0c;从新帮你定义…

2022-2028年全球与中国闪光棉市场研究及前瞻分析报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了全球与中国闪光棉行业市场行业相关概述、全球与中国闪光棉行业市场行业运行环境、分析了全球与…

WebAPI初探

由于即将要接手的新项目计划用ASP.NET MVC3来开发&#xff0c;所以最近一段时间一直在看相关的书或文章。因为之前在大学里也曾学习过MVC2开发&#xff0c;也做过几个简单的MVC2的小型测试项目&#xff0c;不过在后来工作以后主要还是开发WebForm的项目&#xff0c;所以MVC的东…

ROS控制无人机offboard模式

在确保已经安装ROS以及Mavros情况下使用下列步骤 1.打开PX4源码程序&#xff0c;运行gazebo cd Firmware make px4_sitl_default gazebo2.打开Mavros roslaunch mavros px4.launch fcu_url:"udp://:14540127.0.0.1:14557"3.运行功能包程序 rosrun offboard_node o…