Murugan.com
Murugan Andezuthu Dharmaratnam

  |  HOME   |  BLOG   |  TWITTER   |  ARTICLES   |  8086  |  C++   |  VC++   |  ASP .NET   |  VB .NET   |  JAVA SCRIPT   |  MS SQL   |  PHP   |  MY   |  VIDEOS   |  DOWNLOADS   |  CONTACT ME   |  



8086 Write matrix of bytes to a memory game pogramming


Home  > 8086  > 8086 Write matrix of bytes to a memory game pogramming 
       
;---------------------------------------------------------------------
; WriteObject : Wrote for a game
; I/P         :
;   1, Address of Object to Be drawn
;   2, X Coordinate of Where the Object Should Appear
;   3, Y Coordinate of Where the Object Should Appear
;   4, Width  of object
;   5, ObjXLeft
;   6, ObjYTop
;   7  ObjXRight
;   8  ObjYBottom
;   9, Color That Has to be Displayed 
;---------------------------------------------------------------------

WriteObject Macro ObjectOffset,ObjX,ObjY,ObjWidth,ObjXLeft,ObjYTop,ObjXRight,ObjYBottom,EtchColor
  mov ax,ObjXLeft
  mov ObjectXLeft,ax
  mov ax,ObjXRight
  mov ObjectXRight,ax
  mov ax,ObjYTop
  mov ObjectYTop,ax
  mov ax,ObjYBottom
  mov ObjectYBottom,ax
  mov si,offset ObjectOffset
  mov al,EtchColor
  mov ObjectEtchColor,EtchColor
  mov ax,ObjX
  mov ObjectX,ax
  mov ax,ObjY
  mov ObjectY,ax
  mov ax,ObjWidth
  mov ObjectWidth,ax
  call WriteObjectProc
endm


;---------------------------------------------------------------------
; WriteObject:
;   Description : Writes a Matrix or Memory
;---------------------------------------------------------------------
WriteObjectProc proc near
  mov ax,ObjectWidth
  mul ObjectYTop
  add si,ax
  mov ax,ObjectYBottom
  sub ax,ObjectYTop
  mov ObjectHeight,ax
  mov es,VideoMemoryAddress
  mov cx,ObjectHeight
  loop_WriteObject_NextLine:
    push cx
    mov ax,HorizontalResolution
    mov bx,ObjectY
    mul bx
    add ax,ObjectX
    mov di,ax
    mov cx,ObjectWidth
    mov bx,0

    loop_WriteObject_SingleLine:
      push cx
      mov al,cs:[si]
      cmp bx,ObjectXLeft
      jl WriteObject_SkipPixel
      cmp bx,ObjectXRight
      jg WriteObject_SkipPixel
      cmp al,ObjectEtchColor
      je WriteObject_SkipPixel
      mov es:[di],al
      WriteObject_SkipPixel:
        inc di
        inc si
        inc bx
        pop cx
    loop loop_WriteObject_SingleLine
    inc ObjectY
    pop cx
  loop loop_WriteObject_NextLine
  ret
endp


compile: tasm filename.asm
link: 	tlink /t filename
8086 Assembly Lanaugage Clear the screen

8086 Assembly Lanaugage Program to Draw a box

8086 Assembly Writing Directly to Video Memory B800

8086 Assembly Causes a Delay in terms of 1 60 of a second Delay Macro

8086 Assembly Hello World Application

8086 Assembly Terminate the program and return to Dos prompt

8086 Assembly Language Wati for a keystroke or pause macro

8086 Assembly Language Delay Macro

8086 Game Programming Collusion Detection

8086 Assembly Game Collusion Detection Macro

8086 Assembly Lanuage Set the video display mode

8086 Write matrix of bytes to a memory game pogramming

8086 Assembly Language code procedure for delay

8086 Code Type String or Display String

8086 Assembly Language Convert from Hex to ascii

8086 Assembly Language Press Any Key to Continue Dialog

8086 Assembly Dialogbox or display a box with shadow in text mode

8086 Assembly cls clrscr or clear the screen

8086 assembly language read a string using standard input keyboard

8086 assembly language compare two strings strcmp procedure

8086 Assemly file io proc procedure to open a file

8086 Interrupt List

8086 Assembly Close FIle. Close a file opened for read write

8086 assembly language

8086 Assembly Language Sound Blaster Programming Play wav File

8086 assembly language program to play sound using pc speaker



  |  HOME   |  BLOG   |  TWITTER   |  ARTICLES   |  8086  |  C++   |  VC++   |  ASP .NET   |  VB .NET   |  JAVA SCRIPT   |  MS SQL   |  PHP   |  MY   |  VIDEOS   |  DOWNLOADS   |  CONTACT ME   |  

Copyright 2009 @ Murugan Andezuthu Dharmaratnam