php旅游网站开发小结个人建网站的详细步骤
一、实验目的
学习子程序的结构、特点,以及子程序的设计和调试方法
二、实验内容
1、从字符串中删除一个字符,并存储到寄存器AX中。
·代码及注释:
data segmentstring db 'exas ' ;字符串内容leng dw $-string ; 字符串长度key db 'x' ; 要删除的字符
data ends
code segmentassume cs:code, ds:data, es:datamain proc far
start:mov ax, data mov ds, ax mov es, ax lea bx, string lea cx, leng push bx push cx mov al, key ; 将要删除的字符加载到寄存器al中call delchar ; call调用删除字符的过程mov ah, 4Ch int 21h main endp ;main程序结束
delchar procpush bp mov bp, sp ; 将栈顶指针sp存入bp寄存器push si ; 保存si寄存器的值push di ; 保存di寄存器的值cld ; 重置处理器标志位中的方向标志位,让其为0(低位向高位)mov si, [bp+4] ; 将bp+4(第一个参数,指向字符串的指针)加载到寄存器si中mov cx, [si] ; 将参数si指向的值(字符串长度)加载到寄存器cx中mov di, [bp+6] ; 将bp+6(第二个参数,要删除的字符)加载到寄存器di中repne scasb ; 扫描字符串,找到第一次出现的指定字符jz done ; jz跳转到donemov si, [bp+4] dec word ptr [si] ; 将字符串长度减1mov si, di ;Inc di ; 将di寄存器加1跳过删除的字符rep movsb ; 复制字符串,将删除指定字符后的字符串向前移动
done:pop di pop si pop bp ret ; 返回调用过程的指令位置delchar endp
code ends
end start
·运行结果及展示:
成功将删除的字符串存入到AX寄存器中