gra.asm

来自「fx.asm 反序输出 cpc.asm 人机对话 DECHEX.ASM 」· 汇编 代码 · 共 82 行

ASM
82
字号
DATA    SEGMENT
BUF     DB 50
        DB ?
        DB 50 DUP(?)
SCODE   DB '5763018942'
OCODE   DB 100 DUP(?)
        DB '$'
MSG0    DB 'Input original code: $'
MSG1    DB 'The secret code is: $'
DATA    ENDS
;---------------------------------------
STACK   SEGMENT PARA STACK 'STACK'
        DB 100 DUP(?)
STACK   ENDS
;---------------------------------------
CODE    SEGMENT
        ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN    PROC FAR
START:  PUSH DS
        MOV AX,0
        PUSH AX
        MOV AX,DATA
        MOV DS,AX
;----------------------------------------
        CALL CRLF
        MOV DX,OFFSET MSG0
        MOV AH,09
        INT 21H

INPUT:  MOV DX,OFFSET BUF
        MOV AH,0AH
        INT 21H

        CALL CRLF

        MOV SI,OFFSET BUF+2
        MOV DI,OFFSET OCODE
       
EXCH:   MOV BX,OFFSET SCODE
        MOV AL,[SI]
        CMP AL,0DH
        JZ OUTPUT
        SUB AL,30H
        MOV AH,0
        ADD BX,AX
;-----------------------
;        XLAT SCODE
;        MOV [DI],AL
;-----------------------
        MOV AL,[BX]
        MOV [DI],AL
        INC SI
        INC DI
        JMP EXCH

OUTPUT: CALL CRLF
        MOV DX,OFFSET MSG1
        MOV AH,09H
        INT 21H

        LEA DX,OCODE
        MOV AH,09H
        INT 21H

        CALL CRLF
        RET
MAIN    ENDP
;-------------------------------------------------
CRLF    PROC NEAR
        MOV DL,0AH
        MOV AH,02H
        INT 21H
        MOV DL,0DH
        MOV AH,02H
        INT 21H
        RET
CRLF    ENDP
;--------------------------------------------------
CODE    ENDS
        END START

⌨️ 快捷键说明

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