skip to main content

kiesler.at
You are NOT logged in. ( login | New Account Signup | Forgot Your Password? ) Why log in?

Alpha C Inline-Assembler
updated by rck, 2004-10-08

C war schon seit Anfang an eine sehr maschinennahe Programmiersprache. Dadurch entstanden einerseits Probleme wie Bufferoverflows ('effizientes' Speichermanagement). Andererseits wichtige Konzepte wie Inline-Assembler. Inline-Assembler ist oft nicht nur einfacher zu durchschauen, weil der C-Compiler das ,,Housekeeping'' (Adressen-Ausrichtung, etc.) macht. Sondern auch fast so effizient wie ,,pure Assembler''.
1 | 2 | 3 | 4 | 5 | 6

asmb Assemblercode

Der dazugehörige Assemblercode:

         .file 1 "optimize.6.c"
         .set noat
         .set noreorder
         .arch ev6
.text
         .align 5
         .globl mem0s
         .ent mem0s
mem0s:
         .frame $30,0,$26,0
$mem0s..ng:
         .prologue 0
         mov $31,$0
         mov $31,$2
         cmpule $17,8,$1
         bne $1,$L12
         .align 4
$L5:
         not $3, $3
         ctpop $3, $3
         addq $0, $3

         addq $2,8,$2
         addq $2,8,$1
         cmpult $1,$17,$1
         bne $1,$L5
         br $31,$L12
         .align 4
$L9:
         addq $16,$2,$1
         ldbu $3,0($1)
         not $3, $3
         and $3, 255, $3
         ctpop $3, $3
         addq $0, $3

         addq $2,1,$2
$L12:
         cmpult $2,$17,$1
         bne $1,$L9
         ret $31,($26),1
         .end mem0s
         .ident "GCC: (GNU) 2.95.2 19991024 (release)"

Ganz nebenbei hat uns GCC sämtliches Label-Handling abgenommen, auch sind Speicherzugriffe fix-fertig ausgerichtet. Mit dieser Methode kann man sicher etliche graue Haare einsparen...

1 | 2 | 3 | 4 | 5 | 6



RSSComments - Make a comment
The comments are owned by the poster. We are not responsible for its content.
RSSAll Articles
2008, 2007, 2006, 2005, 2004

What's Related

Link Manager

Programming
Übersetzerbau

Photo Albums

Programming

Article Manager

Programming
Übersetzerbau

RSS News Feeds

Programming

Announcements

Programming

Web Pages

Programming

Documents

Übersetzerbau

FAQ

Übersetzerbau

Latest Updates

AdministrativeTexts
updated by freddiemac1993, 2013-06-14
wiki

Re: adventures
created by brittdavis10, 2012-02-23 (1 rply, 3 views)
thread

Re: how to run phpwebsite...
created by alexander, 2011-08-25 (2 rpls, 3607 views)
thread

Re: Forum tags
created by HaroldFaragher, 2011-08-22 (3 rpls, 8488 views)
thread


Zu den KO2100 Foren