+ -
当前位置:首页 → 问答吧 → 1、 从键盘输入一个字符串(不超过255个),将其中的小写字母转换成大写字母,然后按原来的顺序在屏幕上显示。

1、 从键盘输入一个字符串(不超过255个),将其中的小写字母转换成大写字母,然后按原来的顺序在屏幕上显示。

时间:2010-11-24

来源:互联网

.model small
.stack
.data
buffer db 255 ;定义缓冲区,第1字节填入可能输入的最大字符数
db 0 ;第2个字节将用于存放实际输入的字符数
db 255 dup(0) ;第3字节开始用于存放输入的字符串
.code
.startup
mov dx,seg buffer ;操作符seg取得buffer的段地址
mov ds,dx ;设置数据段ds
mov dx,offset buffer ;提供入口参数:dx?字符串的偏移地址
mov ah,0ah
int 21h ;一个字符串的输入
mov si,offset buffer ;汇编操作符offset指示buffer的偏移地址
mov di,offset buffer
  inc si
  inc si
again:
  lodsb ;串读取
  cmp al,24h ;比较al,24h $
  jz jieshu ;如果相等,jieshu
cmp al,60h ;比较al,60h <a
jb display ;如果低于,display
sub al,20h ;al?al-20 大小写转换
display:
mov ah,02h
  mov dl,al
  int 21h ;一个字符的输出
  loop again ;循环again
jieshu:
.exit 0
End

作者: daishunchaoaiqiu   发布时间: 2010-11-24

错在哪里,输入后为什么没显示

作者: daishunchaoaiqiu   发布时间: 2010-11-24

debug否

作者: masmaster   发布时间: 2010-11-24

引用 2 楼 masmaster 的回复:
debug否

显示出来是黑屏

作者: daishunchaoaiqiu   发布时间: 2010-11-24

引用 3 楼 daishunchaoaiqiu 的回复:
引用 2 楼 masmaster 的回复:
debug否

显示出来是黑屏

就是说,你需要debug你的程序。

作者: masmaster   发布时间: 2010-11-24