📄 gra.asm
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -