The Art of Assembly Language, 2nd Edition

Download The Art of Assembly Language, 2nd Edition PDF Online Free

Author :
Publisher : No Starch Press
ISBN 13 : 1593272073
Total Pages : 764 pages
Book Rating : 4.5/5 (932 download)

DOWNLOAD NOW!


Book Synopsis The Art of Assembly Language, 2nd Edition by : Randall Hyde

Download or read book The Art of Assembly Language, 2nd Edition written by Randall Hyde and published by No Starch Press. This book was released on 2010-03-01 with total page 764 pages. Available in PDF, EPUB and Kindle. Book excerpt: Assembly is a low-level programming language that's one step above a computer's native machine language. Although assembly language is commonly used for writing device drivers, emulators, and video games, many programmers find its somewhat unfriendly syntax intimidating to learn and use. Since 1996, Randall Hyde's The Art of Assembly Language has provided a comprehensive, plain-English, and patient introduction to 32-bit x86 assembly for non-assembly programmers. Hyde's primary teaching tool, High Level Assembler (or HLA), incorporates many of the features found in high-level languages (like C, C++, and Java) to help you quickly grasp basic assembly concepts. HLA lets you write true low-level code while enjoying the benefits of high-level language programming. As you read The Art of Assembly Language, you'll learn the low-level theory fundamental to computer science and turn that understanding into real, functional code. You'll learn how to: –Edit, compile, and run HLA programs –Declare and use constants, scalar variables, pointers, arrays, structures, unions, and namespaces –Translate arithmetic expressions (integer and floating point) –Convert high-level control structures This much anticipated second edition of The Art of Assembly Language has been updated to reflect recent changes to HLA and to support Linux, Mac OS X, and FreeBSD. Whether you're new to programming or you have experience with high-level languages, The Art of Assembly Language, 2nd Edition is your essential guide to learning this complex, low-level language.

The Art of 64-Bit Assembly, Volume 1

Download The Art of 64-Bit Assembly, Volume 1 PDF Online Free

Author :
Publisher : No Starch Press
ISBN 13 : 1718501080
Total Pages : 1034 pages
Book Rating : 4.7/5 (185 download)

DOWNLOAD NOW!


Book Synopsis The Art of 64-Bit Assembly, Volume 1 by : Randall Hyde

Download or read book The Art of 64-Bit Assembly, Volume 1 written by Randall Hyde and published by No Starch Press. This book was released on 2021-11-30 with total page 1034 pages. Available in PDF, EPUB and Kindle. Book excerpt: A new assembly language programming book from a well-loved master. Art of 64-bit Assembly Language capitalizes on the long-lived success of Hyde's seminal The Art of Assembly Language. Randall Hyde's The Art of Assembly Language has been the go-to book for learning assembly language for decades. Hyde's latest work, Art of 64-bit Assembly Language is the 64-bit version of this popular text. This book guides you through the maze of assembly language programming by showing how to write assembly code that mimics operations in High-Level Languages. This leverages your HLL knowledge to rapidly understand x86-64 assembly language. This new work uses the Microsoft Macro Assembler (MASM), the most popular x86-64 assembler today. Hyde covers the standard integer set, as well as the x87 FPU, SIMD parallel instructions, SIMD scalar instructions (including high-performance floating-point instructions), and MASM's very powerful macro facilities. You'll learn in detail: how to implement high-level language data and control structures in assembly language; how to write parallel algorithms using the SIMD (single-instruction, multiple-data) instructions on the x86-64; and how to write stand alone assembly programs and assembly code to link with HLL code. You'll also learn how to optimize certain algorithms in assembly to produce faster code.

The Art of Assembly Language Programming Using PIC® Technology

Download The Art of Assembly Language Programming Using PIC® Technology PDF Online Free

Author :
Publisher : Newnes
ISBN 13 : 0128126183
Total Pages : 460 pages
Book Rating : 4.1/5 (281 download)

DOWNLOAD NOW!


Book Synopsis The Art of Assembly Language Programming Using PIC® Technology by : Theresa Schousek

