Registers in Assembly Language Programming

Registers in Assembly Language Programming

To know use of registers in Assembly language programming, take a program example.

ORG 100h
MOV AX, 0B800h
MOV DS, AX
MOV CL, 'A'
MOV CH, 1101_1111b
MOV BX, 15Eh
MOV [BX], CX
RET

What is h and b in this program ?
Number system : 
Binary number (b) : 0,1
Hexadecimal number (h) : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

What are AX, BX, etc. in this program ?
General Purpose Registers:
AX - Accumulator register | Divided in to AH and AL
BX - Base address register | Divided in to BH and BL
CX - Count register | Divided in to CH and CL
DX - Data register | Divided in to DH and DL

Segment Registers:
CS - Indicate the segment which contains current program
DS - Indicate the segment where variables are define
ES - Extra segment registers
SS - Indicate the segment containing stack.

Special Registers:
IP - Instruction pointer
Flag register - It determines the current status of microprocessor.

For example,
Size of AX register is 16 bit.
That means,
AH = 8 bit
AL = 8 bit
AX = 0011000000011110b
AH = 00110000
AL = 00011110b

More topics from Computer Organization to read

Computer Organization and Architecture:

EasyExamNotes.com covered following topics in these notes.

  1. Structure of desktop computers
  2. Logic gates
  3. Register organization
  4. Bus structure
  5. Addressing modes
  6. Register transfer language
  7. Direct mapping numericals
  8. Register in Assembly Language Programming
  9. Arrays in Assembly Language Programming

References:

  1. William stalling ,“Computer Architecture and Organization” PHI
  2. Morris Mano , “Computer System Organization ”PHI

Post a Comment

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.