programmers resources
  http://www.intel-assembler.it/  (c)2014 intel-assembler.it   info@intel-assembler.it
 
Search :  
Lingua Italiana    English Language   
Index
 
just an empty assembly space
just an arrow Intel Platform
just an arrow Article & Guides
just an arrow Download Software


23/01/2009 Featured Article: How to remove Buzus Virus (permalink)




:::2167653:::
Bottone Scambio Directory Pubblicitaonline.it
Home Page | Articles & Guides | Download | Intel Platform | Contacts

Google
 


Bookmark and Share
Download 
Tell a friend



64-Bit - Programming and Assembly Issues

Brief intro on 64 bit architecture and programming

(by thorsten schneider)

The CodeBreakers-Journal, Vol. 1, No. 1
http://www.CodeBreakers-Journal.com
64-Bit - Programming and Assembly Issues Thorsten Schneider - University of Bielefeld, Germany


This article is online from 2062 days and has been seen 13425 times




(*** download for full text ***)

Abstract

The 64-Bit technology introduces several new and and complex tasks for 
software-developers. Even that the hardware developing industry claims 
that future software development should take care about the new introduced 
compiler systems, it is necessary to have a deep inside view on how the 
new underlaying 64-Bit assembly language works. This paper describes what 
64-Bit means for future software developments, how 64-Bit influences assembly 
programming and how to port applications programmed under 32-Bit to 64-Bit. 
It is heavy based on the IA architecture and the Windows(R) operating system.


I. Introduction

II. The 64-Bit Architecture
The new 64-Bit Architecture introduces many innovations.
Some of them are described by Jarp [14]:
- Rich Instruction Set
- Bundled Execution
- Predicated Instructions
- Large Register Files
- Register Stack
- Rotating Registers
- Modulo Scheduled Loops
- Control/Data Speculation
- Cache Control Instructions
- High-precision Floating-Point

III. The IA-64 Registers

IV. Porting Applications for Win64

V. Programming and Assembly under 64-Bit

VI. Assembly Optimization

VII. Problems of IA-64

References
 [1] ASCHE, RUEDIGER R.: Putting DLDETECT to Work.
 [2] CHEN, BILL: Intel Itanium Intel Itanium Porting Methodologies.
     http://mail.gnu.org/archive/html/tsp-devel/2003-05/pdf00000.pdf, 2004.
 [3] CHEN, RAYMOND: ia64 - misdeclaring near and far data.
     http://blogs.msdn.com/oldnewthing/archive/2004/01/20/60603.aspx, 2004.
 [4] CHEN, RAYMOND: Uninitialized garbage on ia64 can be deadly.
     http://blogs.msdn.com/oldnewthing/archive/2004/01/19/60162.aspx, 2004.
 [5] CLIPCODE: Clipcode Snippets for the Clipcode Systems SDK - Synchronisation.
     http://www.clipcode.net/content/win32 4.htm, 2004.
 [6] DEVI, M.: Mutex. http://phoenix.liunet.edu/mėdevi/win32/Mutex.htm, 2004.
 [7] FLETCHER, JASON A.: Optimizing Itanium Processor Family Assembly Code. 
     http://www.intel.com/cd/ids/developer/asmo-na/eng/53764.htm, 2004.
 [8] INTEL: IDF 2004, San Francisco. http://www.intel.com/idf/, 2004.
 [9] INTEL: Intel Corporation Website. http://www.intel.com, 2004.
[10] INTEL: Intel(R)Itanium(R) Architecture Software Developerís Manual  
     Volume 1: Application Architecture, Revision 2.1.
     http://www.intel.com/design/itanium/manuals/iiasdmanual.htm, 2004.
[11] INTEL: Intel(R) Itanium(R) Architecture Software Developerís Manual 
     Volume 1: Instruction Set Reference, Revision 2.1.
     http://www.intel.com/design/itanium/manuals/iiasdmanual.htm, 2004.
[12] INTEL: Intel(R) Itanium(R) Architecture Software Developerís Manual 
     Volume 1: System Architecture, Revision 2.1.
     http://www.intel.com/design/itanium/manuals/iiasdmanual.htm, 2004.
[13] INTEL: Quick Start Guide for Porting Applications for Win64.
[14] JARP, SVERRE: A Detailed Tutorial of the IA-64 architecture.
     http://sverre.home.cern.ch/sverre/IA64 1.pdf, 1999.
[15] KRUSE, T: Processless Applications - Remotethreads on 
     Microsoft Windows(R) 2000, XP and 2003. CodeBreakers-Journal, 1(1), 2004.
[16] LOUGHRAN, STEVE: Code for Speed - Writing High Performance Win32 Code. 
     http://www.iseran.com/Win32/CodeForSpeed/, 2004.
[17] LOUGHRAN, STEVE: Frequently Asked Questions about Windows Programming.
     http://www.iseran.com/Win32/FAQ, 2004.
[18] PIETREK, MATT: Programming for 64-bit Windows. MSDN Magazine, Nov. 2000.
     http://msdn.microsoft.com/msdnmag/issues/1100/hood/
