"movem.l" in AU/X's "as"

Kent Sandvik ksand at Apple.COM
Mon Apr 22 06:09:02 AEST 1991


>In article <1462 at h.cs.wvu.wvnet.edu> schiebel at cs.wvu.wvnet.edu (Darrell Schiebel) writes:
>>The assembly mnemonic in the "as" assembler with A/UX has the 
>>following syntax:
>>
>>		movem.l EA, &I		or
>>		movem.l &I, EA

Yes, the non-conventional (non-MPW asm) movem is really a pain in the ***
when moving asm code from other platforms.

I did a quick check in my M68000 Programmer's Reference Manual, and 
the movem register list mask field (i.e. those registers that should
be moved) are specified in two ways. The so called control modes
and postincrement mode addresses list looks like:

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0

So syntax such as 'movem.l 4(%sp),&0x300', would mean
to fetch registers A0 and A1 (0000 0011 0000 0000)2.

Williams book "68030 Assembly Language Reference" has a good
list of things to know when moving asm code to the A/UX platform.

Kent Sandvik, DTS (developer technical sliming)

-- 
Disclaimer: Private and personal activities on USENET, non-company sponsored



More information about the Comp.unix.aux mailing list