List of Listings

Chapter 1: Windows Programming Tools

Listing 1.1: The "Do Nothing" program
Listing 1.2: Using the INCLUDE directive
Listing 1.3: The PROG2.ASM module containing PROC1 procedure that will be called from the main module
Listing 1.4: The PROG1.ASM module, calling a procedure from PROG2.ASM
Listing 1.5: Using the INVOKE directive
Listing 1.6: Using the library
Listing 1.7: The module containing the ALT variable used in another module, PROG1.ASM
Listing 1.8: The module using the ALT variable defined in another module, PROG2.ASM
Listing 1.9: A program that uses simplified segmentation
Listing 1.10: The results of disassembling a program using DUMPPE.EXE

Chapter 2: Windows Programming Basics

Listing 2.1: The "skeleton" of window procedure
Listing 2.2: An example of a simple Windows application (MASM32)
Listing 2.3: An easy example of a Windows application (TASM32)

Chapter 3: Simple Programs Written in Assembly Language

Listing 3.1: A window with an Exit button
Listing 3.2: A window with an edit field
Listing 3.3: A window with a simple list
Listing 3.4: A program that creates a main window and two secondary windows

Chapter 4: 16-Bit Programming Overview

Listing 4.1: An example of a 16-bit application

Chapter 5: MASM and TASM Assemblers

Listing 5.1: A self-assembling and self-linking program

Chapter 6: Text Encoding in Windows

Listing 6.1: The fragment that carries out ANSI to UNICODE conversion

Chapter 7: Examples of Simple Programs

Listing 7.1: The simplest program that performs text output
Listing 7.2: Keeping the text string in the center of the window
Listing 7.3: Program fragment that outputs text using a custom font (see Fig. 7.1)
Listing 7.4: Copying one string into another
Listing 7.5: A simple program demonstrating how to work with graphics

Chapter 8: Console Applications

Listing 8.1: A simple console application for MASM32
Listing 8.2: A simple console application for TASM32
Listing 8.3: Creating a console
Listing 8.4: Processing keyboard and mouse events for a console application
Listing 8.5: A timer in the console mode
Listing 8.6: Working with the command-line parameters

Chapter 9: The Concept of ResourceResource Editors and Compilers

Listing 9.1: A resource file with an icon code
Listing 9.2: The use of simple resources
Listing 9.3: A program with a menu
Listing 9.4: Modeless dialog with a menu and the processing of accelerator messages

Chapter 10: Examples of Programs That Use Resources

Listing 10.1: An example of manipulations with the menu
Listing 10.2: The use of hotkeys with a dialog box
Listing 10.3: A program working with two lists
Listing 10.4: A simple program presenting a window with elements in the Windows XP style

Chapter 11: Working with Files

Listing 11.1: A simple program that searches for files and displays the list of found files
Listing 11.2: Example program that recursively searches the directory tree
Listing 11.3: Text output from a file to a console (first method)
Listing 11.4: Output of the contents of a text file into a console (second method)
Listing 11.5: An example illustrating the processing of a text file
Listing 11.6: Obtaining time attributes of a file

Chapter 12: Assembly Language Macro Tools and Directives

Listing 12.1: Using conventional assembling to develop a compatible program

Chapter 13: More about File Management

Listing 13.1: The server software (SERVER.ASM) creates a mailslot and waits for messages
Listing 13.2: The client program (CLIENT.ASM) opens the mailslot and writes information there
Listing 13.3: Reading the disk master boot record and partition table

Chapter 14: Examples of Programs Using the Timer

Listing 14.1: The simplest timer
Listing 14.2: The use of two timers
Listing 14.3: Demonstration of popup help windows

Chapter 15: Multitasking

Listing 15.1: Creating a process
Listing 15.2: Creating a thread
Listing 15.3: Synchronizing two threads using a critical section

Chapter 16: Creating Dynamic Link Libraries

Listing 16.1: The simplest dynamic link library
Listing 16.2: Calling the dynamic link library: Explicit linking
Listing 16.3: Calling the dynamic link library: Implicit linking
Listing 16.4: Passing parameters between the main module and the dynamic link library
Listing 16.5: Loading resources from the dynamic link library
Listing 16.6: The use of shared memory in dynamic link libraries

Chapter 17: Network Programming