[19] PIETREK, MATT: IA-64 Registers. MSDN Magazine, June 2001.
     http://msdn.microsoft.com/msdnmag/issues/01/06/hood/
[20] PIETREK, MATT: IA-64 Registers, Part 2. MSDN Magazine, July 2001.
     http://msdn.microsoft.com/msdnmag/issues/01/07/hood/
[21] STOKES, JON: An Introduction to 64-bit Computing and x86-64.
     http://www.arstechnica.com/cpu/03q1/x86-64/x86-64-1.html, 2004.
[22] STOKES, JON: The Pentium 4 and the G4e: an Architectural Comparison.
     http://arstechnica.com/cpu/01q2/p4andg4e/p4andg4e-1.html, 2004.
[23] STOKES, JON: Understanding the Microprocessor - Part I: Basic Computing 
     Concepts. 
     http://arstechnica.com/paedia/c/cpu/part-1/cpu1-1.html, 2004.
[24] STOKES, JON: Understanding the Microprocessor - Part II: Pipelining and 
     Superscalar Execution.
     http://www.arstechnica.com/paedia/c/cpu/part-2/cpu2-1.html, 2004.
[25] WILD, CHRIS: Single Thread/Process Global Variable.
     http://www.cs.odu.edu/wė ild/windowsNT/Fall97/version3.htm#SLIDE6, 2004.

(*** download for full text ***)




Top
Download 
Tell a friend
Bookmark and Share



Similar Articles

8085 TRS 80 Model 100 Assembly Programming
Brief guide on 8085 architecture and programming
(by Mike Berro - BCS Software)

Adam's Assembler Tutorial 1.0
A tutorial in 9 lessons on Assembler
(by Adam)

AMD64 Architecture Programmerís Manual Volume 3
General-Purpose and System Instructions
(by AMD)

AMD64 Architecture Programmerís Manual Volume 4
128-Bit Media Instructions
(by AMD)

AMD64 Architecture Programmer's Manual Volume 2
System Programming
(by AMD)

AMD64 Architecture Programmer's Manual Volume 5
64-Bit Media and x87 Floating-Point Instructions R
(by AMD)

AMD64 Programmerís Manual Volume 1
Application Programming
(by AMD)

Assembler Tutorial 1996 Edition
A guide from Guadalahara University
(by Hugo Perez Univ.Guadalajara)

Assembly Language Programming
A 14 page intro for beginners using NASM
(by Archis Gore)

Assembly language programming under Unix
A small guide for intermediate level programmers
(by G. Adam Stanislav)

Brennan's Guide to Inline Assembly
A guide to inline Unix assembly programming
(by Brennan)

Extending DOS Executables
How to modify a Windows executable relocating code
(by Digital Alchemist)

GAVIN'S GUIDE TO 80x86 ASSEMBLY
A guide about Assembler in 8 parts
(by Gavin Estey)

IBM Personal Computer Assembly Language Tutorial
A guide that introduces main topics of asm lang
(by Joshua Auerbach)

Intro to Assembler
An intro to Intel ASM programming
(by VLA)

Masm 5 Instructions, Directives and Interrupts
A 30 page listing for assembly programmers
(by n/d)

Optimizations for Intel's 32-Bit Processors
A 49 page guide on Intel Asm Code Optimization
(by Bev Zaharie)

PC Assembly Language Manual
A book to learn basic Assembly in 195 pages (pdf)
(by Paul Carter)

Programming from the ground up
EBook on Linux Assembler programming
(by Jonathan Bartlett)

Protected Mode Tutorial v.0.02
Tutorial for Protected Mode programming in asm
(by Till Gerken)

Sk00l m3 ASM!!#@$!@#
An assembly programming guide
(by Ralph (AWC))

Static Detection of Vulnerabilities in x86 Code
Analysis of assembly code for security problems
(by M.Cova V.Felmetsger G.Banks G.Vigna)

System V Application Binary Interface
AMD 64 bit programming
(by various)

The PC GAMES PROGRAMMERS ENCYCLOPEDIA 1.0
A collection of 85 asm programming documents
(by various)

Win32 asm
Manage win32 projects in assembly language
(by unknown)

Win32 Course in 35 Lessons
Una guida con codice d'esempio per w32asm
(by Iczelion)

X86 Assembly Tips And Tricks
Asm coding programming tricks
(by Laura Fairhead)

x86 Quick Reference Instruction Manual
8086/80186/80286/80386/80486 Instruction Set
(by thenet)

x86-64 Machine Level Programming
A manual about common 64 bit issues
(by Randal E. Bryant / David R. OíHallaron)

 Tags: 64 bit, asm tutorial


webmaster jes
writers rguru, tech-g, aiguru, drAx

site optimized for IE/Firefox/Chrome with 1024x768 resolution

Valid HTML 4.01 Transitional


ALL TRADEMARKS ® ARE PROPERTY OF LEGITTIMATE OWNERS.
© ALL RIGHTS RESERVED.

hosting&web - www.accademia3.it

grossocactus
find rguru on
http://www.twitter.com/sicurezza3/
... send an email ...
Your name

Destination email

Message

captcha! Code