DATAS SEGMENT
BUFFER DB 20 DUP(0)
BUFFER1 DB 20 DUP(0)
MSG1 DB "Please input you want choose number: \$"
MSG2 DB "1: eg:A to a exchange : Uppercase to lowercase \$"
MSG3 DB "2: eg:a to A exchange : Lowercase to Uppercase \$"
MSG4 DB "3: eg:1111 to f : Binary to Hexadecimal \$"
MSG5 DB "4: eg:f to 1111 : Hexadecimal to Binary \$"
MSG6 DB "5: eg:f to 15 : Hexadecimal to Decimal \$"
MSG7 DB "PLEASE INPUT SOME ALPHABET:\$"
MSG8 DB "PLEASE INPUT SOME BINARY NUMBER:\$"
MSG9 DB "PLEASE INPUT SOME HEX NUMBER:\$"
DATAS ENDS

``````STACKS SEGMENT
STACKS ENDS

CODES      SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:     MOV AX,DATAS
MOV DS,AX
CMP AL,'1'
JZ A                  ;      若 AL=1,则转到A
CMP AL,'2'
JZ B                  ;     若AL=2，则转到B
CMP AL,'3'
JZ CA
CMP AL,'4'
JNZ LO
JMP D

LO: CMP AL,'5'
JNZ EXIT1
JMP asd
EXIT1:JMP EXIT
A:  CALL CLEAR                 ;子程序调用
MOV AH,02                    ;设置光标位置
MOV DH,3
MOV DL,2
INT 10H                       ;中断指令
MOV SI,OFFSET MSG7           ;取MSG7的地址指针送入SI
MOV DX,SI
MOV AH,09                     ;；显示一个字符串
INT 21H
LEA SI,BUFFER                 ;取BUFFER的有效地址给SI
S:  MOV AH,01                      ;；输入一个字符
INT 21H
MOV [SI],AL
INC SI
CMP AL,0DH                     ;；回车
JNZ S                          ; ；若不输入回车，则继续执行S
CALL CRLF
MOV AH,02                      ; ；设置光标位置
MOV DH,5
MOV DL,28
INT 10H
LEA SI,BUFFER
Q:  MOV AL,[SI]
CMP AL,'a'
JNB E                            ;  ；若AL的内容低于‘A’则转到E
E: MOV DL,AL
MOV AH,02                   ;   ；显示一个字符
INT 21H
INC SI
MOV AL,[SI]
CMP AL,0DH
JNZ Q                     ;   ；若不输入回车的话，则继续执行Q
MOV AH,01
INT 21H
CMP AL,0DH
JZ P                          ; ；若输入回车，则返回P
JMP EXIT

B:  CALL CLEAR                   ;调用子程序
MOV AH,02
MOV DH,3
MOV DL,2
INT 10H
MOV SI,OFFSET MSG7
MOV DX,SI
MOV AH,09                      ; ；显示一个字符串
INT 21H
LEA SI,BUFFER
M:  MOV AH,01
INT 21H
MOV [SI],AL
INC SI
CMP AL,0DH
JNZ M                         ;  ；若不输入回车，则继续执行M
CALL CRLF
MOV AH,02                     ;  ；设置光标位置
MOV DH,5
MOV DL,28
INT 10H
LEA SI,BUFFER
I:  MOV AL,[SI]
CMP AL,5AH
JNGE X                         ; ；若AL的内容低于‘Z’，则转到X
SUB AL,20H                    ;  ；小写字母转换为大写字母
X:  MOV DL,AL
MOV AH,02
INT 21H
INC SI
MOV AL,[SI]
CMP AL,0DH
JNZ I
MOV AH,01                      ;   ；输入一个字符
INT 21H
CMP AL,0DH
JNZ EXIT0                       ; ；若不输入回车，则转到EXIT0出
JMP P
``````

