WEB开发网
开发学院软件开发汇编语言 汇编源码系列之calc 阅读

汇编源码系列之calc

 2008-04-29 09:34:23 来源:WEB开发网   
核心提示:这个都是过去DOS时代的汇编源码,虽然已经过去了,汇编源码系列之calc,但是对于学习汇编还是有帮助的,汇编语言只是程序员一门基础语言

这个都是过去DOS时代的汇编源码,虽然已经过去了,但是对于学习汇编还是有帮助的,汇编语言只是程序员一门基础语言,大多人掌握即可,不一定要深入研究.......

      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


Tags:汇编 源码 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接