DWORD BUF[6]=5,6,1,9,8,2;
DWORD VAR=0;
#define COUNT 6
main() // statr: 后面肯定有 END start,定义入口点
{
WORD INDEX = 0; // SI 存放基址这里改为索引,更方便理解
WORD CX = COUNT; // CX 存放计数
DWORD AX = BUF[0]; // AX 存放 BUF 数组的第一个值,
// JB 是无符号跳转,所以用的是 DWORD(unsigned int) 类型
while(CX) // NEXT 用于 while(CX) 语句
{ // FORWORD 用于 if(AX > BUF[INDEX])语句
if(AX > BUF[INDEX])// 优化惯例,条件反转
{
AX = BUF[INDEX]; // 比较,然后取更小的值。
}
INDEX += 1; // 汇编没类型,因此 WORD 必须 + 2,在C中索引则 +1 即可。
CX --; // loop 每循环一次,CX 减去1
}
VAR = AX; // 结果存放于 VAR 中。
}
程序执行后变量VAR = 1
结论:循环比较找出 BUF 数组中最小的值,并放置结果于 VAR 中。
评价:此代码逻辑比较糟糕,无需和数组的第一个值比较,因为是同一个数。