Download or read book The Art of Assembly Language Programming Using PIC® Technology written by Theresa Schousek and published by Newnes. This book was released on 2019-04-24 with total page 460 pages. Available in PDF, EPUB and Kindle. Book excerpt: The Art of Assembly Language Programming using PIC® Technology thoroughly covers assembly language as used in programming the PIC® Microcontroller (MCU). Using the minimal instruction set, characteristic of most PIC® products, the author elaborates on the nuances of how to execute loops. Fundamental design practices are presented based on Orr's Structured Systems Development using four logical control structures. These control structures are presented in Flowcharting, Warnier-Orr® diagrams, State Diagrams, Pseudocode, and an extended example using SysML®. Basic math instructions of Add and Subtract are presented, along with a cursory presentation of advanced math routines provided as proven Microchip® utility Application Notes. Appendices are provided for completeness, especially for the advanced reader, including several Instruction Sets, ASCII character sets, Decimal-Binary-Hexadecimal conversion tables, and elaboration of ten 'Best Practices.' Two datasheets (one complete datasheet on the 10F20x series and one partial datasheet on the 16F88x series) are also provided in the Appendices to serve as an important reference, enabling the new embedded programmer to develop familiarity with the format of datasheets and the skills needed to assess the product datasheet for proper selection of a microcontroller family for any specific project. The Art of Assembly Language Programming Using PIC® Technology is written for an audience with a broad variety of skill levels, ranging from the absolute beginner completely new to embedded control to the embedded C programmer new to assembly language. With this book, you will be guided through the following areas: - Symbols and terminology used by programmers and engineers in microcontroller applications - Programming using assembly language through examples - Familiarity with design and development practices - Basics of mathematical knowledge in hexadecimal - Resources for advanced mathematical functions Approaches to locate resources - Teaches how to start writing simple code, e.g., PICmicro® 10FXXX and 12FXXX - Offers unique and novel approaches on how to add your personal touch using PICmicro® 'bread and butter' enhanced mid-range 16FXXX and 18FXXX processors - Teaches new coding and math knowledge to help build skillsets - Shows how to dramatically reduce product cost by achieving 100% control - Demonstrates how to gain optimization over C programming, reduce code space, tighten up timing loops, reduce the size of microcontrollers required, and lower overall product cost

Zen of Assembly Language: Knowledge

Download Zen of Assembly Language: Knowledge PDF Online Free

Author :
Publisher : Scott Foresman Trade
ISBN 13 : 9780673386021
Total Pages : 640 pages
Book Rating : 4.3/5 (86 download)

DOWNLOAD NOW!


Book Synopsis Zen of Assembly Language: Knowledge by : Michael Abrash

Download or read book Zen of Assembly Language: Knowledge written by Michael Abrash and published by Scott Foresman Trade. This book was released on 1990-01-01 with total page 640 pages. Available in PDF, EPUB and Kindle. Book excerpt: The most comprehensive treatment of advanced assembler programming ever published, this book presents a way of programming that involves intuitive, right-brain thinking. Also probes hardware aspects that affect code performance and compares programming techniques.

Notes Toward a Performative Theory of Assembly

Download Notes Toward a Performative Theory of Assembly PDF Online Free

Author :
Publisher : Harvard University Press
ISBN 13 : 067449556X
Total Pages : 257 pages
Book Rating : 4.6/5 (744 download)

DOWNLOAD NOW!


Book Synopsis Notes Toward a Performative Theory of Assembly by : Judith Butler

Download or read book Notes Toward a Performative Theory of Assembly written by Judith Butler and published by Harvard University Press. This book was released on 2015-11-17 with total page 257 pages. Available in PDF, EPUB and Kindle. Book excerpt: A Times Higher Education Book of the Week Judith Butler elucidates the dynamics of public assembly under prevailing economic and political conditions, analyzing what they signify and how. Understanding assemblies as plural forms of performative action, Butler extends her theory of performativity to argue that precarity—the destruction of the conditions of livability—has been a galvanizing force and theme in today’s highly visible protests. “Butler’s book is everything that a book about our planet in the 21st century should be. It does not turn its back on the circumstances of the material world or give any succour to those who wish to view the present (and the future) through the lens of fantasies about the transformative possibilities offered by conventional politics Butler demonstrates a clear engagement with an aspect of the world that is becoming in many political contexts almost illicit to discuss: the idea that capitalism, certainly in its neoliberal form, is failing to provide a liveable life for the majority of human beings.” —Mary Evans, Times Higher Education “A heady immersion into the thought of one of today’s most profound philosophers of action...This is a call for a truly transformative politics, and its relevance to the fraught struggles taking place in today’s streets and public spaces around the world cannot be denied.” —Hans Rollman, PopMatters

