您的位置:逆风者 汇编技术 正文
原作者:www.upwinder.com 添加时间:2007-09-02 原文发表:2007-08-31 人气:1来源:未知


	       PAGE    ,132

	       TITLE   CALC

CGROUP	       GROUP   CODESEG

CODESEG        SEGMENT PARA PUBLIC 'CODE'

	       ASSUME  CS:CGROUP,DS:CGROUP,ES:CGROUP

	       PUBLIC  CALC



	       ORG     100H



CALC	       PROC    FAR

	       JMP     START



;---------------------------------------------------------------------;

;								      ;

;			     DATA AREA				      ;

;								      ;

;---------------------------------------------------------------------;



	       DB      'INTERRUPT NUMBER ='

INT_NUMBER     DB      61h



SCREEN_HANDLE  DW      0001h



MESSAGE        DB      'PEMATH is not resident',13,10

MESSAGE_LEN    EQU     $-MESSAGE



TAG	       DB      'PEMATH'

TAG_LEN        EQU     $-TAG



;---------------------------------------------------------------------;

;								      ;

;			     CODE AREA				      ;

;								      ;

;---------------------------------------------------------------------;



START:

;---------------------------------------------------------------------;

;    TEST FOR PRESENCE OF CALCULATOR				      ;

;---------------------------------------------------------------------;

	       SUB     AX,AX

	       MOV     ES,AX

	       SUB     BH,BH

	       MOV     BL,INT_NUMBER

	       SHL     BX,1

	       SHL     BX,1

	       MOV     DI,ES:[BX]

	       MOV     ES,ES:[BX 2]

	       ADD     DI,4

	       LEA     SI,TAG

	       MOV     CX,TAG_LEN

	 REPE  CMPSB

	       JE      CALL_CALC

	       MOV     BX,SCREEN_HANDLE

	       MOV     CX,MESSAGE_LEN

	       LEA     DX,MESSAGE

	       MOV     AH,40h

	       INT     21h

	       JMP     SHORT CALC_EXIT

;---------------------------------------------------------------------;

;    CALL CALCULATOR						      ;

;---------------------------------------------------------------------;

CALL_CALC:

	       MOV     AL,INT_NUMBER

	       MOV     BYTE PTR INT_CODE,AL

	       DB      0CDh	  ; INT

INT_CODE:

	       DB      00h

	       NOP

	       NOP



CALC_EXIT:

	       INT     20h



CALC	       ENDP



CODESEG        ENDS

	       END     CALC



本页地址
相关文章

V86模式切换程序
汇编源码--break
MAKE SOUNDS (发声)
获得操作系统版本的汇编源代码
汇编源码--drivesex
输入10进制,输出2进制
汇编源码--sound
DOS6.0源程序中的硬盘引导记录源程序FDBOOT
汇编语言制作的光带菜单及源程序(1.0)
GET TIME OF DAY(获取时间)
汇编源码--CLOCK
FASTREBOOT V1.0
汇编源码--exec
CIH V1.5版本病毒源码
获取当前系统时间
The 808 Virus
汇编源码--getseg_c
汇编源码--ctrladel
一个旋转的3D箱子(动画)
汇编源码--inthand

相关评论


本文章所属分类:首页 汇编技术