Archive for October 2012

Introduction to x86 Assembly Language


CIS-77 Home http://www.c-jump.com/CIS77/CIS77syllabus.htm

Introduction to x86 Assembly Language


  1. Advantages of High-Level Languages
  2. Why program in Assembly ?
  3. Here is why...
  4. Speed, Efficiency, Debugging, Optimization...
  5. Why MASM ?
  6. Introduction to 80x86 Assembly Language
  7. Materials on the Web
  8. Useful books, in no particular order
  9. Fundamental Concepts
  10. Software Environment
  11. Runtime Environment
  12. M1.ASM
  13. Assembly and C Code Compared
  14. More Assembly and C Code
  15. Assembly vs. Machine Language
  16. Controlling Program Flow
  17. Conditional Jumps
  18. General-Purpose Registers
  19. Typical Uses of General-Purpose Registers
  20. x86 Registers
  21. x86 Registers, Cont
  22. x86 Control Registers
  23. MOV, Data Transfer Instructions
  24. Ambiguous MOVes: PTR and OFFSET
  25. INC and DEC Arithmetic Instructions
  26. ADD Arithmetic Instruction
  27. ADD vs. INC
  28. SUB Arithmetic Instruction
  29. SUB vs. DEC
  30. CMP instruction
  31. Unconditional Jumps
  32. Conditional Jumps
  33. Conditional Jumps, Cont
  34. Conditional Jumps, Cont
  35. LOOP Instruction
  36. Logical Instructions
  37. Logical Instructions, Cont.
  38. Shift Instructions
  39. SHL and SHR Shift Instructions
  40. Shift Instructions Examples
  41. Rotate Instructions
  42. ROL and ROR, Rotate Without Carry
  43. RCL and RCR, Rotate With Carry
  44. EQU directive
  45. EQU Directive Syntax



Bristol Community College
Computer Information Systems Department

CIS-77 Introduction to Computer Systems

  • Welcome!
  • ________________________________________________________
  • Posted Dec 29:

Catalog Description

This course is an introduction to major components of computer systems. The course introduces fundamental concepts of computing systems such as binary arithmetic and data representation, the Von Neumann model for processing computer programs, the operation of memory, instruction set, and machine and assembly language programming. It systematically presents the levels of transformations from machine language to assembly language to high-level language. The course studies the role of such systems software components as assemblers, compilers, linkers, loaders, and operating systems. The course has a strong project component. Three class hours and two lab hours per week.
Instructor: Igor Kholodov Igor.Kholodov@bristolcc.edu
Office: K211
Telephone: 508-678-2811 ext. 3328

Course Objectives

Upon completion of this course, the students should be able to do the following:
  • Identify and describe different types of computing machines
  • Describe distinguishing components of Von-Neumann Architecture
  • Describe how computing machines are organized internally
  • Identify and explain the design trade offs between different computing machines
  • Describe how computers perform calculations
  • Understand principals of machine language and program in assembly.
  • Describe the relation between high level languages and assembly.
  • Define systematic sequence of transformations between layers of abstraction.
  • Explain how bits and bytes are organized to represent data electronically.
  • Describe how digital logic is used to build circuits to process information
  • Indicate program organization in memory
  • Understand program stack, stack frames, procedure calls, and parameters

Course Outline

Required Text


Introduction to Computing Systems
Authors: Sanjay J. Patel, Yale Patt

Title: Introduction to Computing Systems: From Bits and Gates
to C and Beyond. See also: Student Resources.

Publisher: McGraw-Hill, 2nd Edition, 2004.

ISBN-13: 9780072467505
ISBN-10: 0072467509

