<html>
<head>
<title>汇编指令的格式(伪指令)</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#CCCCCC">
<b>
<p align="center"><font face="黑体" lang="ZH-CN" size=5>第四节</font><font face="Arial" size=5>
</font><font face="黑体" lang="ZH-CN" size=5>伪</font><font face="Arial" size=5>
</font><font face="黑体" lang="ZH-CN" size=5>指</font><font face="Arial" size=5>
</font><font face="黑体" lang="ZH-CN" size=5>令</font></p>
<font face="黑体" lang="ZH-CN" size=5>
<p></p>
</font></b><font face="宋体" lang="ZH-CN" size=3>
<p align="JUSTIFY"></p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> </font><font face="宋体" lang="ZH-CN" size=3>伪指令是对汇编起某种控制作用的特殊命令,其格式与通常的操作指令一样,并可加在汇编程序的任何地方,但它们并不产生机器指令。</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> </font><font face="宋体" lang="ZH-CN" size=3>许多伪指令要求带参数,这在定义伪指令时由“表达式”域指出,任何数值与表达式匀可以作为参数。</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> </font><font face="宋体" lang="ZH-CN" size=3>不同汇编程序允许的伪指令并不相同,以下所述的伪指令仅适用于MASM51系统,但一些基本的伪指令在大部份汇编程序中都能使用,当使用其它的汇编程序版本时,只要注意一下它们之间的区别就可以了。MASM51中可用的伪指令有:</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> ORG </font><font face="宋体" lang="ZH-CN" size=3>设置程序起始地址</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> END </font><font face="宋体" lang="ZH-CN" size=3>标志源代码结束</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> EQU </font><font face="宋体" lang="ZH-CN" size=3>定义常数</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> SET </font><font face="宋体" lang="ZH-CN" size=3>定义整型数</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> DATA </font><font face="宋体" lang="ZH-CN" size=3>给字节类型符号定值</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> BYTE </font><font face="宋体" lang="ZH-CN" size=3>给字节类型符号定值</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> WROD </font><font face="宋体" lang="ZH-CN" size=3>给字类型符号定值</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> BIT </font><font face="宋体" lang="ZH-CN" size=3>给位地址取名</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> ALTNAME </font><font face="宋体" lang="ZH-CN" size=3>用自定义名取代保留字</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> DB </font><font face="宋体" lang="ZH-CN" size=3>给一块连续的存储区装载字节型数据</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> DW </font><font face="宋体" lang="ZH-CN" size=3>给一块连续的存储区装载字型数据</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> DS </font><font face="宋体" lang="ZH-CN" size=3>预留一个连续的存储区或装入指定字节。</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> INCLUDE </font><font face="宋体" lang="ZH-CN" size=3>将一个源文件插入程序中</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> TITLE </font><font face="宋体" lang="ZH-CN" size=3>列表文件中加入标题行</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> NOLIST </font><font face="宋体" lang="ZH-CN" size=3>汇编时不产生列表文件</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> NOCODE </font><font face="宋体" lang="ZH-CN" size=3>条件汇编时,条件为假的不产生清单</font></p>
<ol>
<font face="宋体" lang="ZH-CN" size=3> </font><b>
<p align="JUSTIFY"> <font face="宋体" lang="ZH-CN"> </font><font face="宋体" lang="ZH-CN">一、</font><font face="Arial">ORG</font><font face="Arial">
</font>
<font face="Arial">
<p></p>
</font></b>
<p align="JUSTIFY"><font face="Arial" size=3> </font><font face="宋体" lang="ZH-CN" size=3>伪指令</font><font face="Arial" size=3>ORG</font><font face="宋体" lang="ZH-CN" size=3>用于为在它之后的程序设置地址值,它有一个参数,其格式为:</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> ORG </font><font face="宋体" lang="ZH-CN" size=3>表达式</font></p>
<p align="JUSTIFY"> <font face="宋体" lang="ZH-CN" size=3>表达式可以是一个具体的数值,也可以包含变量名,如果包含变量名,则必须保证,当第一次遇到这条伪指令时,其中的变量必须已有定义(已有具体的数值),否则,无定义的值将由</font><font face="Arial" size=3>0</font><font face="宋体" lang="ZH-CN" size=3>替换,这将会造成错误。在列表文件中,由</font><font face="Arial" size=3>ORG</font><font face="宋体" lang="ZH-CN" size=3>定义的指令地址会被打印出来。</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> ORG</font><font face="宋体" lang="ZH-CN" size=3>指令有什么用途呢?指令被翻译成机器码后,将被存入系统的ROM中,一般情况下,机器码总是一个接一个地放在存储器中,但有一些代码,其位置有特殊要求,典型的是五个中断入口,它们必须被放在</font><font face="Arial" size=3>0003H,000BH,0013H,001BH</font><font face="宋体" lang="ZH-CN" size=3>和</font><font face="Arial" size=3>0023H</font><font face="宋体" lang="ZH-CN" size=3>的位置,否则就会出错,如果我们编程时不作特殊处理,让机器代码一个接一个地生成,不能保证这些代码正好处于这些规定的位置,执行就会出错,这时就要用到</font><font face="Arial" size=3>ORG</font><font face="宋体" lang="ZH-CN" size=3>伪指令了。看如下例子:</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> </font><font face="宋体" lang="ZH-CN" size=3>例:</font></p>
<i><font face="Arial" size=3>
<p align="JUSTIFY">INT_0 EQU 1000H</p>
<p align="JUSTIFY">TIME_0 EQU 1010H</p>
<p align="JUSTIFY">INT_1 EQU 1020H</p>
<p align="JUSTIFY">TIME_1 EQU 1030H</p>
<p align="JUSTIFY">SERIAL EQU 1040H</p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> AJMP START ;</font><font face="宋体" lang="ZH-CN" size=3>跳转到主程序起始点</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> LJMP INT_0 ;</font><font face="宋体" lang="ZH-CN" size=3>外中断</font><font face="Arial" size=3>0</font><font face="宋体" lang="ZH-CN" size=3>处理程序</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> LJMP TIME_0 ;</font><font face="宋体" lang="ZH-CN" size=3>定时中断</font><font face="Arial" size=3>0</font><font face="宋体" lang="ZH-CN" size=3>处理程序</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> LJMP INT_1 ;</font><font face="宋体" lang="ZH-CN" size=3>外中断</font><font face="Arial" size=3>1</font><font face="宋体" lang="ZH-CN" size=3>处理程序</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> LJMP TIME_1 ;</font><font face="宋体" lang="ZH-CN" size=3>定时中断</font><font face="Arial" size=3>1</font><font face="宋体" lang="ZH-CN" size=3>处理程序</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> LJMP SERIAL ;</font><font face="宋体" lang="ZH-CN" size=3>串行口中断程序</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY">START:</p>
<p align="JUSTIFY"> NOP</p>
<p align="JUSTIFY"> END</p>
</font></i>
<p align="JUSTIFY"><font face="Arial" size=3> </font><font face="宋体" lang="ZH-CN" size=3>上面的程序经汇编后列表文件如下</font><font face="Arial" size=3>:</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY"> </p>
<i>
<p align="JUSTIFY">The Cybernetic Micro Systems 8051 Family Assembler, Version
3.03 Page 1</p>
<p align="JUSTIFY"> 08-26-96</p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"> </p>
<p align="JUSTIFY"> 1000 = INT_0 EQU 1000H</p>
<p align="JUSTIFY"> 1010 = TIME_0 EQU 1010H</p>
<p align="JUSTIFY"> 1020 = INT_1 EQU 1020H</p>
<p align="JUSTIFY"> 1030 = TIME_1 EQU 1030H</p>
<p align="JUSTIFY"> 1040 = SERIAL EQU 1040H</p>
</i></font>
<p align="JUSTIFY"><i><font face="Arial" size=3> 0000 0111 AJMP START ;</font></i><i><font face="宋体" lang="ZH-CN" size=3>跳转到主程序起始点</font></i></p>
<i>
<p align="JUSTIFY"><font face="Arial" size=3> 0002 021000 LJMP INT_0 ;</font><font face="宋体" lang="ZH-CN" size=3>外中断</font><font face="Arial" size=3>0</font><font face="宋体" lang="ZH-CN" size=3>处理程序</font></p>
<p align
没有合适的资源?快使用搜索试试~ 我知道了~
单片机基础(自己看吧)
共128个文件
gif:51个
htm:46个
hex:11个
需积分: 3 7 下载量 173 浏览量
2011-07-22
18:26:44
上传
评论
收藏 482KB RAR 举报
温馨提示
单片机基础知识,自己看吧。单片机基础知识,自己看吧。
资源推荐
资源详情
资源评论
收起资源包目录
单片机基础(自己看吧) (128个子文件)
exec82.asm 2KB
exec81.asm 1KB
EXEC71.ASM 880B
exec064.ASM 854B
exec063.asm 703B
exec72.asm 656B
exec062.asm 535B
exec066.asm 487B
EXEC061.ASM 374B
exec067.asm 262B
exec065.asm 227B
jx1801.bmp 349KB
reset.bmp 5KB
K12教育论坛.doc 252KB
1105.gif 16KB
lamp.gif 13KB
1104.gif 11KB
1101.gif 11KB
1102.gif 10KB
music2.gif 10KB
music1.gif 10KB
21.gif 7KB
1103.gif 6KB
DPJ221.gif 6KB
DPJ231.gif 6KB
dpj251.gif 5KB
dpjjx245.gif 5KB
dpj1302.gif 5KB
dpj252.gif 5KB
dpjjx232.gif 4KB
dpj281.gif 4KB
dpj261.gif 4KB
Image10.gif 4KB
jx1903.gif 4KB
DPJ234.gif 4KB
l3.gif 4KB
dpjjx246.gif 3KB
DPJ283.gif 3KB
DPJ282.gif 3KB
22.gif 3KB
dpj1303.gif 3KB
dpjjx151.gif 3KB
jx1801.gif 3KB
dpj262.gif 3KB
DPJ274.gif 3KB
l5.gif 3KB
back1.gif 2KB
dpj273.gif 2KB
Image9.gif 2KB
92.gif 2KB
jx1902.gif 2KB
jx1901.gif 2KB
l4.gif 2KB
reset.gif 2KB
dpj1301.gif 2KB
Image8.gif 1KB
dpj272.gif 1KB
Image7.gif 1017B
dpj271.gif 1015B
DPJ233.gif 1005B
Image4.gif 987B
Image5.gif 986B
l1.gif 852B
l2.gif 847B
make.gif 525B
EXEC064.HEX 1024B
EXEC71.HEX 1024B
EXEC063.HEX 1024B
EXEC062.HEX 1024B
EXEC065.HEX 1024B
EXEC061.HEX 1024B
EXEC066.HEX 1024B
EXEC067.HEX 1024B
EXEC72.HEX 1024B
exec82.hex 426B
exec81.hex 282B
masm3.htm 56KB
dpjjx23.htm 33KB
dpjjx25.htm 33KB
masm4.htm 33KB
dpjjx15.htm 28KB
dpjjx20.htm 28KB
dpjjx17.htm 27KB
dpjjx10.htm 26KB
masm1.htm 23KB
dpjjx9.htm 22KB
dpjjx26.htm 21KB
dpjjx12.htm 20KB
dpjjx13.htm 19KB
dpjjx19.htm 19KB
masm2.htm 18KB
some.htm 17KB
dpjjx27.htm 17KB
save.htm 15KB
dpjjx14.htm 15KB
test.htm 14KB
dpjjx16.htm 14KB
dpjjx7.htm 14KB
dpjjx21.htm 13KB
dpjjx11.htm 11KB
共 128 条
- 1
- 2
资源评论
翩翩少年
- 粉丝: 2
- 资源: 34
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功