⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8.11.asm

📁 输入和输出中断
💻 ASM
字号:

DSEG  SEGMENT
   OldAddr DD ?
   MSG     LABEL BYTE
   XMSG  DB 'X='
   XASC  DW ?
         DB ''
   YMSG  DB 'Y='
   YASC  DW ?
   Count EQU $-MSG
   Data  DW ?
DSEG ENDS

STACK1 SEGMENT STACK
       DW 128 DUP(?)
STACK1 ENDS

CODE SEGMENT
     ASSUME DS:DSEG,CS:CODE
ClsScr  PROC
        MOV  AX,0600H
        MOV  BH,30H
        MOV  CX,0
        MOV  DX,184FH
        INT  10H
        RET
ClsScr  ENDP

BTOAsc  PROC
        MOV AX,Data
        MOV DI,BX
        MOV word ptr[DI],2020H
        MOV CL,10
        DIV CL
        OR  AL,30H
        MOV [DI],AL
        INC DI
        OR  AH,30H
        MOV [DI],AH
        RET
BTOAsc  ENDP

DispPos PROC FAR

        SHR  CX,3
        SHR  DX,3
        MOV  BX,OFFSET XASC
        MOV  Data,CX
        CALL BTOAsc

        MOV  BX,OFFSET YASC
        MOV  Data,DX
        CALL BTOAsc

        MOV  AH,02H
        MOV  BH,0
        MOV  DX,046H
        INT  10H
        MOV  AH,40H
        MOV  BX,01H
        MOV  CX,COUNT
        LEA  DX,MSG
        INT  21H
        RET
DispPos ENDP
START:
       MOV AX,Data
       MOV DS,AX
        CALL ClsScr
        MOV  AX,00
        INT  33H
        CMP  AX,00
        JE   OVER
             MOV  AX,01H
             INT  33H
             MOV  AX,CS
             MOV  ES,AX
             LEA  DX,DispPos
             MOV  AX,14H
             MOV  CX,1
             INT  33H
             MOV  word ptr OldAddr,DX
             MOV  word ptr OldAddr+2,ES
      REPEAT:MOV AX,03H
             INT 33H
             CMP BX,1
             JE  Continue
             LOOP REPEAT
    Continue:MOV  AX,02H
             INT  33H

  OVER: MOV  DX,word ptr OldAddr
        MOV  ES,word ptr OldAddr+2
        MOV  AX,0CH
        INT  33H
        CALL ClsScr
        MOV  AH,4CH
        INT  21H
     CODE   ENDS
            END START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -