主程序流程图 子程序流程图 开始 开始 DS: SI ←查找区域首地址0:0 CX+查找长度400H 显示字符个数16 BX←计数值初值 BX循环左移1位, 取内存单元内容, 将要显示的位移至最低位,保存在DL中 与关键字比较,相等? 清DL的高7位,只保留要显示位的值 BX←计数值加1 DL←DL+3 修改指针,指向下一单元 完成数值0~1的ASC码转换 CX←CX-1,查找结束? 调用DOS系统02功能,显示DL中的字 CX←CX-1,显示结束? 调用子程,显示BX的内容 返回DOS RET返回9 主程序流程图 取内存单元内容, 与关键字比较,相等? N 开始 Y Y N BX ← 计数值加 1 修改指针,指向下一单元 CX ← CX-1 , 查找结束? DS: SI ← 查找区域首地址 0 : 0 CX ← 查找长度 400H BX ← 计数值初值 0 调用子程,显示 BX 的内容 返回 DOS 子程序流程图 开始 Y N 清 DL 的高 7 位,只保留要显示位的值 调用 DOS 系统 02 功能,显示 DL 中的字符 CX ← CX-1 , 显示结束? CX ← 显示字符个数 16 RET 返回 BX 循环左移 1 位, 将要显示的位移至最低位,保存在 DL 中 DL ← DL+30H , 完成数值 0~1 的 ASCII 码转换