循环与分支程序设计

循环程序设计

循环程序的结构

循环与分支程序设计1

单重循环程序(循环次数已知)

问题: 试编制一个程序,将BX寄存器中的二进制数用十六进制的形式在屏幕上显示出来。

分析: 根据题意应该把BX的内容从左到右每四位为一组在屏幕上显示出来,显然这可以用循环结构来完成,每次循环显示一个十六进制数位,因而循环次数是已知的,计数值为4。循环体中则应包括从二进制到所显示字符的ASCII之间的转换,以及每个字符的显示,后者可以使用DOS功能调用来实现。

程序:

单重循环程序(循环次数未知)

问题: 在ADDR单元中存放着数Y的地址,试编制一程序把Y中1的个数存入COUNT单元中。

分析: 要测出Y中1的个数就应逐位测试。一个比较简单的办法是可以根据最高有效位是否为1来计数,然后用移位的方法把各位数逐次移到最高位去。循环的结束可以用计数值为16来控制,但更好的办法是结合上述方法可以用测试数是否为0来作为结束条件,这样可以在很多情况下缩短程序的执行时间。

程序: 方法一

方法二

方法三

多重循环程序

问题: 试编制一程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不是,则退出程序;如是,则开始接受键入的字符并顺序存放在首地址为BUFFER的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。

分析: 这一程序要求接受的字符从空格符开始又以空格符结束,因此程序中必须区分所接收的字符是否是第一个字符。为此,设立作为标志的存储单元FLAG。一开始将其置为0,接收第一个字符后可将其置1.

程序:

分支程序设计


《IBM-PC汇编语言程序设计(第2版)》沈美明 温冬婵 著

Last updated