Download presentation
Presentation is loading. Please wait.
1
Assembly Language for Intel-Based Computers
Chapter 1: Basic Concepts
2
Chapter Overview Welcome to Assembly Language Virtual Machine Concept
Data Representation Boolean Operations
3
Welcome to Assembly Language
Some Good Questions to Ask Assembly Language Applications
4
Questions to Ask Why am I learning Assembly Language?
Assembly language is the oldest programming languages Bears the closest resemblance to the native language of the computer provides direct access to a computer’s hardware, make it easier to understand computer architecture and operating systems What background should I have? -Computer programming basic
5
Questions to Ask What is an assembler?
An assembler is a program that converts source code programs from assembly language into machine language Assembler can optionally generate source listing file with line numbers, memory address, source code statement, and cross reference listing of symbols and variables used in a program Companion program is linker and debugger Linker will combine individual files created by an assembler into single executable program Debugger provide way to trace the execution of a program and examine the content of memory
6
Questions to Ask What hardware/software do I need?
Computer-Intel386,Intel486 or one of pentium processors Operating systems-Ms Windows, Ms-Dos or Linux running a DOS emulator Editor-notepead, textpad, visual studio editor Assembler-Ms Assembler (MASM 6.15), Borland Turbo Assembler (TASM) Linker-Ms 16-bit linker (link.exe) or Ms 32-bit linker (link32.exe) Debugger-Codeview, Turbo Debugger
7
Questions to Ask What types of programs will I create?
16-bit real address mode-running in pure MS-DOS or DOS emulator 32-bit protected mode-using Ms Windows, display both text and graphics What will I learn? Basic principles of computer architecture Basic boolean logic Manage memory Data representation How application program communicate with the computer OS via interrupt handlers, system calls and ect. How OS load and execute application program
8
Welcome to Assembly Language (cont)
How does assembly language (AL) relate to machine language? Machine language is a numeric language that is spesifically understood by a computer processor (CPU) Assembly language consist of statements that use short mnemonics such as ADD, MOV,SUB and CALL Assembly language has one-to-one relationship with machine language How do C++ and Java relate to AL? High level language have a one-to many relationship with both assembly language and machine language
9
Welcome to Assembly Language (cont)
Is AL portable? A language whose source programs can be compiled and run on wide variety of computer systems is said to be portable. Assembly language tied to specific processor family. Why learn AL? Embedded systems program Optimize both space and runtime speed Understand interaction between computer hardware, OS and application program Create device driver
10
Assembly Language Applications
Some representative types of applications: Business application for single platform Hardware device driver Business application for multiple platforms Embedded systems & computer games (see next panel)
11
Comparing ASM to High-Level Languages
12
Assembling, Linking, and Running Programs
Assemble-Link-Execute Cycle make32.bat Listing File Map File
13
Assemble-Link Execute Cycle
The following diagram describes the steps from creating a source program through executing the compiled program. If the source code is modified, Steps 2 through 4 must be repeated.
14
Example linked linkage file
15
Listing File Use it to see how your program is compiled Contains
source code addresses object code (machine language) segment names symbols (variables, procedures, and constants) Example: addSub.lst
16
Map File Information about each program segment:
starting address ending address size segment type Example: addSub.map (16-bit version)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.