EXIT0:JMP EXIT
CA: CALL CLEAR
MOV AH,02 ;；设置光标位置
MOV DH,3
MOV DL,2
INT 10H
MOV SI,OFFSET MSG8
MOV DX,SI
MOV AH,09
INT 21H
LEA SI,BUFFER
NAA: MOV AH,01
INT 21H
MOV [SI],AL
INC SI
CMP AL,0DH
JNZ NAA
CALL CRLF
LEA DI,BUFFER
MOV AH,02
MOV DH,5
MOV DL,28
INT 10H
Y: MOV AL,[DI]
SUB AL,30H ;；将ASCII码转换为二进制
MOV BL,8D
MUL BL
MOV DL,0
INC DI
MOV AL,[DI]
SUB AL,30H
MOV BL, 4D
MUL BL
INC DI
MOV AL,[DI]
SUB AL,30H
MOV BL,2D
MUL BL
INC DI
MOV AL,[DI]
SUB AL,30H
MOV BL,1D
MUL BL
CMP DL,'9'
JNG T
T: MOV AH,02
INT 21H
INC DI
MOV AL,[DI]
CMP AL,0DH
JNZ Y
MOV AH,01
INT 21H
CMP AL,0DH
JNZ EXIT
JMP P
D: CALL CLEAR
MOV AH,02
MOV DH,3
MOV DL,2
INT 10H
MOV SI,OFFSET MSG9
MOV DX,SI
MOV AH,09
INT 21H
LEA SI,BUFFER

asd: CALL CLEAR
MOV AH,02
MOV DH,3
MOV DL,2
INT 10H
MOV SI,OFFSET MSG9
MOV DX,SI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

``````    MOV AH,09
INT 21H
LEA SI,BUFFER
``````

FF: MOV AH,01
INT 21H
MOV [SI],AL
INC SI
CMP AL,0DH
JNZ FF
CALL CRLF
LEA SI,BUFFER
MOV DI,OFFSET BUFFER1
RE: MOV AL,[SI]
CMP AL,'9'
JNG Z
SUB AL,'A'-':'
Z: SUB AL,30H
MOV CX,4
YU: CBW
MOV BL,2D
DIV BL
MOV [DI],AH
PUSH AX
POP AX
DEC DI
LOOP YU
INC SI
MOV AL,[SI]
CMP AL,0DH
JNZ RE
INC DI
MOV AL,'\$'
MOV [DI],AL
CALL CRLF
MOV SI,OFFSET BUFFER1+1
MOV AL,[SI]
MOV DL,AL
MOV AH,02
INT 21H
INC SI
MOV AL,[SI]
CMP AL,'\$'
JNZ RT
MOV AH,01
INT 21H
CMP AL,0DH
JNZ EXIT
JMP P
EXIT: MOV AH,4CH
INT 21H ;返回DOS系统

CALL CLEAR ;调用子程序
MOV AH,02 ;设置光标位置
MOV DH,5 ;第5行
MOV DL,25 ;第25列
INT 10H
LEA SI,MSG2
MOV DX,SI
MOV AH,09 ;显示MSG2的内容
INT 21H ;输出MSG2字符串
MOV AH,02 ;至光标位置
MOV DH,7 ;第7行
MOV DL,25 ;第25列
INT 10H
LEA SI,MSG3 ;取MSG3的有效地址
MOV DX,SI
MOV AH,09
INT 21H ;输出MSG3字符串
MOV AH,02
MOV DH,9 ;第9行
MOV DL,25 ;第25列
INT 10H
LEA SI,MSG4 ;取MSG4的有效地址
MOV DX,SI
MOV AH,09
INT 21H ;输出MSG4字符串
MOV AH,02
MOV DH,11 ;第11行
MOV DL,25 ;第25列
INT 10H
LEA SI,MSG5
MOV DX,SI
MOV AH,09
INT 21H ;输出MSG5字符串
MOV AH,02 ;至光标位置
MOV DH,13 ;第15列
MOV DL,25 ;第17列
INT 10H
LEA SI,MSG6
MOV DX,SI
MOV AH,09
INT 21H ;输出MSG6字符串
MOV AH,02 ;至光标位置
MOV DH,19 ;第19列
MOV DL,25 ;第25列
INT 10H
LEA SI,MSG1
MOV DX,SI
MOV AH,09
INT 21H ;输出MSG1字符串
MOV AH,01 ;键盘输入
INT 21H
RET ;返回
CLEAR PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH DI
MOV AH,07 ;屏幕初始化或下卷
MOV AL,25 ;下卷行数
MOV BH,70H ;卷入行属性
MOV CH,0 ;左上角行号
MOV CL,0 ;左上角列号
MOV DH,24 ;右下角行号
MOV DL,79 ;右下角列号
INT 10H
POP DI
POP SI
POP DX
POP CX
POP BX
POP AX
RET
CLEAR ENDP

