程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 匯編語言 >> 匯編源碼系列之calc

匯編源碼系列之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


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved