home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / lambda / soundpot / f / ilisp-2.lbr / OR.AZM / OR.ASM
Encoding:
Assembly Source File  |  1993-10-26  |  768 b   |  46 lines

  1. ; (OR N M) - logical OR of two integers
  2. ; ENTRY: HL - first integer
  3. ;     DE - second integer
  4. ; DESCRIPTION: performs a simple OR on two 28 bit integers. 
  5.     ORG    100H        ;ignored
  6.     MACLIB    Z80
  7.  
  8. UNPACK    EQU    189CH
  9. PACK    EQU    18DAH
  10.  
  11.     DB    FINISH-START    ;byte count
  12. START    DB    2        ;two arguments
  13.  
  14.     PUSH    D        ;save second argument
  15.     CALL    UNPACK        ;HLDE <- 1st arg
  16.     EXX
  17.     POP    H        ;HLDE' <- 2nd argument
  18.     CALL    UNPACK
  19.     MOV    A,H        ;H <- OR (H,H')
  20.     EXX    
  21.     ORA    H
  22.     MOV    H,A
  23.     MOV    A,L        ;L <- OR (L,L')
  24.     EXX
  25.     ORA    L
  26.     EXX
  27.     MOV    L,A
  28.     MOV    A,D        ;D <- OR (D,D')
  29.     EXX
  30.     ORA    D
  31.     EXX
  32.     MOV    D,A
  33.     MOV    A,E        ;E <- OR (E,E')
  34.     EXX
  35.     ORA    E
  36.     EXX
  37.     MOV    E,A
  38.     JMP    PACK
  39. FINISH    EQU    $
  40.  
  41.     END
  42.  
  43.  
  44.  
  45.  
  46.