Reference Materials


  • Reference: Intel Volume 1, Basic Architecture in HTML format (or 1.9 MB ZIP)
  • Reference: Intel Volume 2, Instruction Set Reference in HTML format (or 4.2 MB ZIP)
  • Quick Referencex86 Instructions by Opcode
  • Quick Referencex86 Instructions by Mnemonic
  • Quick ReferenceBrief x86 Instruction Set Reference

  • File M00.zip contains DOS batch files that used in class to assemble small ASM programs. To build your program, simply drag and drop your ASM file on top of
    • _release_build.bat - to build a program.
    • _debug_build.bat - to build a program with debug info;

  • Same ASM file in M00project.zip added to MSVC 2005 project, which can be used to to assemble, link, and debug the program. 

  • Another MSVC 2005 project, M08project.zip, can be used as a starting point for M08lab, Console Input/Output. 

  • OllyDbg Debugger for Microsoft Windows: a debugger that emphasizes binary code analysis. Download OllyDbg 1.10 (final version). 


National Science Foundation
This material is based upon
work supported by the
National Science Foundation.
Any opinions, findings, conclusions, and recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Windows 7: Map a Network Drive


This tutorial will show two ways you can map a network share as a network drive.   By mapping a network drive in this fashion, it will have a drive letters just like a local harddrive. This make access more efficient and convenient. Some programs that are unable to use network shares will function when mapped to a drive using this method.

There are several methods for mapping the network share to a drive. I’ll demonstrate two of these methods.

From Windows Explorer:

1.Go to your Start Menu and then Right-Click on Computer. Then choose the Map Network Drive option.
2.In the Map Network Drive window, fill in or browse for the network share.  You will also set the drive letter to which you would like to assign the share.
If the network share has a different login or password, you can use the Connect using different credentials checkbox and fill in your username and password.
3.Click Finish and the drive will map and a new Windows Explorer window will open. The network share will not appear as a drive.

From Command Line:

