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

📄 rjexp10.asm

📁 显示屏相关程序实现显示屏点亮控制等功能.
💻 ASM
字号:
CRLF  MACRO
      MOV  AHM02H
      MOV  DL,0DH
      INT  21H
      MOV  AH,02H
      MOV  DL,0AH
      INT  21H
ENDM
DATA  SEGMENT
MESS1 DB  '大写转小写-----按1',0DH,0AH
      DB  '小写转大写-----按2',0DH,0AH
      DB  '退  回 DOS-----按3',0DH,0AH,'$'
MESS2 DB  '输入字符串,按回车进行转换!',0DH,0AH,'$'
MARK  DB  ?
BUF   DB     82 DUP(?)
DATA  ENDS
STACK SEGMENT
STA   DB    50 DUP(?)
TOP   EQU   LENGTH STA
STACK ENDS
CODE  SEGMENT
ASSUME  CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:  MOV  AX,DATA
	    MOV  DS,AX
	    MOV  ES,AX
	    MOV  AX,STACK    ;段寄存器和堆栈初始化
	    MOV  SS,AX
	    MOV  SP,TOP
	    MOV  BX,OFFSET BUF  ;BX指向字符行缓冲区首址.
 KKK:   MOV  SI,0000H       ;偏移指针SI清0
	    MOV  MARK,0
	    MOV  AH,09H
	    LEA  DX,MESS1
	    INT  21H
BG:     MOV  AH,08H
	    INT  21H            ;接收键入字符
	    CMP  AL,'3'
	    JE   PPP            ;
	    CMP  AL,'1'
	    JE   BS
	    CMP  AL,'2'
	    JE   SB
	    JMP  BG
BS:     MOV   AH,09H           ;大写转小写
	    LEA   DX,MESS2
	    INT 21H
	    MOV MARK,11H
BS1:    MOV AH,01H
	    INT 21H
	    CMP AL,0DH
	    JE  BBB
	    CMP AL,5AH
	    JA  TTT
	    CMP AL,41H
	   JB  TTT
	   ADD AL,20H
	   JMP  TTT
SB:     MOV   AH,09H     ;小写转大写
	   LEA   DX,MESS2
	   INT   21H
	   MOV   MARK,22H
SB1:    MOV   AH,01H
	   INT   21H
	   CMP  AL,0DH
	   JZ   BBB
	   CMP  AL,61H
	   JB   TTT
	   CMP  AL,7AH
	   JA   TTT             ;不是小写它母转TTT
	   SUB  AL,20H          ;小写字母转化为大写字母
TTT:   MOV  [BX+SI],AL      ;存入字符行缓冲区中
	   INC  SI              ;偏移指针加1
	   CMP  MARK,11H
	   JE   BS1
	   CMP  MARK,22H
	   JE   SB1
	   JMP  PPP
BBB:    MOV  [BX+SI],AL
	   MOV  AL,0AH
	   MOV  [BX+SI+1],AL    ;加入换行符
	   MOV  AL,'$'
	   MOV  [BX+SI+2],AL    ;再加一个`$`标志字符
	   MOV  AH,09H
	   MOV  DX,BX
	   INT  21H             ;显示转换后的字符串
	   JMP  KKK             ;循环
PPP:    MOV  AX,4C00H
	   INT  21H
CODE   ENDS                 ;返回DOS
		END     START

⌨️ 快捷键说明

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