Annotation of hatari/tests/natfeats/nf_asma.s, revision 1.1.1.1

1.1       root        1: ; nf_asma.s - AHCC NatFeats ASM detection code
                      2: ;
                      3: ; Copyright (c) 2014 by Eero Tamminen
                      4: ;
                      5: ; Mostly based on code from EmuTOS,
                      6: ; Copyright (c) 2001-2013 by the EmuTOS development team
                      7: ;
                      8: ; This file is distributed under the GPL, version 2 or at your
                      9: ; option any later version.  See doc/license.txt for details.
                     10: 
                     11: ;;
                     12: ;; exported symbols
                     13: ;;
                     14: ;; (AHCC doesn't prepend C-symbols with _)
                     15: ;;
                     16: .global        nf_id
                     17: .global        nf_call
                     18: .global        detect_nf
                     19: 
                     20: ;;
                     21: ;; variables
                     22: ;;
                     23: .data
                     24: 
                     25: nf_version:
                     26:         dc.b  "NF_VERSION\0"
                     27:         even
                     28: 
                     29: ;;
                     30: ;; code
                     31: ;;
                     32: .text
                     33: 
                     34: ; NatFeats test
                     35: ;
                     36: ; Needs to be called from Supervisor mode,
                     37: ; otherwise exception handler change bombs
                     38: detect_nf:
                     39:         clr.l   d0              ; assume no NatFeats available
                     40:         move.l  sp, a1
                     41:         move.l  0x10, a0        ; illegal vector
                     42:         move.l  #fail_nf, 0x10
                     43:         pea     nf_version
                     44:         sub.l   #4, sp
                     45: ; Conflict with ColdFire instruction mvs.b d0,d1
                     46:         dc.w   0x7300           ; Jump to NATFEAT_ID
                     47:         tst.l   d0
                     48:         beq.s   fail_nf
                     49:         moveq   #1, d0          ; NatFeats detected
                     50: 
                     51: fail_nf:
                     52:         move.l  a1, sp
                     53:         move.l  a0, 0x10        ; illegal vector
                     54: 
                     55:         rts
                     56: 
                     57: 
                     58: ; map native feature to its ID
                     59: nf_id:
                     60:         dc.w   0x7300 ; Conflict with ColdFire instruction mvs.b d0,d1
                     61:         rts
                     62: 
                     63: ; call native feature by its ID
                     64: nf_call:
                     65:         dc.w   0x7301 ; Conflict with ColdFire instruction mvs.b d1,d1
                     66:         rts

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.