OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3544|回复: 7

THUMB指令是存在哪里??看了权威指南有点迷

[复制链接]

35

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2018-4-10
在线时间
49 小时
发表于 2018-9-29 21:00:13 | 显示全部楼层 |阅读模式
10金钱
小白请问下,CM3不是THUMB2指令集吗??那这些指令是存在哪里的??是MDK编译器中吗???
我们写完得代码是存在flash中,,那么是编译器根据指令集把我们的代码翻译成机械码(调试中那些看不懂的汇编)后存在flash,还是我们写的C存在flash。。。



总的来说
问题两个
1.、指令集存在哪里???
2.flash中存储的是指令还是C语言???

原子哥回答下,拜托了

最佳答案

查看完整内容[请看2#楼]

我不是原子哥,路过也回答一下吧。 1、所谓指令集,并不会存放在什么地方,是CPU硬件设计实现的一系列操作,是CPU认识的全部指令的集合,所有的二进制代码都会按照这个指令集去执行相应动作,这些二进制代码就是你调试时以十六进制方式显示的看不懂的东东,可以称之为机器语言。一切CPU都是根本不知C语言为何物的,更不用说去执行C语言的程序了。 2、C语言是为了方便我们编程的高级语言,由MDK的编译器翻译成CPU认识的指令集序列 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4522
金钱
4522
注册时间
2018-5-11
在线时间
947 小时
发表于 2018-9-29 21:00:14 | 显示全部楼层
本帖最后由 warship 于 2018-9-29 22:11 编辑

我不是原子哥,路过也回答一下吧。
1、所谓指令集,并不会存放在什么地方,是CPU硬件设计实现的一系列操作,是CPU认识的全部指令的集合,所有的二进制代码都会按照这个指令集去执行相应动作,这些二进制代码就是你调试时以十六进制方式显示的看不懂的东东,可以称之为机器语言。一切CPU都是根本不知C语言为何物的,更不用说去执行C语言的程序了。
2、C语言是为了方便我们编程的高级语言,由MDK的编译器翻译成CPU认识的指令集序列后下载到FLASH中才能由CPU执行,FLASH中存储的是二进制的一行行指令(每一行指令都是指令集中的某一条),可称为机器码。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

35

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2018-4-10
在线时间
49 小时
 楼主| 发表于 2018-9-30 18:48:10 | 显示全部楼层
warship 发表于 2018-9-29 22:05
我不是原子哥,路过也回答一下吧。
1、所谓指令集,并不会存放在什么地方,是CPU硬件设计实现的一系列操作 ...

也就是我写的C语言代码通过与指令集对应,然后翻译成2进制机器码,,存在FLASH中
那指令集是在编译器器中吗?   
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4522
金钱
4522
注册时间
2018-5-11
在线时间
947 小时
发表于 2018-9-30 22:48:30 | 显示全部楼层
edison98 发表于 2018-9-30 18:48
也就是我写的C语言代码通过与指令集对应,然后翻译成2进制机器码,,存在FLASH中
那指令集是在编译器器 ...

你可以这么理解吧。
指令集相当于一本字典。
是编译器翻译的依据。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

35

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2018-4-10
在线时间
49 小时
 楼主| 发表于 2018-9-30 23:52:50 | 显示全部楼层
warship 发表于 2018-9-30 22:48
你可以这么理解吧。
指令集相当于一本字典。
是编译器翻译的依据。

好谢谢了
回复

使用道具 举报

头像被屏蔽

12

主题

167

帖子

0

精华

禁止访问

积分
517
金钱
517
注册时间
2017-5-30
在线时间
110 小时
发表于 2018-10-1 16:52:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4522
金钱
4522
注册时间
2018-5-11
在线时间
947 小时
发表于 2018-10-1 22:15:46 | 显示全部楼层
还有,机器码和汇编并不是一回事,
机器码是二进制码,也就是存在FLASH中执行的。
汇编是一种面向人的语言,mov r1, r2之类的,
只不过汇编语言更接近指令集(基本上一条汇编语句对应一句指令而已)
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

35

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2018-4-10
在线时间
49 小时
 楼主| 发表于 2018-10-2 16:53:32 | 显示全部楼层
NULLFF 发表于 2018-10-1 16:52
LZ的微机原理过关了吗?

其实我不是这个专业的,只是感兴趣自学了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 13:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表