core_st 0 Newbie Poster

Hi! I'm newbie in asm, so i need your help. I need resident program "clock" that will show time in some corner on screen in resident mode and update time by 1Ch bios function. I already have simplae program clock:

OutStr macro str ;макрос виведення стрічки
push dx
mov ah,09h
lea dx,str
int 21h
pop dx
endm 

OutChar macro char ;макрос виведеня символа
push ax
push dx
mov ah,06h
mov dl,char
add dl,30h
int 21h
pop dx
pop ax
endm

Decomposition macro time ;макрос розкладу двозначного 16-бітного на цифри і виводу їх на екран
push bx
mov bh,time ;використовується bx
mov bl,time
and bh,11110000b
shr bh,4h
and bl,00001111b
OutChar bh
OutChar bl
pop bx
endm

%TITLE "Робота з резидентними програмами."
IDEAL
MODEL small
STACK 256
DATASEG
M1 DB ':$'
M2 DB 'Current time....$'
M3 DB '',10,13,'$'
CODESEG
start:
mov ax,@DATA ;
mov ds,ax

xor ax,ax
mov ah,2h ;отримання часу
int 1Ah
OutStr M2
Decomposition ch ;ch - години
OutStr M1
Decomposition cl ;cl - хвилини
OutStr M1
Decomposition dh ;dh - секунди
OutStr M3

exit:
mov ax,4C00h
int 21h
END start

Also i have resident program, that show deifferent symbols in corner on screen.

CODE	SEGMENT
	ORG		100H
	ASSUME		CS:CODE,DS:CODE
BEGIN:	JMP		START
	INT_TIM		LABEL	DWORD
	IP_TIM		DW	?
	CS_TIM		DW	?
	TIK		DB	?
	NCH		DB	0
PROCESS:					; НАЧАЛО РЕЗИДЕНТНОЙ ЧАСТИ
	CLI				; Запрещение прерываний
	INC		TIK		; Увеличение счетчика тиков
	CMP		TIK,10		; Сравнение его с 10:
	JL		A1		; если меньше, то конец прерывания
	PUSH		ES		; Сохранение регистров в стеке
	PUSH		AX
	MOV		AX,0B800H		; Вывод символа по номеру NCH
	MOV		ES,AX		; прямой записью в видеопамять
	XOR		AL,AL
	MOV		TIK,AL
	INC		NCH
	MOV		AL,NCH
	MOV		ES:[0],AL
	MOV		AL,1EH
	MOV		ES:[1],AL
	POP		AX		; Восстановление регистров
	POP		ES
A1:	STI				; Разрешение прерываний
	PUSH		AX
	POP		AX
	IRET				; Возврат управления

START:					; НАЧАЛО ВСПОМОГАТЕЛЬНОЙ ЧАСТИ
	MOV		AX,351CH		; Сохранение вектора 1CH
	INT		21H
	MOV		IP_TIM,BX
	MOV		CS_TIM,ES
	MOV		AX,251CH		; Установка вектора 1CH
	LEA		DX,PROCESS	; по адресу метки PROCESS
	INT		21H
	MOV		AL,0		; Установка начального
	MOV		TIK,AL		; значения переменной TIK
	LEA		DX,START		; Установка адреса конца
	INT		27H		; резидентной части и KEEP
CODE	ENDS
	END		BEGIN

Sorry for comments, they are russian.
So i need merge two programs in on to show time instead of symbols in second program

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.