Virtual University of Pakistan
Assembly Language Notes
Download
Link:
http://www.megaupload.com/?d=0LSY694U
Beginning Visual C# 2005
Link:
http://www.megaupload.com/?d=ZDMZDF7X
Beginning Visual C# 2005 Express Edition
Link:
http://www.megaupload.com/?d=ER6ALJHW
C# Developer's Guide to ASP.NET, XML, and ADO.NET
Link:
http://www.megaupload.com/?d=W944KGF2
C# 2.0 : The Complete Reference
Link:
http://www.megaupload.com/?d=Z90LIOZC
C# 2005 For Dummies
Link:
http://www.megaupload.com/?d=UKA1CBFD
C# 2005 Programmer's Reference
Link:
http://www.megaupload.com/?d=OBVVDROQ
C# Bible
Link:
http://www.megaupload.com/?d=SCU9J2HC
C# COM+ Programming
Link:
http://www.megaupload.com/?d=6CR66ROF
C# Class Design Handbook: Coding Effective Classes
Link:
http://www.megaupload.com/?d=MG5L0X5L
C# Design Patterns: A Tutorial
Link:
http://www.megaupload.com/?d=5LL3C9RE
C# Professional Projects
Link:
http://www.megaupload.com/?d=9I871YS9
C# Threading Handbook
Link:
http://www.megaupload.com/?d=HEQHQXQ8
C# essentials
Link:
http://www.megaupload.com/?d=2GDR5ECU
C#.NET Illuminated
Link:
http://www.megaupload.com/?d=4SSQ35LF
C#.net Web Developer's Guide
Link:
http://www.megaupload.com/?d=HG6RDHRY
Core C# and .NET
Link:
http://www.megaupload.com/?d=HDAJGWQ5
Distributed .NET Programming in C#
Link:
http://www.megaupload.com/?d=O317GTC7
Effective C#: 50 Specific Ways to Improve your C#
Link:
http://www.megaupload.com/?d=8GAVF5D1
Essential C# 2.0
Link:
http://www.megaupload.com/?d=JG4U9QMJ
Expert C# 2005 Business Objects, Second Edition
Link:
http://www.megaupload.com/?d=3KUJVZCZ
Expert C# Business Objects
Link:
http://www.megaupload.com/?d=1OI42WVV
GDI+ Custom Controls with Visual C# 2005
Link:
http://www.megaupload.com/?d=ITNUY6XQ
GDI+ Programming: Creating Custom .Net Controls Using C#
Link:
http://www.megaupload.com/?d=JHK7J9ZV
Illustrated C# 2005
Link:
http://www.megaupload.com/?d=F0B30GTE
LINQ for Visual C# 2005
Link:
http://www.megaupload.com/?d=065S0OZR
LINQ: The Future of Data Access in C# 3.0
Link:
http://www.megaupload.com/?d=S6P4RK1K
Learning C# 2005 : Get Started with C# and .NET Programming
Link:
http://www.megaupload.com/?d=88PP1QNM
Mastering C# database programming
Link:
http://www.megaupload.com/?d=5V5UTL5R
Microsoft Visual C# 2005 Express Edition
Link:
http://www.megaupload.com/?d=4IIQ9SJM
Microsoft Visual C# 2005 Unleashed
Link:
http://www.megaupload.com/?d=UVBNEAJO
Microsoft Visual C#. NET 2003 kick start
Link:
http://www.megaupload.com/?d=VC1MSW9N
Pragmatic Unit Testing in C# with NUnit
Link:
http://www.megaupload.com/?d=SO0PR3YC
Pro .NET 2.0 Code and Design Standards in C#
Link:
http://www.megaupload.com/?d=NGCQ9CJ0
Pro C# 2008 and the .NET 3.5 Platform
Link:
http://www.megaupload.com/?d=8GF9O2I4
Pro C# with .NET 3.0, Special Edition
Link:
http://www.megaupload.com/?d=308W40AR
Pro LINQ: Language Integrated Query in C# 2008
Link:
http://www.megaupload.com/?d=XVV4BWN1
Professional C# Third Edition
Link:
http://www.megaupload.com/?d=FIV6CIS0
Professional C# 2005
Link:
http://www.megaupload.com/?d=9NWZHTPC
Professional C# 2005 with .NET 3.0
Link:
http://www.megaupload.com/?d=MPDOGWYA
Programming C#
Link:
http://www.megaupload.com/?d=FQJ8LWX4
Programming Microsoft Visual C# 2005
Link:
http://www.megaupload.com/?d=MD8RQXR2
Programming Windows Workflow Foundation
Link:
http://www.megaupload.com/?d=N7LLM035
Programming in the Key of C#
Link:
http://www.megaupload.com/?d=DZX509XI
Sams Teach Yourself Visual C# 2005 in 24 Hours
Link:
http://www.megaupload.com/?d=5YZDO85E
Sams teach yourself C# in 24 hours
Link:
http://www.megaupload.com/?d=55DJK2CS
Thinking in C#
Link:
http://www.megaupload.com/?d=JXWF1EP3
Unlocking Microsoft C# V 2.0 Programming Secrets
Link:
http://www.megaupload.com/?d=ESZ7LAUJ
Visual C# 2005 Demystified
Link:
http://www.megaupload.com/?d=L6VQPI0U
Visual C# 2005 Express Edition Starter Kit
Link:
http://www.megaupload.com/?d=SU087O0E
Visual C# 2005 Recipes: A Problem-Solutio Approach
Link:
http://www.megaupload.com/?d=YJAZL2ME
Visual C# 2005: How to Program, Second Edition
Link:
http://www.megaupload.com/?d=QX0FHIL1
Windows Forms Programming with C#
Link:
http://www.megaupload.com/?d=5Z5AK2ID
Downloading and installing the Microsoft Assembler 8.0: Visit Microsoft's MASM 8.0 download site. Follow the download and installation instructions on the Microsoft page. If the link is broken, please let us know by email. Note that this MASM download only works with Visual C++ 2005 Express. MASM 8.0 is almost identical to MASM 9.0.
The latest copy of the example programs are listed below.
| |
| Example programs and link libraries (designed for Visual Studio 2008) New |
| Example programs and link libraries (designed for Visual Studio 2005) |
The examples are stored in a self-extracting archive file that automatically extracts to the c:\Irvine folder. Unless you have some objection to using that location, do not alter the path. (Lab managers: you can designate c:\Irvine directory as read-only.) If you plan to change the installation location, read our instructions relating to changing project properties.
The folllowing files will be copied into the c:\Irvine directory:
| Filename | Description |
| GraphWin.inc | Include file for writing Windows applications |
| Irvine16.inc | Include file used with the Irvine16 link library (16-bit applications) |
| Irvine16.lib | 16-bit link function library used with this book |
| Irvine32.inc | Include file used with the Irvine32 link library (32-bit applications) |
| Link16.exe | 16-bit linker |
| Irvine32.lib | 32-bit link function library used with this book |
| Macros.inc | Include file containing macros (explained in Chapter 10) |
| SmallWin.inc | Small-sized include file, used by Irvine32.inc |
| make16.bat | Batch file for building 16-bit applications |
| VirtualKeys.inc | Keyboard code definitions file, used by Irvine32.inc |
A subdirectory named Examples will contain all the example programs shown in the book.
Start Visual C++ Express, and select Options from the Tools menu. Select Text Editor, Select All Languages, and select Tabs:
Set the Tab Size and Indent Size to 5.
Visual Studio and Visual C++ Express require assembly language source files to belong to a project, which is a kind of container. A project holds configuration information such as the locations of the assembler, linker, and required libraries. A project has its own folder, and it holds the names and locations of all files belonging to it. We have created a sample project folder in the c:\Irvine\Examples directory, and its name is Project_Sample.
Do the following steps, in order:
| Tip: If the Solution Explorer window is not visible, select Solution Explorer from the View menu. Also, if you do not see main.asm in the Solution Explorer window, look at the tabs along the bottom of the window. Click the Solution Explorer tab. |
You should see the following program in the editor window:
TITLE MASM Template (main.asm)
|
Later, we'll show you how to copy this program and use it as a starting point to write your own programs.
Next, you will build (assemble and link) the sample program:
In the output window at the bottom of the screen, you should see messages similar to the following, indicating the build progress:
1>------ Build started: Project: Project, Configuration: Debug Win32 ------ |
If you do not see these messages, the project has probably not been modified since it was last built. No problem--just add a space somewhere in the document, save it, and try the Build command again.
Select Start without Debugging from the Debug menu. The following console window should appear, although your window will be larger than the one shown here:
The "Press any key to continue..." message is automatically generated by Visual C++ Express.
Congratulations, you have just run your first Assembly Language program.
Press any key to close the Console window.
| When you assembled and linked the project, a file named Project.exe was created inside the project's \Debug folder. This is the file that executes when you run the project. You can execute Project.exe by double-clicking its name inside Windows Explorer, but it will just flash on the screen and disappear. That is because Windows Explorer does not pause the display before closing the command window. |
Before long, you will want to create your own projects. The easiest way to do this is to copy the entire c:\Irvine\Examples\Project_Sample folder to a new location. Copy it to a folder in which you have read/write permissions. (If you're working in a college computer lab, a useful location is a portable USB drive. Then you can modify the program, build, and run it again.
In this step, you will set a breakpoint inside the sample program. Then you will use the Visual C++ debugger to step through the program's execution one statement at a time.
If you want to display the CPU registers, do the following: Start debugging the program, then select Windows from the Debug menu. Select Registers from the drop-down list. The bottom window will display the register contents. Right click this window and check the item Flags to enable the display of conditional flags.
You can interrupt a debugging session at any time by selecting Stop Debugging from the Debug menu. You can do the same by clicking the blue square button on the toolbar. To remove a breakpoint from the program, click on the red dot so that it disappears.
If you set a breakpoint in a program, you can use the debugger to execute the program a full speed (more or less) until it reaches the breakpoint. At that point, the debugger drops into single-step mode.
You can remove a breakpoint by clicking its red dot with the mouse. Take a few minutes to experiment with the Debug menu commands. Set more breakpoints and run the program again. For the time being, you can use the F11 key to step through the program in the same way the F10 key did.
Suppose you want to run another example program, or possibly create your own program. You can either edit and modify main.asm, or you can remove main.asm from the project and insert some other .asm file into the project.
The easiest way to add an assembly language source file to an open project is to drag its filename with the mouse from a Windows Explorer window onto the name of your project in the Solution Explorer window. A reference to the file (not a copy) will be inserted in your project's directory. Try this now:
Here is what you should see in the Console window, except that only your EAX register will have the same value as ours:
When you press a key, the console window will close.
If you want to make a copy of an existing file, use Windows Explorer to copy the file into your project directory. Then, right-click the project name in Solution Explorer, select Add, select Existing Item, and select the filename.