Assembly Language

Download Assembly Language PDF Online Free

Author :
Publisher : Wiley
ISBN 13 : 9780471578147
Total Pages : 0 pages
Book Rating : 4.5/5 (781 download)

DOWNLOAD NOW!


Book Synopsis Assembly Language by : Jeff Duntemann

Download or read book Assembly Language written by Jeff Duntemann and published by Wiley. This book was released on 1992-10-06 with total page 0 pages. Available in PDF, EPUB and Kindle. Book excerpt: Begins with the most fundamental, plain-English concepts and everyday analogies progressing to very sophisticated assembly principles and practices. Examples are based on the 8086/8088 chips but all code is usable with the entire Intel 80X86 family of microprocessors. Covers both TASM and MASM. Gives readers the foundation necessary to create their own executable assembly language programs.

Assembly

Download Assembly PDF Online Free

Author :
Publisher : Little, Brown
ISBN 13 : 0316268461
Total Pages : 85 pages
Book Rating : 4.3/5 (162 download)

DOWNLOAD NOW!


Book Synopsis Assembly by : Natasha Brown

Download or read book Assembly written by Natasha Brown and published by Little, Brown. This book was released on 2021-09-14 with total page 85 pages. Available in PDF, EPUB and Kindle. Book excerpt: This blistering, fearless, and unforgettable literary novel finds a woman with everything on the line and a life-or-death decision waiting for her—perfect for fans of Claudia Rankine and Jenny Offill. Come of age in the credit crunch. Be civil in a hostile environment. Go to college, get an education, start a career. Do all the right things. Buy an apartment. Buy art. Buy a sort of happiness. But above all, keep your head down. Keep quiet. And keep going. The narrator of Assembly is a black British woman. She is preparing to attend a lavish garden party at her boyfriend’s family estate, set deep in the English countryside. At the same time, she is considering the carefully assembled pieces of herself. As the minutes tick down and the future beckons, she can’t escape the question: is it time to take it all apart? Assembly is a story about the stories we live within – those of race and class, safety and freedom, winners and losers.And it is about one woman daring to take control of her own story, even at the cost of her life. With a steely, unfaltering gaze, Natasha Brown dismantles the mythology of whiteness, lining up the debris in a neat row and walking away. "Virginia Woolf's Mrs. Dalloway meets Claudia Rankine's Citizen...as breathtakingly graceful as it is mercilessly true.”—Olivia Sudjic, author of Sympathy and Asylum Road A woman confronts the most important question of her life in this blistering, fearless, and unforgettable literary debut from "a stunning new writer." (Bernardine Evaristo) “A quiet, measured call to revolution…This is the kind of book that doesn’t just mark the moment things change, but also makes that change possible.”—Ali Smith, author of Summer "Brilliant. Brown's gaze is piercing."—Avni Doshi, author of Burnt Sugar

Guide to Assembly Language

Download Guide to Assembly Language PDF Online Free

Author :
Publisher : Springer Science & Business Media
ISBN 13 : 0857292714
Total Pages : 262 pages
Book Rating : 4.8/5 (572 download)

DOWNLOAD NOW!


Book Synopsis Guide to Assembly Language by : James T. Streib

Download or read book Guide to Assembly Language written by James T. Streib and published by Springer Science & Business Media. This book was released on 2011-03-01 with total page 262 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book will enable the reader to very quickly begin programming in assembly language. Through this hands-on programming, readers will also learn more about the computer architecture of the Intel 32-bit processor, as well as the relationship between high-level and low-level languages. Topics: presents an overview of assembly language, and an introduction to general purpose registers; illustrates the key concepts of each chapter with complete programs, chapter summaries, and exercises; covers input/output, basic arithmetic instructions, selection structures, and iteration structures; introduces logic, shift, arithmetic shift, rotate, and stack instructions; discusses procedures and macros, and examines arrays and strings; investigates machine language from a discovery perspective. This textbook is an ideal introduction to programming in assembly language for undergraduate students, and a concise guide for professionals wishing to learn how to write logically correct programs in a minimal amount of time.

