;buff数组下标 ;是不是$ ;是,结束读 ;取串地址
;取串中字符 ;指向下一字符 ;是不是$ ;是,zf=1,转移 ;与’0’比较 ;<‘0’,不计数 ;与’9’比较 ;>’9’,不计数 ;计数
23
练习5.11:测试一字符串是否存在数字,若存在,置CL第5 位置1,否则置0
data segment string db 'abcqdefghijklmnopqrs'
;不是,zf=0退出 ;置标志flag=1
;al是空格? ;是,zf=1,退出
;不是,保存 ;数组索引加1
20 a b c d e f 20
flag= 0 1
jz exit成立
19
5.1.3 多重循环程序设计 基本方法与单重循环相同,但要注意: 1、分别考虑各重循环的控制条件及其程序实现,相互之间
again: mov al, string[si] cmp al,30h jb goon cmp al,39h ja goon or cl,20h jmp exit
main proc far
assume cs:prognam
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
lea bx,buff ;取缓冲地址
input: mov ah,01 ;从键盘读串
int 21H
;存入al中
mov [bx],al ;保存字符
JMP exit less: AL<0处理
JMP exit great:
AL>0处理 exit: 、、、
……
8
子程结构形式
1.多处调用完成同一功能的子程: