1 / 13

Lecture 2 Chapter 4 –Requirements for coding in Assembly Language

Lecture 2 Chapter 4 –Requirements for coding in Assembly Language. Chapter Outline Assembly Language Features Simplified segment Directive Defining Types of data Equate Directive. Defining Types of data. Name: a program that references a data item does so by means of name

meara
Télécharger la présentation

Lecture 2 Chapter 4 –Requirements for coding in Assembly Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 2 Chapter 4 –Requirements for coding in Assembly Language

  2. Chapter Outline • Assembly Language Features • Simplified segment Directive • Defining Types of data • Equate Directive

  3. Defining Types of data Name: a program that references a data item does so by means of name Dn (Directive): define the data item – see next slide— Expression: is an operand may specify an uninitialized value or constant value an uninitialized value defined by item ? EXAMPLE : DATAX DB ?

  4. Defining Types of data (Directive): Pseudo-op Stands for DB Define Byte DW Define Word DD Define Doubleword DQ Define Quadword DT Define Tenbytes

  5. Defining Types of data -Examples • Syntax: • name DB initial_value • Example: • ALPHA DB 4 a memory byte is associated with the name • ALPHA, and initialized to 4. • BYT DB ? a memory byte is associated with the name • BYT, and uninitialized. • WRD DW -2 a memory word is associated with the • name WRD, and initialized to -2. • The decimal range is: • Unsigned representation: 0 to 255 • Signed representation: -128 to 127

  6. Defining Types of data – Array byte • an array is a sequence of memory bytes or words. • Example: • B_ARRAY DB 10H,20H,30H Symbol Address Contents B_ARRAY 200H 10H B_ARRAY+1 201H 20H B_ARRAY+2 202H 30H

  7. Defining Types of data – Array word • Example: • W_ARRAY DW 1000,40,29887,329 Symbol Address Contents W_ARRAY 0300H 1000D W_ARRAY+2 0302H 40D W_ARRAY+4 0304H 29887D W_ARRAY+6 0306H 329D

  8. Defining Types of data :The DUP Operator • It is possible to define arrays whose elements share a common initial • value by using the DUP (duplicate) operator. • Syntax: • Example: • DELTA DB 212 DUP (?) creates an array of 212 • uninitialized bytes. • GAMMA DW 100 DUP (0) set up an array of 100 words, • with each entry initialized to 0.

  9. High and Low Bytes of a Word • WORD1 DW 1234H high byte WORD1+1 low byte WORD1

  10. Character String • ASCII codes can be initialized with a string of • characters using single quotes like ‘PC’ or double quotes like “PC”. • Example: • LETTERS DB 'ABC' • = • LETTERS DB 41H,42H,43H • Inside a string, the assembler differentiates between upper and lower • case. • It is possible to combine characters and numbers in one definition: • Example: MSG DB 'HELLO',0AH,0DH, '$'

  11. Numeric Constant • In an assembly language program we may express data as: • Binary: bit string followed by ‘B’ or ‘b’ • Decimal: string of decimal digits followed by an optional ‘D’ or • ‘d’ • Hex: begins with a decimal digit and ends with ‘H’ or ‘h’ • Real : end with ‘R’ and the assembler converts a given a decimal or hex constant to floating point number • Any number may have an optional sign.

  12. Numeric Constant Number Type 11011 1101B 64223 -21843D 1,234 1B4DH 1B4D FFFFH 0FFFFH decimal binary decimal decimal illegal hex illegal illegal hex

  13. Named Constants - EQU (Equates) • To assign a name to a constant, we can use the EQU pseudo-op. • Syntax: • name EQU constant • Examples: • LF EQU 0AH • MOV DL,0AH = MOV DL,LF • PROMPT EQU 'Any Thing' • MSG DB 'Any Thing' = MSG DB PROMPT • Note: no memory is allocated for EQU names.

More Related