汇编 顺序结构程序
实验内容查找字母“s”在字符串string中第一次出现的位置,找到后替换为大写的S。假设string字符串为:“a string for testing.”。
注意大小写字母主要是ASCII码的区别,小写s的ASCII码是73h,大写S的ASCII码是53h。将小写转换为大写的算法为小写ASCII码减去20h,即为大写字母。
实验报告要求
写出自己的实验结果、收获与真实的实验体会。画出程序流程图,写出源程序.
data segment
string db "A string for testing.";定义一个字符串,该字符串的首地址为string
strend db ?
data ends
code segment
assume ds:data,cs:code
start:mov ax,data
mov ds,ax;为数据段赋值
mov es,ax;使数据段与附加段重叠
cld ;清方向标志df
mov di,offset string;将字符串首地址赋给目的变址寄存器di
mov al,"t";将要查找的字符送累加器dl
mov cx,strend-string;计算出字符串的长度送计数器cx
repne scasb;重复执行字符串查找指令
jz find
mov bx,0;没找到,使bx=0
jmp exit
find: dec di;找到了
mov bx,di;将"t"字符所在地址送bx
exit:mov ah,4ch;返回DOS操作系统
int 21h
code ends
end start