Assembly Language: Simple, Short, and Straightforward Way of Learning Assembly Programming

Download Assembly Language: Simple, Short, and Straightforward Way of Learning Assembly Programming PDF Online Free

Author :
Publisher : Sherwyn Allibang
ISBN 13 :
Total Pages : 145 pages
Book Rating : 4./5 ( download)

DOWNLOAD NOW!


Book Synopsis Assembly Language: Simple, Short, and Straightforward Way of Learning Assembly Programming by : Dr. SHERWYN ALLIBANG

Download or read book Assembly Language: Simple, Short, and Straightforward Way of Learning Assembly Programming written by Dr. SHERWYN ALLIBANG and published by Sherwyn Allibang. This book was released on 2020-10-10 with total page 145 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book is intended for beginners who would like to learn the basics of Assembly Programming. This book uses Simple words, Short sentences, and Straightforward paragraphs. The triple S way to learn Assembly Programming. The topics covered in this book includes a brief introduction to assembly, common arithmetic instructions, character and string input and display routines, flow controls including conditional and looping statements, stack, and procedures. This assembly language book is intended for complete beginners in assembly programming. However, it is assumed that the reader has prior or basic knowledge with other programming languages. This book includes screenshots of step by step of how to code, compile, link, and run assembly programs. This book is packed with working sample assembly programs and after reading this book, the reader would be able to develop assembly programs based particularly on problems given in computer science courses.

Professional Assembly Language

Download Professional Assembly Language PDF Online Free

Author :
Publisher : John Wiley & Sons
ISBN 13 : 0764579010
Total Pages : 12 pages
Book Rating : 4.7/5 (645 download)

DOWNLOAD NOW!


Book Synopsis Professional Assembly Language by : Richard Blum

Download or read book Professional Assembly Language written by Richard Blum and published by John Wiley & Sons. This book was released on 2005-02-11 with total page 12 pages. Available in PDF, EPUB and Kindle. Book excerpt: Unlike high-level languages such as Java and C++, assembly language is much closer to the machine code that actually runs computers; it's used to create programs or modules that are very fast and efficient, as well as in hacking exploits and reverse engineering Covering assembly language in the Pentium microprocessor environment, this code-intensive guide shows programmers how to create stand-alone assembly language programs as well as how to incorporate assembly language libraries or routines into existing high-level applications Demonstrates how to manipulate data, incorporate advanced functions and libraries, and maximize application performance Examples use C as a high-level language, Linux as the development environment, and GNU tools for assembling, compiling, linking, and debugging

Write Great Code, Volume 1

Download Write Great Code, Volume 1 PDF Online Free

Author :
Publisher : No Starch Press
ISBN 13 : 1593270992
Total Pages : 461 pages
Book Rating : 4.5/5 (932 download)

DOWNLOAD NOW!


Book Synopsis Write Great Code, Volume 1 by : Randall Hyde

Download or read book Write Great Code, Volume 1 written by Randall Hyde and published by No Starch Press. This book was released on 2004-11-01 with total page 461 pages. Available in PDF, EPUB and Kindle. Book excerpt: Today's programmers are often narrowly trained because the industry moves too fast. That's where Write Great Code, Volume 1: Understanding the Machine comes in. This, the first of four volumes by author Randall Hyde, teaches important concepts of machine organization in a language-independent fashion, giving programmers what they need to know to write great code in any language, without the usual overhead of learning assembly language to master this topic. A solid foundation in software engineering, The Write Great Code series will help programmers make wiser choices with respect to programming statements and data types when writing software.

Programming from the Ground Up

Download Programming from the Ground Up PDF Online Free

Author :
Publisher : Orange Grove Texts Plus
ISBN 13 : 9781616100643
Total Pages : 0 pages
Book Rating : 4.1/5 (6 download)

DOWNLOAD NOW!


Book Synopsis Programming from the Ground Up by : Jonathan Bartlett

Download or read book Programming from the Ground Up written by Jonathan Bartlett and published by Orange Grove Texts Plus. This book was released on 2009-09-24 with total page 0 pages. Available in PDF, EPUB and Kindle. Book excerpt: Programming from the Ground Up uses Linux assembly language to teach new programmers the most important concepts in programming. It takes you a step at a time through these concepts: * How the processor views memory * How the processor operates * How programs interact with the operating system * How computers represent data internally * How to do low-level and high-level optimization Most beginning-level programming books attempt to shield the reader from how their computer really works. Programming from the Ground Up starts by teaching how the computer works under the hood, so that the programmer will have a sufficient background to be successful in all areas of programming. This book is being used by Princeton University in their COS 217 "Introduction to Programming Systems" course.