CRLF PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH DI
MOV DL,0DH ;输出回车
MOV AH,02
INT 21H
MOV DL,0AH ;输出换行
MOV AH,02
INT 21H
POP DI
POP SI
POP DX
POP CX
POP BX
POP AX
RET
CRLF ENDP
CODES ENDS ;代码段结束
END START ;程序结束

1个回答

Athusatic 添加一个十六进制转换十进制在number5这个地方加这个功能

Assembly assembly = Assembly.GetExecutingAssembly(); var form = assembly.CreateInstance("HumanResources.成本报表.发货成本明细") as Form; form.MdiParent = ComClass.MainForm; form.Show(); 报调用目标发生了异常 求各位大神帮帮忙

android studio答对有RMB,求各位大神帮我看下为什么我下载的android studio加入百分比依赖库有错误

MySQL语法报错！求各位大神帮帮忙解决一下！
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC limit 0,5' at line 4
JSP传给action的是字符串类型，转换数据类型，让getlist()接收，求大神帮帮忙写下代码
JSP传给action的是字符串类型，怎么转换数据类型，然后让getlist()接收，求各位大神帮帮忙写下代码~ 如果能够给解释一下，那就千恩万谢啦

html做一个搜索框，实现对本地目标文件夹里的文件进行检索，然后把目标文件里的具体内容展示到新窗口上？ 各位大神求具体代码
html做一个搜索框，实现对本地目标文件夹里的文件进行检索，然后把目标文件里的具体内容展示到新窗口上？ 各位大神求具体代码
ubutun Realtek b723 无线网卡驱动 问题，求各位大神帮帮小弟

Flutter开发报错：Error: ADB exited with exit code 1 Performing Streamed Install，一直报这个错，求各位大神帮忙如何解决？
![图片说明](https://img-ask.csdn.net/upload/202001/08/1578444083_268355.png) Error: ADB exited with exit code 1 Performing Streamed Install adb: failed to install E:\20190102\login_app\build\app\outputs\apk\app.apk: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE] Error launching application on Android SDK built for x86. 在运行简单的HelloWorld的时候出现这个错误，原来是没有这种情况的，突然的就报这个错，很无奈啊，已经网上找了很多方法还是没法解决，现求各位大神帮忙解决一下

qqbot不能用了，不知道怎么玩了，求大神带带
qqbot不能用了，不知道怎么玩了，求大神带带 实在不会玩了

《奇巧淫技》系列-python！！每天早上八点自动发送天气预报邮件到QQ邮箱

11月8日，由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办，科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。 　　区块链技术被认为是继蒸汽机、电力、互联网之后，下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力，电力解决了人类基本的生活需求，互联网彻底改变了信息传递的方式，区块链作为构造信任的技术有重要的价值。 　　1...

C语言魔塔游戏

Android性能优化(4)：UI渲染机制以及优化

Python爬虫爬取淘宝，京东商品信息

Java工作4年来应聘要16K最后没要,细节如下。。。

SpringBoot2.x系列教程（三十六）SpringBoot之Tomcat配置
Spring Boot默认内嵌的Tomcat为Servlet容器，关于Tomcat的所有属性都在ServerProperties配置类中。同时，也可以实现一些接口来自定义内嵌Servlet容器和内嵌Tomcat等的配置。 关于此配置，网络上有大量的资料，但都是基于SpringBoot1.5.x版本，并不适合当前最新版本。本文将带大家了解一下最新版本的使用。 ServerProperties的部分源...
Python绘图，圣诞树，花，爱心 | Turtle篇

CPU对每个程序员来说，是个既熟悉又陌生的东西？ 如果你只知道CPU是中央处理器的话，那可能对你并没有什么用，那么作为程序员的我们，必须要搞懂的就是CPU这家伙是如何运行的，尤其要搞懂它里面的寄存器是怎么一回事，因为这将让你从底层明白程序的运行机制。 随我一起，来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说，我们首先就要搞明白它是怎么回事，也就是它的内部构造，当然，CPU那么牛的一个东...

2020年全新Java学习路线图，含配套视频，学完即为中级Java程序员！！

B 站上有哪些很好的学习资源?

Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题，让视音频内容可以不依赖用户安装App，就能进行播放以及在社交平台进行传播。在视频业务大数据平台中，播放数据的统计分析非常重要，所以Web播放器在使用过程中，需要对其内部的数据进行收集并上报至服务端，此时，就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢？ 01 监听事件明细表 名...
3万字总结，Mysql优化之精髓

HTML5适合的情人节礼物有纪念日期功能