INTRODUCTION TO ASSEMBLY
LANGUAGE PROGRAMMING
Prof. Bhavana K.
Information Technology Department
International Institute of Information Technology, I²IT
www.isquareit.edu.in
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
Assembly Language Programming (ALP)
Structure of ALP Program
Sections in ALP program are:
 Title
 .model
 Data declaration section
 Code section
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
Assembly Language Programming (ALP)
Structure of ALP Program:
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
Assembly Language Programming (ALP)
Structure of ALP Program
Sections in ALP program are:
 Title – This assembler directive is used to give title
to a program.
 .model – It initializes memory model.
Tiny Code and Data fit into 64K
Small All data fits in one 64K segment, all code fits in one
64K segment.
medium All data fits in one 64K segment, but code may be
greater than 64K.
compact Data may be greater than 64K , code must be less than
64K.
large Both data and code may be greater than 64K
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
Assembly Language Programming (ALP)
Structure of ALP Program
Sections in ALP program are:
 Data declaration section:
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
Sections in ALP program are:
 Data declaration section:
 DB (Define byte) assembler directive is used to
define byte type of variable
 DW (Define word) assembler directive is used to
define word type of variable.
 To define string
 msg db 10,13,”hello$”
 10– ASCII value for new line
 13– ASCII value for carriage return
 $ is used to indicate end of string
 To define an array of 4 bytes
 array db 10,11,12,13
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
Sections in ALP program are:
 Code section
 Initialization of data segment
 MOV AX,@DATA
 MOV DS,AX
 It stores upper four digits of data segment base address in
DS (Data segment ) register.
 The address in DS is used as a segment base address along
with offset address to fetch value from data segment.
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
Sections in ALP program are:
 Interrupts used in assembly language:
 To accept single digit
 MOV AH,01
 INT 21H
 Hex ASCII value of accepted digit gets stored in AL
register.
 To display single digit
 MOV DL,HEX_ASCII_VALUE_OF_DIGIT_TO_DISPLAY
 MOV AH,02
 INT 21H
 To terminate program
 MOV AH,4CH
 INT 21H
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
Sections in ALP program are:
 Interrupts used in assembly language:
 To display string
 LEA DX,VARIABLE_NAME ; Offset address of string to display
 MOV AH,09
 INT 21H
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
Sections in ALP program are:
 Commands to execute program
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
Sections in ALP program are:
 Commands to execute program
 TASM FILENAME.ASM
 The input to assembler is .asm file. It generates two
files .obj and .lst
 TLINK FILENAME.OBJ
 Input to linker is .obj file. It generates two files .map
and .exe
 To execute program give FILENAME.EXE on command
prompt.
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
Sections in ALP program are:
 To debug ALP program: To check logical errors.
 TD FILENAME.EXE
flags
Stack
segment
Code
segment
Data
segment
registers
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
References:
1. Peter Abel, Niyaz Nizamuddin, "IBM PC Assembly Language and
Programming", Pearson Education
2. Ray Duncan, "Advanced MS DOS Programming", 2nd edition, BPB
Publications
International Institute of Information Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057
Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in
E-mail – bhavanak@isquareit.edu.in
Website - http://www.isquareit.edu.in/

Introduction To Assembly Language Programming

  • 1.
    INTRODUCTION TO ASSEMBLY LANGUAGEPROGRAMMING Prof. Bhavana K. Information Technology Department International Institute of Information Technology, I²IT www.isquareit.edu.in
  • 2.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in Assembly Language Programming (ALP) Structure of ALP Program Sections in ALP program are:  Title  .model  Data declaration section  Code section
  • 3.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in Assembly Language Programming (ALP) Structure of ALP Program:
  • 4.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in Assembly Language Programming (ALP) Structure of ALP Program Sections in ALP program are:  Title – This assembler directive is used to give title to a program.  .model – It initializes memory model. Tiny Code and Data fit into 64K Small All data fits in one 64K segment, all code fits in one 64K segment. medium All data fits in one 64K segment, but code may be greater than 64K. compact Data may be greater than 64K , code must be less than 64K. large Both data and code may be greater than 64K
  • 5.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in Assembly Language Programming (ALP) Structure of ALP Program Sections in ALP program are:  Data declaration section:
  • 6.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in Sections in ALP program are:  Data declaration section:  DB (Define byte) assembler directive is used to define byte type of variable  DW (Define word) assembler directive is used to define word type of variable.  To define string  msg db 10,13,”hello$”  10– ASCII value for new line  13– ASCII value for carriage return  $ is used to indicate end of string  To define an array of 4 bytes  array db 10,11,12,13
  • 7.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in Sections in ALP program are:  Code section  Initialization of data segment  MOV AX,@DATA  MOV DS,AX  It stores upper four digits of data segment base address in DS (Data segment ) register.  The address in DS is used as a segment base address along with offset address to fetch value from data segment.
  • 8.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in Sections in ALP program are:  Interrupts used in assembly language:  To accept single digit  MOV AH,01  INT 21H  Hex ASCII value of accepted digit gets stored in AL register.  To display single digit  MOV DL,HEX_ASCII_VALUE_OF_DIGIT_TO_DISPLAY  MOV AH,02  INT 21H  To terminate program  MOV AH,4CH  INT 21H
  • 9.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in Sections in ALP program are:  Interrupts used in assembly language:  To display string  LEA DX,VARIABLE_NAME ; Offset address of string to display  MOV AH,09  INT 21H
  • 10.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in Sections in ALP program are:  Commands to execute program
  • 11.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in Sections in ALP program are:  Commands to execute program  TASM FILENAME.ASM  The input to assembler is .asm file. It generates two files .obj and .lst  TLINK FILENAME.OBJ  Input to linker is .obj file. It generates two files .map and .exe  To execute program give FILENAME.EXE on command prompt.
  • 12.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in Sections in ALP program are:  To debug ALP program: To check logical errors.  TD FILENAME.EXE flags Stack segment Code segment Data segment registers
  • 13.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in References: 1. Peter Abel, Niyaz Nizamuddin, "IBM PC Assembly Language and Programming", Pearson Education 2. Ray Duncan, "Advanced MS DOS Programming", 2nd edition, BPB Publications
  • 14.
    International Institute ofInformation Technology, I²IT, P-14, Rajiv Gandhi Infotech Park, Hinjawadi Phase 1, Pune - 411 057 Phone - +91 20 22933441/2/3 | Website - www.isquareit.edu.in | Email - info@isquareit.edu.in E-mail – bhavanak@isquareit.edu.in Website - http://www.isquareit.edu.in/