📄 chr3.asm
字号:
STACK_SEG SEGMENT
DB 1024 DUP(0)
STACK_SEG ENDS
DATA_SEG SEGMENT
BUF DW 0F101H,0ABCDH,1234H,9876H
COUNT =($-BUF)/2
TISHI DB 'THE RESULT IS:$'
RESULT DB 5 DUP(?),'$'
DATA_SEG ENDS
CODE_SEG SEGMENT
ASSUME CS:CODE_SEG,DS:DATA_SEG,SS:STACK_SEG
MAIN: MOV AX,DATA_SEG
MOV DS,AX
CALL NDADD
CALL TOASCII
MOV DX,OFFSET TISHI
MOV AH,09H
INT 21H
MOV DX,OFFSET RESULT
MOV AH,09H
INT 21H
MOV AX,4C00H
INT 21H
NDADD PROC
PUSH DI
MOV AX,0
MOV DX,0
MOV CX,COUNT
MOV DI,OFFSET BUF
NEXT1:ADD AX,[DI]
JNC NEXT2
INC DX
NEXT2:ADD DI,2
LOOP NEXT1
POP DI
RET
NDADD ENDP
TOASCII PROC
PUSH DI
MOV CX,4
MOV DI,OFFSET RESULT
AND DX,0FH
ADD DX,30H
MOV [DI],DL
MOV BX,AX
NEXT3:INC DI
ROL BX,4
MOV AL,BL
AND AL,0FH
CMP AL,09H
JLE NEXT4
ADD AL,07H
NEXT4:ADD AL,30H
MOV [DI],AL
LOOP NEXT3
POP DI
RET
TOASCII ENDP
CODE_SEG ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -