dispbx.asm
来自「汇编的例子利用汇编工具可编译通过不知是否有」· 汇编 代码 · 共 77 行
ASM
77 行
.model small
public DISPBX, UPPER, COUNT
.data
data1 db 5 DUP('0'), 0ah, 0dh, '$'
.code
DISPBX PROC
PUSH DS
PUSH DX
PUSH CX
PUSH AX
CMP BX, 0
JGE next
MOV DL, '-'
MOV AH, 2
INT 21H
NEG BX
next: MOV SI, 4
MOV AX, BX
MOV CX, 10D
again: XOR DX, DX
IDIV CX
ADD DL, '0'
MOV data1[SI], DL
DEC SI
JGE again
lea DX, data1
MOV AH, 9
INT 21H
POP AX
POP CX
POP DX
POP DS
RET
dispbx endp
UPPER PROC
CMP AL, 'a'
JB over
CMP AL, 'z'
JA over
SUB AL, 20H
over: RET
UPPER ENDP
COUNT PROC
PUSH AX
PUSH SI
XOR BX, BX
XOR CX, CX
XOR DI, DI
MOV SI, DX
again:
MOV AL, [SI]
INC SI
CMP AL, 0
JE over
.if AL>='0' && al<='9'
INC BX
JMP again
.ENDIF
CALL UPPER
.if al>='A' && al<='Z'
INC CX
.else
INC DI
.endif
jmp again
over: POP SI
POP AX
RET
COUNT ENDP
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?