找回密码
 注册
关于网站域名变更的通知
查看: 441|回复: 1
打印 上一主题 下一主题

[毕业设计] 单片机汇编器的设计与实现

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-2-11 13:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
, R  }# i! p' ^6 s/ a/ E
摘要:单片机开发系统主要由单片机交叉汇编程序和仿真程序两个模块组成,其中单片机交叉汇编程序是由单1 i/ V2 `6 K, r' x' d+ U
片机汇编器来实现。本文主要介绍了汇编器设计方法及实现过程,通过运用传统的两遍扫描的算法,并对不同
% q3 J+ c# e( g7 X0 t4 A的模块进行了划分和优化。我们可以通过简单的模块改动就能使其应用于不同类型的单片机中。* R; {# q6 r7 r9 }

1 A& v( H4 I4 U6 \0 Z关键词:单片机  开发系统  汇编  两遍扫描5 `8 O  O, F9 k, C
: F& S: b6 A( ^8 [/ t
单片机应用技术是目前最广泛的- -项计算机控制技术,
3 X1 r4 w0 i" G' Y) N近几年,随着单片机技术的迅速发展,各种高性能的单片机纷% V3 w4 K( }" M- E; H5 W7 l
纷出现,这些单片机具有集成度高、.体积小、功耗低、性价比高2 n( I. o. {0 N& L2 m$ g
等诸多优点,被广泛的应用于智能仪器、工业控制、家用电器& J( r: _/ r, K/ s8 A4 Z. P% z! E  |
等领域,成为系统工程师手中必不可少的开发利器。
) \$ ]; I/ W* h要进行单片机系统的开发,必须要有相应的开发系统。.
. b) a7 S0 m2 L& s0 O6 ?  W: S9 H目前最常用的开发系统主要由单片机交叉汇编程序和仿真程
% Q: n/ m7 ~4 [  v序两个模块组成。单片机汇编器的设计主要是为了实现交叉
) \: v4 V; M: Y4 s- K$ i, p1 s汇编程序,把单片机汇编语言源程序翻译成功能等价的机器* ]) K  @. R2 N
代码。! h* S$ i" g# ]4 t; d$ }
1汇编器的功能5 F+ i. V: \1 R: O
汇编器的任务就是将汇编语言的程序源程序翻译为功能
3 C4 e. b; O; Q( D等价的机器语言的目标程序。所以汇编的过程就是,寻找一
+ k/ |- l9 k9 {9 w, J+ T6 z$ F5 P; y组操作将初始化状态的汇编源程序转换成最终的机器语言的1 @8 l8 z9 i& w( w1 _
目标程序。; |4 A" ^- @% q1 i$ ]
汇编器将源程序汇编之后,生成一个目标文件。在这个
+ A" X8 J5 k! P9 K. d) O目标文件中,汇编指令已经变成机器可以直接识别的机器语6 u* h7 z; [7 S- _! h6 Z
言格式,但是其地址是没有经过定位的相对地址,而不是绝对
! U6 G5 ^! H; _; c2 l- w* ?' |地质。要产生目标文件,汇编器要完成的工作包括:! P' o' ~# A) C3 p
(1)对程序中的符号名、标号、常数构造符号表。(2)按用户
+ d2 n- d7 |8 H1 ?# |0 g1 T指定分配存储区域,如程序区、数据区、暂存区等。4 W: s& A+ Y! i, p# M. Q  _
(3)计算各表达式的值。
2 p- L& V3 c* F0 ^5 _(4)自动把宏引用进行宏替换,把字符转换成ASCII码,# k2 j( Z# r. j; C' T3 O7 _
各种进制数转换成二进制。* a& ]9 k2 ^( o- D- }3 i
(5)自动对源程序进行检查,给出出错信息,如非法格式、) `6 n: `# W  X. w9 @7 P" m
为定义标号和助记符等。
- C5 }, T  _- j(6)产生目标代码。8 Z; w7 A* D; w) h5 Q! x+ `- ~. M
2单片机交叉汇编程序的原理* f; |/ D" Z/ f# w+ z7 |
汇编语言是计算机能够提供给用户的最快而又最有效的
( n7 U+ H4 Y' ^' I" m; Y语言,也是能够利用计算机所有特性并能直接控制硬件的惟
3 ?$ b9 u0 z$ k# H" z( N一语言,因而在对于程序的空间和时间要求很高的场合,汇编5 I2 R& e: u- R1 ~, I5 T+ d3 N
语言是必不可少的。至于对于很多需要直接控制硬件的应用5 P0 i& V3 M8 d: D# x. ?5 h
场合,则更是必不可少的。
: {1 @. z. W" F: J- v8 |7 [8 R汇编语言是用助记符、符号和数字等来表示指令的程序! x- b5 N+ o8 W6 u
语言,容易理解和记忆,它与机器语言指令是- --对应的。单
2 D! S2 k1 l: K( d片机汇编语言不像高级语育那样通用性强,而是属于某种单
3 l4 i1 E/ t/ i- o# ?, ?9 u片机所独有,与单片机的内部精简结构密切相关,对于不同型+ |6 y+ J; E3 O8 N  m# Z
号的单片机所对应的汇编语言是不同的。和其他的程序设计
' X) k! M" }& Y8 P) s- B语言一样,汇编语言也有其特定的词法规则和语法规则。词
$ Q+ }! {8 S; S% A9 y% z6 V
+ d& L3 @( M  k% ]5 P* F5 C
6 Y1 i& d- `' Q$ w: u6 U附件下载:
游客,如果您要查看本帖隐藏内容请回复
3 ^% \+ l8 ]; i3 M
3 _+ B8 \1 k5 \" `3 m) m) h+ R) \
5 o+ ]! s& q: r. @

) a+ U; v/ V$ E) y6 T  v  Q0 X- Z

该用户从未签到

2#
发表于 2020-2-11 13:54 | 只看该作者
单片机汇编语言不像高级语育那样通用性强,而是属于某种单片机所独有,与单片机的内部精简结构密切相关,对于不同型号的单片机所对应的汇编语言是不同的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-1 23:56 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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