OpenCores
URL https://opencores.org/ocsvn/openmsp430/openmsp430/trunk

Subversion Repositories openmsp430

[/] [openmsp430/] [trunk/] [core/] [sim/] [rtl_sim/] [src/] [sing-op_push.s43] - Diff between revs 19 and 102

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 19 Rev 102
Line 27... Line 27...
/*                                                                           */
/*                                                                           */
/* Author(s):                                                                */
/* Author(s):                                                                */
/*             - Olivier Girard,    olgirard@gmail.com                       */
/*             - Olivier Girard,    olgirard@gmail.com                       */
/*                                                                           */
/*                                                                           */
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/* $Rev: 19 $                                                                */
/* $Rev: 102 $                                                                */
/* $LastChangedBy: olivier.girard $                                          */
/* $LastChangedBy: olivier.girard $                                          */
/* $LastChangedDate: 2009-08-04 23:47:15 +0200 (Tue, 04 Aug 2009) $          */
/* $LastChangedDate: 2011-03-04 23:02:09 +0100 (Fri, 04 Mar 2011) $          */
/*===========================================================================*/
/*===========================================================================*/
 
 
 
 
.global main
.global main
 
 
Line 276... Line 276...
        mov     #0x5555, &0x0300
        mov     #0x5555, &0x0300
        push.b  #0x288d            ;# PUSH (0x8d  =>  @=0x0236)
        push.b  #0x288d            ;# PUSH (0x8d  =>  @=0x0236)
 
 
        mov     #0xF000, r15
        mov     #0xF000, r15
 
 
 
        /* -------------- TEST INSTRUCTION WITH SR AS ARGUMENT ------------------- */
 
 
 
        # Addressing mode: SR
 
        #------------------------
 
 
 
        nop
 
        push    r1                 ;# PUSH (r1=0x0234  =>  @=0x0234)
 
        push    r1                 ;# PUSH (r1=0x0232  =>  @=0x0232)
 
        nop
 
 
 
        mov     #0xF100, r15
 
 
 
 
 
        # Addressing mode: @SR
 
        #------------------------
 
 
 
        mov     #0x1234, &0x022E
 
        mov     #0x5678, &0x022C
 
        nop
 
        push    @r1                ;# PUSH (r1=0x0230  =>  @=0x0230) -> do nothing
 
        push    @r1                ;# PUSH (r1=0x022E  =>  @=0x022E) -> do nothing
 
        nop
 
 
 
        mov     #0xF200, r15
 
 
 
 
 
        # Addressing mode: @SR+
 
        #------------------------
 
 
 
        mov     #0x0000, &0x022A
 
        mov     #0x0000, &0x0228
 
        nop
 
        push    @r1+               ;# PUSH (r1=0x022C  =>  @=0x022C) -> do nothing
 
        push    @r1+               ;# PUSH (r1=0x022C  =>  @=0x022C) -> do nothing
 
        nop
 
 
 
        mov     #0xF300, r15
 
 
 
 
 
        # Addressing mode: x(SR)
 
        #------------------------
 
 
 
        nop
 
        push    12(r1)              ;# PUSH (r1=0x022C+12  =>  @=0x022C)
 
        push    12(r1)              ;# PUSH (r1=0x022A+12  =>  @=0x022A)
 
        nop
 
 
 
        mov     #0xF400, r15
 
 
 
        /* -------------- TEST POP INSTRUCTION WITH SR AS ARGUMENT ------------------- */
 
 
 
        # Addressing mode: x(SR)
 
        #------------------------
 
 
 
        nop
 
        pop     8(r1)              ;# POP (r1=0x022A  =>  @=0x022A+8)
 
        pop     8(r1)              ;# POP (r1=0x022C  =>  @=0x022C+8)
 
        nop
 
 
 
        mov     #0xF500, r15
 
 
 
 
 
        # Addressing mode: SR
 
        #------------------------
 
 
 
        nop
 
        pop     r1                 ;# POP (r1=@0x022E)
 
        nop
 
 
 
        mov     #0xF600, r15
 
 
 
 
        /* ----------------------         END OF TEST        --------------- */
        /* ----------------------         END OF TEST        --------------- */
end_of_test:
end_of_test:
        nop
        nop
        br #0xffff
        br #0xffff

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.