键盘输入的大、小写字母字符串,均用大写字母显示在屏幕上
;------------------------------------------------------------------------;编写一程序,要求对键盘输入的大、小写字母字符串,均用大写字母显示在屏幕上
;------------------------------------------------------------------------
code segment ;代码段
assume cs:code,ds:code
org 100h ;从100h开始
start:jmp begin ;跳到begin
p1 db 100
p2 db 0
array db 100h dup(?) ;置100个字节的缓冲区存放数据
begin:lea bx,array ;将array的首地址给bx
mov ax,cs ;置cs-->ds
mov ds,ax
mov dx,offset p1 ;将p1的偏移量给dx
mov ah,0ah ;调用中断21的0a号功能从键盘接收字符
int 21h
xor bx,bx ;将bx清零
mov bl,p2 ;p2-->bl
mov array,'$' ;送'$'至字符串尾
mov di,0ffffh ;-1-->di
next: inc di ;di自加
cmp array,'$' ;比较
jeexit ;相等,则跳到exit执行
cmp array,61h ;(A~Z-->41h-5aha~z-->61h-7ah)与a比较
jldisp ;小于,则跳
cmp array,7ah ;与z比较
jgdisp ;大于,则跳
sub array,20h ;减20h,小写转大写
disp: loop next
exit: mov p1,0dh ;回车换行
mov p2,0ah
mov ah,09h
int 21h
mov ah,4ch ;程序结束
int 21h
code ends
end begin
急啊,下周就要上机检查这个!
以上是输入小写时转换大写,遇其它情况不做变动,原样输出,谁能替我加一段代码,使它在输入小写情况以外时,输出一个提示ERROR单词.急啊,下周就要上机检查这个!
:m01: :m01: :m01: :m01: :m01: :m01: :m01: :m01: :m01: :m01: :m01: :m01: :m01: :m01: :em02: :em02: :em02: :em02: :em02: :em02: :em02: :em02: :em02: :em02: :em02: :em02: :em02: :em02: 这个,属于协议类问题,只好自己对着资料,对着代码调吧。 使它在输入小写情况以外时,输出一个提示ERROR单词.-----------------------
既然你能做的出小写转大写,
以你的水平来说,这个也不会有任何难度。
把cmp--jcc的条件和跳转地址改一下就可以了,再加一个显示ERROR的函数。
能给俺补上吗!
本人最近很忙又没有精力,希望有人帮我改出来,谢谢!!!把cmp--jcc的条件和跳转地址改一下就可以了,再加一个显示ERROR的函数。
希望骑士帮忙!帮我改出来,谢谢!!!终于做出来了,还的靠自己!!!
data segmentmsg byte'Eroor',0dh,0ah,'$'
data ends
code segment ;代码段
assume cs:code,ds:code
org 100h ;从100h开始
start:jmp begin ;跳到begin
p1 db 100
p2 db 0
array db 100h dup(?) ;置100个字节的缓冲区存放数据
begin:lea bx,array ;将array的首地址给bx
mov ax,cs ;置cs-->ds
mov ds,ax
mov dx,offset p1 ;将p1的偏移量给dx
mov ah,0ah ;调用中断21的0a号功能从键盘接收字符
int 21h
xor bx,bx ;将bx清零
mov bl,p2 ;p2-->bl
mov array,'$' ;送'$'至字符串尾
mov di,0ffffh ;-1-->di
next: inc di ;di自加
cmp array,'$' ;相等,则跳到exit执行
je exit
cmp array,61h ;(A~Z-->41h-5aha~z-->61h-7ah)与a比较
jl@f ;小于,则跳
cmp array,7ah ;与z比较
jg@f ;大于,则跳
sub array,20h ;减20h,小写转大写
loop next
@@: mov ax,data
mov ds,ax
mov dx,offset msg
mov ah,9
int 21h
exit: mov p1,0dh ;回车换行
mov p2,0ah
mov ah,09h
int 21h
mov ah,4ch ;程序结束
int 21h
code ends
end begin
页:
[1]