home *** CD-ROM | disk | FTP | other *** search
- %TITLE "Subroutine demo"
-
- IDEAL
- DOSSEG
- MODEL small
- STACK 256
-
- DATASEG
-
- exitCode DB 0 ;if you want comments
-
- CODESEG
-
- Start:
- mov ax,@data
- mov ds,ax
-
- mov al,1
- mov bl,2
- mov cl,3
- mov dl,4
- call AddRegisters
- call AddRegisters
- call AddRegisters
-
- Exit:
- mov ah,04Ch
- mov al,[exitCode]
- int 21h
-
- ;---------------------------------------------------------
- ; AddRegisters Sum al,bl,cl, & dl
- ;---------------------------------------------------------
- ; Input:
- ; al,bl,cl,dl = four 8-bit values to add
- ; Output:
- ; ax = al + bl + cl + dl
- ; Registers:
- ; ax,bh,ch,dh changed
- ;--------------------------------------------------------
- PROC AddRegisters
- xor ah,ah
- xor bh,bh
- xor ch,ch
- xor dh,dh
- add ax,bx
- adc ax,cx
- adc ax,dx
- ret
- ENDP AddRegisters
-
- END Start