STM32单片机汇编语言程序文件看不懂

STM32单片机汇编语言程序文件看不懂,第1张

后缀为ASM的就是汇编源文件,采用的是文本格式,也就是说,热河开发工具都可以正常打开,包括windows的记事本工具。当然最好使用工程开发工具iar或Keil之类的,编辑查看会更方便。

另外一点,你身为编程小白都可以使用汇编编程了?虽然汇编很基础,但难度是很高的,真正使用汇编开发的人,一般都是大牛,且开发用的地方都很关键,比如boot引导之类的,或者对代码运行效率极高的场合才会使用汇编,否则一般的都会使用更高级的语言。

1.先用汇编工具如masm对源文件汇编,链接,生成.exe文件

masm 下载地址:http://dl1.csdn.net/down3/20070416/16194756234.rar

例如,假设汇编工具在d:\masm,源文件名为1.asm,也在该目录下,可以如下 *** 作:

开始--运行--cmd--d: --cd masm--masm 1--回车3下--link 1--回车3下

此时在d:\masm下生成1.obj,1.exe

在命令行(cmd)下输入debug 1.exe开始调试。

2.在开始调试之前先介绍一下debug的常用命令

-A 地址 从指定地址开始编写小汇编程序,按两个回车键结束编辑

-U 地址 从指定地址开始反汇编32字节的机器指令,缺省地址则从上一U命令继续

-D 始址 终址 以16进制/Asc字符对照方式显示指定内存范围的数据,每行显示10H个字节

-E 地址 值表 用给出的值表(空格分隔)替换指定地址开始的内存单元,例:-E 100 'v' 1F 'hello'

-N 文件名 为后续的L/W命令约定所 *** 作的文件名

-L 地址 将N命令所指定文件的内容读入到指定内存位置。另,逻辑卷扇区直接读:-L 地址 逻卷号 起始逻扇号 扇数

-W 地址 将BX-CX个字节的内存数据写入N命令指定的文件中。另,逻辑卷扇区直接写:-W 地址 逻卷号 起始逻扇号 扇数

-R 寄存器名 显示并允许修改指定寄存器的值

-G=始址 终址 执行指定内存中的机器指令程序

-T=地址 单步执行机器指令,缺省地址则从上一T命令继续。另,继续跟踪m条指令:-T m

读取c:卷的引导扇区,并保存到Boot.1文件中,并简单分析引导程序的前面几条指令:

-L 1000 2 0 1

-N boot.1

-R bx输入0000

-R cx输入0200

-W 1000

-U 1000

读取第一个硬盘上的主引导扇区,并保存到MB.1文件中,在屏幕上显示硬盘分区表数据:

-A 100

yyyy:0100 mov dx,0080

yyyy:01xx mov cx,0001

yyyy:01xx mov ax,yyyy

yyyy:01xx mov es,ax

yyyy:01xx mov bx,1000

yyyy:01xx mov ax,0201

yyyy:01xx int 13

yyyy:01zz nop

-G=yyyy:0100 01zz

-N mb.1

-R bx 输入0000

-R cx 输入0200

-W 1000

-D 11be 11ff

给你个前辈的博客地址:

http://blog.csdn.net/liumang_D/article/details/3899462

具体请再问,,,

不对!

AX寄存器是16位的,EAX才是32位的,不能这样传!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8135988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存