Security Warrior

Download Security Warrior PDF Online Free

Author :
Publisher : "O'Reilly Media, Inc."
ISBN 13 : 0596552394
Total Pages : 554 pages
Book Rating : 4.5/5 (965 download)

DOWNLOAD NOW!


Book Synopsis Security Warrior by : Cyrus Peikari

Download or read book Security Warrior written by Cyrus Peikari and published by "O'Reilly Media, Inc.". This book was released on 2004-01-12 with total page 554 pages. Available in PDF, EPUB and Kindle. Book excerpt: When it comes to network security, many users and administrators are running scared, and justifiably so. The sophistication of attacks against computer systems increases with each new Internet worm.What's the worst an attacker can do to you? You'd better find out, right? That's what Security Warrior teaches you. Based on the principle that the only way to defend yourself is to understand your attacker in depth, Security Warrior reveals how your systems can be attacked. Covering everything from reverse engineering to SQL attacks, and including topics like social engineering, antiforensics, and common attacks against UNIX and Windows systems, this book teaches you to know your enemy and how to be prepared to do battle.Security Warrior places particular emphasis on reverse engineering. RE is a fundamental skill for the administrator, who must be aware of all kinds of malware that can be installed on his machines -- trojaned binaries, "spyware" that looks innocuous but that sends private data back to its creator, and more. This is the only book to discuss reverse engineering for Linux or Windows CE. It's also the only book that shows you how SQL injection works, enabling you to inspect your database and web applications for vulnerability.Security Warrior is the most comprehensive and up-to-date book covering the art of computer war: attacks against computer systems and their defenses. It's often scary, and never comforting. If you're on the front lines, defending your site against attackers, you need this book. On your shelf--and in your hands.

Assembly Language Step-by-Step

Download Assembly Language Step-by-Step PDF Online Free

Author :
Publisher : John Wiley & Sons
ISBN 13 : 1118080998
Total Pages : 596 pages
Book Rating : 4.1/5 (18 download)

DOWNLOAD NOW!


Book Synopsis Assembly Language Step-by-Step by : Jeff Duntemann

Download or read book Assembly Language Step-by-Step written by Jeff Duntemann and published by John Wiley & Sons. This book was released on 2011-03-03 with total page 596 pages. Available in PDF, EPUB and Kindle. Book excerpt: The eagerly anticipated new edition of the bestselling introduction to x86 assembly language The long-awaited third edition of this bestselling introduction to assembly language has been completely rewritten to focus on 32-bit protected-mode Linux and the free NASM assembler. Assembly is the fundamental language bridging human ideas and the pure silicon hearts of computers, and popular author Jeff Dunteman retains his distinctive lighthearted style as he presents a step-by-step approach to this difficult technical discipline. He starts at the very beginning, explaining the basic ideas of programmable computing, the binary and hexadecimal number systems, the Intel x86 computer architecture, and the process of software development under Linux. From that foundation he systematically treats the x86 instruction set, memory addressing, procedures, macros, and interface to the C-language code libraries upon which Linux itself is built. Serves as an ideal introduction to x86 computing concepts, as demonstrated by the only language directly understood by the CPU itself Uses an approachable, conversational style that assumes no prior experience in programming of any kind Presents x86 architecture and assembly concepts through a cumulative tutorial approach that is ideal for self-paced instruction Focuses entirely on free, open-source software, including Ubuntu Linux, the NASM assembler, the Kate editor, and the Gdb/Insight debugger Includes an x86 instruction set reference for the most common machine instructions, specifically tailored for use by programming beginners Woven into the presentation are plenty of assembly code examples, plus practical tips on software design, coding, testing, and debugging, all using free, open-source software that may be downloaded without charge from the Internet.

6502 Assembly Language Programming

Download 6502 Assembly Language Programming PDF Online Free

Author :
Publisher : McGraw-Hill/Osborne Media
ISBN 13 :
Total Pages : 684 pages
Book Rating : 4.3/5 (91 download)

