代码解释如下:
;问题:将字符串中的小写字母转换为大写assume cs:codedata segment db 'I Like Coding use Assembly Language',0data endsstack segment db 128 dup(0)stack endscode segmentstart: mov ax,data mov ds,ax mov ax,0B800H mov es,ax mov ax,stack mov ss,ax mov sp,128 call init_data call show_str mov ax,4c00h int 21h;============================================================init_data: mov si,0 mov di,160*10 + 64 mov cx,10 ret;============================================================show_str: mov dl,ds:[si] cmp dl,0 ;下面这两句代码不能写到cmp dl,'a'的后面 je showStrRet cmp dl,'a' jb next cmp dl,'z' ja next and dl,11011111B ;andl操作将该字符转为大写next: mov es:[di],dl inc si add di,2 jmp show_str showStrRet: ret;============================================================ code endsend start
新闻热点
疑难解答
图片精选