Hello!
I have this piece of code:
int myint;
Handle h_str;
CharPtr progn_string;
switch (myint){
case 1:
h_str = DmGetResource('tSTR', 1010);
progn_string = MemHandleLock(h_str);
/* .......blablabla.......... */
break;
case 2:
h_str = DmGetResource('tSTR', 1020);
progn_string = MemHandleLock(h_str);
/* .......blablabla.......... */
break;
Then I disassembled this code and get:
switch (myint){
case 1:
00000156: 4FEF 0016 lea 22(a7),a7
0000015A: 3004 move.w d4,d0
0000015C: 0C40 000C cmpi.w #12,d0
00000160: 6200 0548 bhi.w *+1354
; 0x000006aa
00000164: D040 add.w d0,d0
00000166: 303B 0006 move.w (6,pc,d0.w),d0
0000016A: 4EFB 0002 jmp (2,pc,d0.w)
0000016E: 053C 001A 0088 btst d2,#1704072
00000174: 00F6 0164 dc.w 0x00f6
; Invalid opcode
00000178: 01D2 bset d0,(a2)
0000017A: 0240 02AE andi.w #0x2ae,d0
0000017E: 031C btst d1,(a4)+
00000180: 038A bclr d1,a2
00000182: 03F8 0466 bset d1,0x00000466
h_str = DmGetResource('tSTR', 1010);
00000186: 04D2 3F3C dc.w 0x04d2
; Invalid opcode
0000018A: 03F2 2F3C 7453 bset
d1,([1951618130,a2],d2.l*8)
5452
00000192: 4E4F trap #15
00000194: A05F sysTrapDmGetResource
00000196: 2448 movea.l a0,a2
progn_string = MemHandleLock(h_str);
00000198: 2F0A move.l a2,-(a7)
0000019A: 4E4F trap #15
0000019C: A021 sysTrapMemHandleLock
I wonder, what does �Invalid opcode� mean. My
application work fine, but I have two �Invalid opcode�
in �case 1� and I have NO �Invalid opcode� in �case 2�
case 2:
000001EE: 4FEF 003A lea 58(a7),a7
000001F2: 6000 04B6 bra.w *+1208
; 0x000006aa
h_str = DmGetResource('tSTR', 1020);
000001F6: 3F3C 03FC move.w #1020,-(a7)
000001FA: 2F3C 7453 5452 move.l
#1951618130,-(a7)
00000200: 4E4F trap #15
00000202: A05F sysTrapDmGetResource
00000204: 2448 movea.l a0,a2
progn_string = MemHandleLock(h_str);
00000206: 2F0A move.l a2,-(a7)
00000208: 4E4F trap #15
0000020A: A021 sysTrapMemHandleLock
0000020C: 2648 movea.l a0,a3
Thanks,
Soj
__________________________________________________
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail.
http://personal.mail.yahoo.com/
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/