Port-vax archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: VAX addressing modes
On Thu, Jul 27, 2017 at 05:12:06AM +0200, Johnny Billquist wrote:
> To talk about VAX addressing modes, you need a VAX instruction, and the
> arguments to that instruction.
Duh, somehow I failed to copy & paste big parts of the data I collected
into the original message - sorry.
In objdump -dR output, the code looks like:
5ca00: 31 de db brw 5a5e1 <Perl_yylex+0x2e6f>
5ca03: cf 50 00 0a casel r0,$0x0,$0xa
5ca07: 27 11 38 45 divp $0x11,$0x38,$0x14[r5],*0xffffd214(r2),*0x46
(r0),*0x46(r0)
5ca0b: 14 d2 14 d2
5ca0f: b0 46 b0 46
5ca13: 95 12 tstb $0x12
5ca15: 95 12 tstb $0x12
5ca17: 19 00 blss 5ca19 <Perl_yylex+0x52a7>
5ca19: 14 d2 bgtr 5c9ed <Perl_yylex+0x527b>
5ca1b: 38 45 31 06 editpc $0x31[r5],$0x6,$0x0,$0x17
5ca1f: 00 17
5ca21: 9f cf 76 06 pushab 5d09b <Perl_yylex+0x5929>
5ca22: R_VAX_RELATIVE *ABS*+0x676cf
5ca25: 00 halt
5ca26: dd 5a pushl r10
5ca28: fb 01 ff bd calls $0x1,*1a60ec <_GLOBAL_OFFSET_TABLE_+0xea0>
5ca2c: 96 14 00
(and I don't want to think about the duplicate tstb $0x12 right now)
This is the only complex example I found. All others look like a plain
jump table:
5cdd1: 17 9f 30 6c jmp *0x66c30
5cdd5: 06 00
5cdd3: R_VAX_RELATIVE *ABS*+0x66c30
5cdd7: 17 9f 7c 96 jmp *0x6967c
5cddb: 06 00
5cdd9: R_VAX_RELATIVE *ABS*+0x6967c
5cddd: 17 9f a8 71 jmp *0x671a8
5cde1: 06 00
Martin
Home |
Main Index |
Thread Index |
Old Index