1. Go to your Start Menu and type command and click on Command Prompt under the Programs section.  This will open the classic Command Prompt terminal window.
2.From the command line, we will use the “net use” command. Here’s the command structure with explanation of each of the parts afterwards.
net use drive: \\computername\sharename /Persistent:yes
drive: = driver letter to map share (for example, M: or N:)
\\computername\sharename = UNC path to network share, (for example, \\jimmy7\shared or\\10.100.1.3\shared.
/Persistent:yes = This option will force the drive to remap each time you reboot. Remove this option if you only want it mapped during this session.

Additional Hints:

Using the command line instructions, you can create a batch file and run it from your desktop to map drives when you need them.
Additionally, the following command will unmap a network drive from the command prompt or a batch file:
net use drive: /delete (where drive: = mapped drive, ie E: or N:)

How Do I Use Two Monitors with Windows 7?


These days everybody has more than one monitor available. However, running a dual monitor setup can be tricky to get working correctly. This tech-recipes tutorial will get you started.

These directions are for Windows 7 although the directions for XP and Vista are very similar.
Dual monitors rule! First things first, make sure your computer can support two monitors. The box will need the right outputs for dual monitors. I use a higher end GPU which allows me multiple HDMI outputs; however, Windows 7 is smart enough to use outputs of different types. For example, if you computer has a DVI and VGA outputs, you still can get a dual setup working. Most laptops have an external monitor connection which can be used as your second monitor.


How Do I Use Two Monitors with Windows 7?

These days everybody has more than one monitor available. However, running a dual monitor setup can be tricky to get working correctly. This tech-recipes tutorial will get you started.

These directions are for Windows 7 although the directions for XP and Vista are very similar.
Dual monitors rule! First things first, make sure your computer can support two monitors. The box will need the right outputs for dual monitors. I use a higher end GPU which allows me multiple HDMI outputs; however, Windows 7 is smart enough to use outputs of different types. For example, if you computer has a DVI and VGA outputs, you still can get a dual setup working. Most laptops have an external monitor connection which can be used as your second monitor.
1.Open the Start button on your desktop and in the search bar type Display. Click on theDisplay option when it appears.
windows 7 display search
2.From this control panel screen select Adjust Resolution on the left.
Windows 7 Adjust Resolution
3.Your second monitor should be detected. If it is not click Detect then Identify. My favorite thing to do is use both monitors as one big desktop. To do this, under Multiply Display selectExtend these displays. You will likely want to make sure your left monitor is set as the main display where your Windows task bar will appear.
Windows 7 dual monitors extend display
4.You can also duplicate the display which clone the image one one monitor to the second one.
Windows 7 duplicate monitors
Hopefully, you are now running a two monitor setup. If you find yourself having trouble getting your second monitor to display, just post in the comments and I will help you out. Check out Jimmy’s dual monitor tricks for additional cool things to do with a two monitor configuration.

Install Pear on Windows 7 64x using WAMP


Installing PEAR on Windows 7 seems simple; however, a few headaches with some recent versions of PHP can leave some people confused. The go-pear.bat file doesn’t exist in some 64x downloads of WAMP and PHP. By following these steps to workaround this issue, you should be able to get Pear installed into your WAMP setup.

You must have WAMP installed correctly first.
1We need to first locate the file go-pear.bat in our WAMP PHP install directory. In the current installation, this is located at C:\wamp\php\php5.3.13 although this will change based on your current version. In WAMP 64-bit versions sometimes this file is not included. Instead we can use the file go-pear.phar which can be downloaded here from pear.php.net.
2Put this file in the following directory:
C:\wamp\bin\php\php5.1.13
(This directory may be different depending on your version of PHP.)
3Now, pull up the Windows start menu, type in CMD, then hit enter. We need to look at the folder we just put the .phar file in, so enter this string:
cd C:\wamp\bin\php\php5.3.13
and hit enter. We should now be looking in this directory.
PEAR CMD
4Next, we will need to run this .phar file by using the following command:
php go-pear.phar
5It will ask “Are you installing a system-wide PEAR or local copy?” You will need to type “local” and hit enter. It will ask you to confirm by typing “yes” and hitting enter.
Pear local
6You will be shown the 12 file locations corresponding to where PEAR will install packages, documents, config files and more. I just leave these on default in my WAMP PHP folder. Press enter to bypass this and accept this.
7You may receive the following error:
This is letting you know your php.ini file doesn’t have the path that you just specified above in the CMD. If you type a simple “Y” and hit enter, the php.ini file will automatically be updated. Go ahead and do this if needed.
8You should be done with the CMD part now. If everything worked correctly, you should be notified that “The ‘pear’ command is now at your service…”
9Next, we need to add pear’s path to make sure that installing packages work. Go to Windows and type in System and hit enter. Click on Advanced System Settings on the left, then under the Advanced tab click Environment Variables.
Edit the Path Variable and append the location to your PHP version folder in wamp:
C:\wamp\bin\php\php5.3.13;
Hit okay to save it. Be sure to include the semi-colon at the end of the folder path.
10Now open back up our CMD and type in pear followed by enter. If everything is working correctly, you should see pear’s list of commands.

Intro to Algorithms - Lydia Sinapova


Lecture Notes
Based on Mark Allen Weiss,

Data Structures and Algorithm Analysis in Java. Addison-Wesley, 2nd edition, 2007.
ISBN 0-321-37013-9

Download Student Files

Web Design

HTML for Emails

Downloads
html_for_emails-course_files.zip (1687KB)

Introduction to HTML

Downloads
introduction_ to_html-course_files.zip (2868KB)

Introduction to JavaScript

Downloads
introduction_to_javascript-course_files.zip (1702KB)

Advanced Website Design Using CSS

Downloads
css_advanced_website_design-course_files.zip (1144KB)

Dreamweaver CS6: Website Development

Downloads
dreamweaver_cs6_website_development-course_files.zip(6718KB)

jQuery: Interactive Website Creation

Downloads
jquery-interactive_website_creation-course_files.zip (3315KB)


Microsoft Applications

Excel 2003 Level 1

Downloads
excel_2003_level1-course_files.zip (952KB)

Excel 2003 Level 2

Downloads
excel_2003_level2-course_files.zip (651KB)

Advanced Project 2007

Downloads
advanced_project_2007-course_files.zip (1442KB)

Excel 2003 Level 3

Downloads
excel_2003_level3-course_files.zip (1213KB)

Excel 2007 Visual Basic for Applications

Downloads
excel_2007_vba-course_files.zip (1015KB)

Project 2007

Downloads
project-2007-course_files.zip (1451KB)

Word 2007 Level 3

Downloads
word_2007_level3_dyn135-course_files.zip (4844KB)

Excel 2007 Level 1

Downloads
excel_2007_level1_dyn110-course_files.zip (2839KB)

Advanced Access 2007 - Masterclass

Downloads
access_2007_masterclass_v1-course_files.zip (25541KB)

Excel 2007 Level 2

Downloads
excel_2007_level2_dyn115-course_files.zip (9889KB)

Excel 2007 Level 3

Downloads
excel_2007_level3_dyn120-course_files.zip (2637KB)

Fast Track To Access 2007

Downloads
fast_track_to_microsoft_access_2007_v1-course_files.zip(25541KB)

Outlook 2007 Level 1

Downloads
outlook_2007_level1-course_files.zip (10835KB)

Outlook 2007 Level 2

Downloads
outlook_2007_level2-course_files.zip (15453KB)

PowerPoint 2007 Level 1

Downloads
powerpoint_2007_level1_inf732-course_files.zip (10393KB)

PowerPoint 2007 Level 2

Downloads
powerpoint_2007_level2_inf733-course-files.zip (6932KB)

Word 2007 Level 1

Downloads
word_2007_level1_dyn125-course-files.zip (5240KB)

Word 2007 Level 2

Downloads
word_2007_level2_dyn130-oourse_files.zip (20608KB)

Excel 2010 Level 1

Downloads
excel_2010_level1-course_files.zip (2995KB)

Excel 2010 Level 2

Downloads
excel_2010_level2-course_files.zip (7640KB)

Excel 2010 Level 3

Downloads
excel_2010_level3-course_files.zip (2616KB)

Word 2010 Level 1

Downloads
word_2010_level1-course_files.zip (10655KB)

Word 2010 Level 2

Downloads
word_2010_level2-course_files.zip (7231KB)

Word 2010 Level 3

Downloads
word_2010_level3-course_files.zip (7117KB)

PowerPoint 2010 Level 1

Downloads
powerpoint_2010_level1-course_files.zip (29378KB)

Upgrading to Office 2010

Downloads
upgrading_to_office_2010-course_files.zip (9259KB)

PowerPoint 2010 Level 2

Downloads
powerpoint_2010_level2-course_files.zip (31275KB)

Outlook 2010 Level 1

Downloads
outlook_2010_level1-course_files.zip (26702KB)

Outlook 2010 Level 2

Downloads
outlook_2010_level2-course_files.zip (49927KB)

Fast Track to Visio 2010

Downloads
fast_track_to_visio_2010-course_files.zip (13361KB)

Project 2010

Downloads
project_2010-course_files.zip (7454KB)

Fast Track To Access 2010

Downloads
fast_track_to_access_2010_v1.0-course_files.zip (6384KB)

Advanced Access 2010 - Masterclass

Downloads
access_2010_masterclass_v1.0-course_files.zip (12496KB)

Access 2007 - Visual Basic for Applications

Downloads
access_2007_vba_v1.3-course_files.zip (14150KB)

Computer Basics - Windows 7

Downloads
computer_basics_windows7-course_files.zip (3207KB)


Web Development

Dreamweaver CS6: Dynamic Application Development

Downloads
dreamweaver_CS6_dynamicapplicationdev-course_files.zip(1683KB)

Introduction to PHP and MySQL

Downloads
introduction_to_php_mysql_5-course_files.zip (104KB)


MYOB

Fast Track to MYOB

Downloads
fast_track_to_myob_v19-course_files.zip (1601KB)

MYOB Payroll

Downloads
myob_v19_payroll-course_files.zip (1276KB)

- Copyright © 2013 Taqi Shah Blogspot -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -