|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
有这样一个例子
下面是一个简单的程序的汇编语句及对应的可执行代码。
地址 代码 汇编解析 源程序
------- ----- ----------- ---------------------
org 0x0000
000000 2810 GOTO 0x10 goto main
org 0x0004
000004 2818 GOTO 0x18 goto int_serv
org 0x0010
main
000010 1683 BSF 0x3,0x5 bsf STATUS, RP0
000011 1303 BCF 0x3,0x6 bcf STATUS, RP1
000012 0188 CLRF 0x8 clrf TRISD
000013 1283 BCF 0x3,0x5 bcf STATUS, RP0
000014 0188 CLRF 0x8 clrf PORTD
000015 160b BSF 0xb,0x4 bsf INTCON, INTE
000016 178b BSF 0xb,0x7 bsf INTCON, GIE
stop
000017 2817 GOTO 0x17 goto stop
int_serv
000018 30ff MOVLW 0xff movlw 0xff
000019 0088 MOVWF 0x8 movwf PORTD
00001a 0009 RETFIE retfie
END
它对应的INHX32格式的.HEX文件如下:
:020000040000FA (1)
:020000001028C6 (2)
:020008001828B6 (3)
:04000A00003400348A (4)
:10002000831603138801831288010B168B17172878 (5)
:06003000FF30880009000A (6)
:00000001FF (7)
第(1)行是线性地址定位行。第(2)行至第(6)行是代码数据行。
第(7)行是结尾标志行。
INHX8M格式的.HEX文件
对PIC16F87X单片机而言,INHX8M格式的.HEX文件与INHX32格式的.HEX文件
只有一点不同,就是INHX8M格式的.HEX文件没有线性地址定位行。以下是
上一节所示的源程序对应的INHX8M格式的.HEX文件。
:020000001028C6 (1)
:020008001828B6 (2)
:04000A00003400348A (3)
:10002000831603138801831288010B168B17172878 (4)
:06003000FF30880009000A (5)
:00000001FF (6)
可见这个文件就是前面INHX32格式的.HEX文件的(2)至(7)行。本文件中的
(1)至(5)行是代码数据行,第(6)行是结尾标志行。
INHX8M格式的.HEX中的第(3)对应哪一行汇编代码啊? |
|