Add #emit line numbers to debug info

If you consider the following code:

1 #include <a_samp>
2
3 main() {
4 	new x;
5 	#emit halt 1
6 	#emit halt 2
7 	#emit halt 3
8 	return 1;
9 }

This is what pawndisasm would output before:

00000008  proc
1.pwn:3
0000000c  break
1.pwn:4
00000010  break
00000014  stack fffffffc
0000001c  zero.pri
00000020  stor.s.pri fffffffc
00000028  halt 00000001
00000030  halt 00000002
00000038  halt 00000003
1.pwn:8
00000040  break
00000044  const.pri 00000001
0000004c  stack 00000004
00000054  retn

Now it outputs this:

00000008  proc
1.pwn:3
0000000c  break
1.pwn:4
00000010  break
00000014  stack fffffffc
0000001c  zero.pri
00000020  stor.s.pri fffffffc
1.pwn:5
00000028  halt 00000001
1.pwn:6
00000030  halt 00000002
1.pwn:7
00000038  halt 00000003
1.pwn:8
00000040  break
00000044  const.pri 00000001
0000004c  stack 00000004
00000054  retn
This commit is contained in:
Zeex 2014-09-01 19:01:16 +07:00
parent b1fb2739cb
commit e2bbe8e9c2

View File

@ -1232,6 +1232,7 @@ static int command(void)
/* write opcode to output file */
char name[40];
int i;
insert_dbgline(fline);
while (*lptr<=' ' && *lptr!='\0')
lptr++;
for (i=0; i<40 && (isalpha(*lptr) || *lptr=='.'); i++,lptr++)