DOWNLOAD NOW!


Book Synopsis 6502 Assembly Language Programming by : Lance A. Leventhal

Download or read book 6502 Assembly Language Programming written by Lance A. Leventhal and published by McGraw-Hill/Osborne Media. This book was released on 1986 with total page 684 pages. Available in PDF, EPUB and Kindle. Book excerpt:

Assembly Language for X86 Processors

Download Assembly Language for X86 Processors PDF Online Free

Author :
Publisher : Pearson Custom Publishing
ISBN 13 : 9781323052532
Total Pages : 874 pages
Book Rating : 4.0/5 (525 download)

DOWNLOAD NOW!


Book Synopsis Assembly Language for X86 Processors by : Kip R Irvine

Download or read book Assembly Language for X86 Processors written by Kip R Irvine and published by Pearson Custom Publishing. This book was released on 2015-10-22 with total page 874 pages. Available in PDF, EPUB and Kindle. Book excerpt:

Introduction to 64 Bit Assembly Programming for Linux and OS X

Download Introduction to 64 Bit Assembly Programming for Linux and OS X PDF Online Free

Author :
Publisher : Createspace Independent Pub
ISBN 13 : 9781484921906
Total Pages : 270 pages
Book Rating : 4.9/5 (219 download)

DOWNLOAD NOW!


Book Synopsis Introduction to 64 Bit Assembly Programming for Linux and OS X by : Ray Seyfarth

Download or read book Introduction to 64 Bit Assembly Programming for Linux and OS X written by Ray Seyfarth and published by Createspace Independent Pub. This book was released on 2014-06-30 with total page 270 pages. Available in PDF, EPUB and Kindle. Book excerpt: This is the third edition of this assembly language programming textbook introducing programmers to 64 bit Intel assembly language. The primary addition to the third edition is the discussion of the new version of the free integrated development environment, ebe, designed by the author specifically to meet the needs of assembly language programmers. The new ebe is a C++ program using the Qt library to implement a GUI environment consisting of a source window, a data window, a register, a floating point register window, a backtrace window, a console window, a terminal window and a project window along with 2 educational tools called the "toy box" and the "bit bucket." The source window includes a full-featured text editor with convenient controls for assembling, linking and debugging a program. The project facility allows a program to be built from C source code files and assembly source files. Assembly is performed automatically using the yasm assembler and linking is performed with ld or gcc. Debugging operates by transparently sending commands into the gdb debugger while automatically displaying registers and variables after each debugging step. Additional information about ebe can be found at http: //www.rayseyfarth.com. The second important addition is support for the OS X operating system. Assembly language is similar enough between the two systems to cover in a single book. The book discusses the differences between the systems. The book is intended as a first assembly language book for programmers experienced in high level programming in a language like C or C++. The assembly programming is performed using the yasm assembler automatically from the ebe IDE under the Linux operating system. The book primarily teaches how to write assembly code compatible with C programs. The reader will learn to call C functions from assembly language and to call assembly functions from C in addition to writing complete programs in assembly language. The gcc compiler is used internally to compile C programs. The book starts early emphasizing using ebe to debug programs, along with teaching equivalent commands using gdb. Being able to single-step assembly programs is critical in learning assembly programming. Ebe makes this far easier than using gdb directly. Highlights of the book include doing input/output programming using the Linux system calls and the C library, implementing data structures in assembly language and high performance assembly language programming. Early chapters of the book rely on using the debugger to observe program behavior. After a chapter on functions, the user is prepared to use printf and scanf from the C library to perform I/O. The chapter on data structures covers singly linked lists, doubly linked circular lists, hash tables and binary trees. Test programs are presented for all these data structures. There is a chapter on optimization techniques and 3 chapters on specific optimizations. One chapter covers how to efficiently count the 1 bits in an array with the most efficient version using the recently-introduced popcnt instruction. Another chapter covers using SSE instructions to create an efficient implementation of the Sobel filtering algorithm. The final high performance programming chapter discusses computing correlation between data in 2 arrays. There is an AVX implementation which achieves 20.5 GFLOPs on a single core of a Core i7 CPU. A companion web site, http: //www.rayseyfarth.com, has a collection of PDF slides which instructors can use for in-class presentations and source code for sample programs.