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

📄 xw01.asm

📁 从键盘输入20各有符号
💻 ASM
字号:
data SEGMENT
     buf1 DB 20 DUP(?)
     buf2 db 0dh,0ah,'$'
data ENDS
stack SEGMENT
     DW 50 DUP(?)
stack ENDS
code SEGMENT
     ASSUME CS:code,DS:data,SS:stack
start:MOV AX,data
      MOV DS,AX
      MOV AX,stack
      MOV SS,AX

      MOV BX,0
      MOV CX,20
input:MOV AH,1
      INT 21h
      CMP AL,39h
      JBE z1
      ADD AL,9
z1:   AND AL,0fh
      PUSH CX
      MOV CL,4
      SAL AL,CL
      MOV DL,AL
      MOV AH,1
      INT 21h
      CMP AL,39h
      JBE z2
      ADD AL,9
z2:   AND AL,0fh
      OR  AL,DL
      MOV buf1[BX],AL
      INC BX
      MOV DL,','
      MOV AH,2
      INT 21h
      POP CX
      LOOP input


      MOV BX,0ffffh
      MOV CX,20
      DEC CX
L1:   MOV DX,CX
L2:   INC BX
      MOV AL,buf1[BX]
      CMP AL,buf1[BX+1]
      JLE cont1
      XCHG AL,buf1[BX+1]
      MOV buf1[BX],AL
cont1:LOOP L2
      MOV CX,DX
      MOV BX,0ffffh
      LOOP L1

      ;
      LEA DX,buf2
      MOV AH,9
      INT 21h
      MOV BX,0
      MOV CX,20
output:MOV DL,buf1[BX]
      PUSH CX
      PUSH DX
      AND DL,0f0h
      MOV CL,4
      SHR DL,CL
      CMP DL,0ah
      JB  s1
      ADD DL,07h
s1:   ADD DL,30h
      MOV AH,2
      INT 21h
      POP DX
      AND DL,0fh
      CMP DL,0ah
      JB  s2
      ADD DL,07h
s2:   ADD DL,30h
      MOV AH,2
      INT 21h
      INC BX
      MOV DL,','
      MOV AH,2
      INT 21h
      POP CX
      LOOP output
      MOV AH,4ch
      INT 21h

code  ENDS
      END start

⌨️ 快捷键说明

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