English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 28 June 2016, 15:41   #1
meynaf
son of 68k
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 45
Posts: 3,234
does it work everywhere or not

Hi asm guys, 040+ experts are wanted here.

That's just a few corner cases which i don't know for sure how they behave.
Upto 68030 i know, but for 68040/68060 i can't check. IIRC move16 (a0)+,(a0)+ will copy the data onto itself then increment a0 twice and i'm wondering if other stuff wouldn't behave the same...

Code:
 move.l (a0)+,(a0)+    ; copies data on next long or onto itself ?
 move.l -(a0),-(a0)    ; -4(a0) to -8(a0) then a0-=4 ?
 move.l 8(a7),-(a7)    ; dec a7 done before or after a7+8 eval ?
 move.l (a7)+,(a7)     ; "+" done before or after dest (a7) eval ?
 pea (a7)              ; pushes value "as is" or not ?
 move.l a7,-(a7)       ; always equivalent to the above ? (movem.l isn't !)
 pea 4(a7)             ; pushes a7+4 or not ?
meynaf is offline  
Old 29 June 2016, 00:32   #2
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 50
Posts: 1,046
Quote:
Originally Posted by meynaf View Post
Hi asm guys, 040+ experts are wanted here.

That's just a few corner cases which i don't know for sure how they behave.
Upto 68030 i know, but for 68040/68060 i can't check. IIRC move16 (a0)+,(a0)+ will copy the data onto itself then increment a0 twice and i'm wondering if other stuff wouldn't behave the same...

Code:
 move.l (a0)+,(a0)+    ; copies data on next long or onto itself ?
 move.l -(a0),-(a0)    ; -4(a0) to -8(a0) then a0-=4 ?
 move.l 8(a7),-(a7)    ; dec a7 done before or after a7+8 eval ?
 move.l (a7)+,(a7)     ; "+" done before or after dest (a7) eval ?
 pea (a7)              ; pushes value "as is" or not ?
 move.l a7,-(a7)       ; always equivalent to the above ? (movem.l isn't !)
 pea 4(a7)             ; pushes a7+4 or not ?
Checked on 68040.
1. long data are copied, A0 is +8.
2. long data are copied, A0 is -8.
3. long data from 8(a7) are copied, A7 is -4.
4. long data from (a7)+ are copied, A7 is + 4.
5. A7 is pushed on stack.
6. same like pea (a7).
7. pushes a7+4.
Don_Adan is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
How do I get F4 to work? mrvp support.FS-UAE 3 30 August 2015 21:31
Can you get F1-GP Ed to work? mrvp support.Games 0 30 August 2015 15:22
Can this two work together? Frikic support.Hardware 5 05 February 2010 22:33
Please help me ( I just can´t get it to work ) eZRo support.WinFellow 9 09 July 2005 17:51
Can't get 0.8.22 to work IvoC support.WinUAE 0 20 November 2002 15:30

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 06:58.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
Page generated in 0.85136 seconds with 15 queries