汇编语言冒泡法排序cmp ax, a[bx+2]?

loop2:
mov ax, a[bx] ;把第bx个数传给ax寄存器
cmp ax, a[bx+2] ;比较第bx个数和第bx+2个数
jle continue ;jle:小于等于则跳转,否则执行下句
xchg ax, a[bx+2] ;否则两比较数交换位置
mov a[bx], ax
比较一组数的大小,用冒泡法,对于这个循环,为什么bx+2而不是bx+1?困惑很久

因为 mov ax,a[bx] 说明a数组是使用word类型的,word类型占两个字节,下一个元素地址应该+2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-22
因为这里的数据是字(从使用了MOV AX,A[BX]而不是MOV AL,A[BX]就可以看出),占用了两个字节,所以要在当前单元后移2位,找到下一个数据与它比较。

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网