Listing 17.1: A simple example demonstrating how to determine the device type
Listing 17.2: An example program that connects to the network resource
Listing 17.3: Recursive search for network resources in a local area network
Listing 17.4: The server component that receives requests from the clients
Listing 17.5: The client program that calls the server component

Chapter 18: Solving Some Problems with Windows Programming

Listing 18.1: The procedure that places an icon on the system toolbar
Listing 18.2: The use of subclasses
Listing 18.3: Communications with console process through an anonymous pipe
Listing 18.4: Creating a list of running processes

Chapter 19: System Programming in Windows

Listing 19.1: Dynamical memory allocation
Listing 19.2: The global hook procedure

Chapter 20: Using Assembly Language with High-Level Languages

Listing 20.1: Using a procedure from an external module (built using Borland C++ 5.0)
Listing 20.2: A module written in Assembly language for compiling and linking using Visual C++ 7.0
Listing 20.3: Using an object module with a Delphi program
Listing 20.4: Using the fast calling convention when calling a procedure
Listing 20.5: The console application written in C++ calls the graphic user interface-mode procedure (Listing 20.6) defined in an Assembly module
Listing 20.6: Using resources and application program interface calls in the Assembly module
Listing 20.7: A C module for the simplest calculator, which will be combined with the Assembly code in Listing 20.8
Listing 20.8: Assembly module that must be combined with the C program from Listing 20.7
Listing 20.9: Using the ASM directive and coprocessor commands in a Pascal program
Listing 20.10: Using the ASM directive and coprocessor commands in a C program (Borland C++ 5.0)
Listing 20.11: A dynamic link library implemented in Delphi
Listing 20.12: How to call the dynamic link library (Listing 20.11) from an Assembly program

Chapter 21: Programming Services

Listing 21.1: The simplest service (SERV.EXE)
Listing 21.2: The program that installs the service (SETSERV.EXE)
Listing 21.3: The program that starts the service (STSERV.EXE)
Listing 21.4: The program that deletes the service (DELSERV.EXE)

Chapter 22: Overview of Debuggers and Disassemblers

Listing 22.1: Fragment of the disassembled code
Listing 22.2: A simple console application
Listing 22.3: Disassembled code of the program in Listing 22.2
Listing 22.4: An IDA Pro batch file

Chapter 23: Introduction to Turbo Debugger

Listing 23.1: A simple console application

Chapter 25: Code Analysis Basics

Listing 25.1: The main function of a console application
Listing 25.2: The final form of the C program reconstructed on the basis of the disassembled code
Listing 25.3: Two local arrays in a program disassembled using IDA Pro
Listing 25.4: The code fragment from Listing 25.3 in W32Dasm
Listing 25.5: A small C program
Listing 25.6: Disassembled code of the program in Listing 25.5 compiled using Borland C++ 5.0
Listing 25.7: Disassembled code of the program from Listing 25.5 compiled using Visual C++ 7.0
Listing 25.8: A simple C++ program using objects
Listing 25.9: Disassembled code of the main procedure in Listing 25.8
Listing 25.10: Disassembled code of the main function from Listing 25.8 using the -x Borland C++ option

Chapter 26: Correcting Executable Modules

Listing 26.1: The code fragment responsible for the delay
Listing 26.2: The code fragment that checks the number of times the program was started
Listing 26.3: The code fragment containing the call to the DialogBoxParam function
Listing 26.4: The beginning of the window function

Chapter 27: Driver Structure and Development

Listing 27.1: The VXD.DEF file used for compiling and building a virtual driver
Listing 27.2: A virtual driver's "skeleton"
Listing 27.3: The contents of the VXD 1.MAP file
Listing 27.3: A sample static virtual driver
Listing 27.4: The program that loads, uses, then unloads the virtual driver from the memory
Listing 27.5: An example dynamic driver
Listing 27.6: The structure containing the values of registers of the calling application
Listing 27.7: Attempting to play sound by accessing input and output ports in a console program
Listing 27.8: A simple kernel-mode driver that plays back a short sound signal
Listing 27.9: The KERN.INC file used by the driver in Listing 27.8
Listing 27.10: The program that opens the device created by the driver in Listing 27.11
Listing 27.11: The kernel-mode driver for creating a device that processes several requests


The Assembly Programming Master Book
The Assembly Programming Master Book
ISBN: 8170088178
EAN: 2147483647
Year: 2004
Pages: 140
Authors: Vlad Pirogov

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net