;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; (c)Copyright Sealevel Systems Incorporated, 1993 - 1995 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; GENERAL ASM ROUTINES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; TITLE GEN INCLUDE GEN.INC .MODEL SMALL .DATA .CODE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CLS PROC NEAR C PUBLIC USES AX BX CX DX ;; clear the screen and place curosr in upper left corner;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; mov AH,6 ;CLEAR SCREEN mov CX,0 mov DX,184FH mov BH,7 mov AL,0 INT 10H mov AH,2 mov BH,0 mov DX,0000 INT 10H RET CLS ENDP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WRT PROC NEAR C PUBLIC PUSH AX PUSH BX mov AH,14 mov BH,0 INT 10H POP BX POP AX RET WRT ENDP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WRT_HEX PROC NEAR C PUBLIC USES CX DX AX ;; write byte as two ascii digits ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; mov DL,AL ;HIGH NIBBLE mov CX,4 SHR AL,CL CALL HEX_ASCII CALL WRT mov AL,DL AND AL,0FH ;LOW NOBBLE CALL HEX_ASCII CALL WRT RET WRT_HEX ENDP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; HEX_ASCII PROC NEAR C PUBLIC CMP AL,9 ;1='1' ETC JG LETTER ADD AL,30H JMP THRU LETTER: ADD AL,37H THRU: RET HEX_ASCII ENDP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ASCII_HEX PROC NEAR C PUBLIC ;will only accept numbers and letters ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; GOGET: CMP AL,39H JGE LETT SUB AL,30H JMP ENDA LETT: CMP AL,47H JGE GOB SUB AL,37H JMP ENDA GOB: SUB AL,20H JMP GOGET ENDA: RET ASCII_HEX ENDP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WRT_MESS PROC NEAR C USES AX DX DS, MESS:WORD ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; mov AH,9 mov DX,@DATA mov DS,DX mov DX,MESS INT 21H RET WRT_MESS ENDP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CURSOR PROC NEAR C PUBLIC USES AX BX DX CX, YYXX:WORD mov AH,2 mov BH,0 mov DX,YYXX INT 10H RET CURSOR ENDP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; END