帮我解释下这一很少断的汇编代码?排列9个数的小算法 帮我注释下每行什么意思 最好给个例子解释下sort:mov\x05\x05 bx,1xor\x05\x05 di,di\x05\x05\x05;将di置0 \x05\x05 mov\x05\x05 cx,9 loop1:mov\x05\x05 al,buf[di] ;

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/26 22:20:43
帮我解释下这一很少断的汇编代码?排列9个数的小算法 帮我注释下每行什么意思 最好给个例子解释下sort:mov\x05\x05 bx,1xor\x05\x05 di,di\x05\x05\x05;将di置0 \x05\x05 mov\x05\x05 cx,9 loop1:mov\x05\x05 al,buf[di] ;

帮我解释下这一很少断的汇编代码?排列9个数的小算法 帮我注释下每行什么意思 最好给个例子解释下sort:mov\x05\x05 bx,1xor\x05\x05 di,di\x05\x05\x05;将di置0 \x05\x05 mov\x05\x05 cx,9 loop1:mov\x05\x05 al,buf[di] ;
帮我解释下这一很少断的汇编代码?排列9个数的小算法 帮我注释下每行什么意思 最好给个例子解释下
sort:
mov\x05\x05 bx,1
xor\x05\x05 di,di\x05\x05\x05;将di置0 \x05\x05
mov\x05\x05 cx,9
loop1:
mov\x05\x05 al,buf[di] ;取一个字节放入al中
cmp\x05\x05 al,buf[di+1] ;然后进行比较,
jnb\x05\x05 cotinue\x05 ;大于等于跳转到next1
xchg\x05 buf[di+1],al\x05;否则交换一下数据
mov\x05\x05 buf[di],al ;取al一个字节送入内存中
mov\x05\x05 bx,0\x05\x05\x05
cotinue:
inc\x05\x05 di ;di自加1
loop\x05 loop1
cmp\x05\x05 bx,0\x05\x05\x05
je\x05\x05 sort
看了好久都看不懂
我想知道它是怎样排序的 能给个例子结合说说吗 单单表面那些指令我都看得懂,可是不知道它怎样工作的,

帮我解释下这一很少断的汇编代码?排列9个数的小算法 帮我注释下每行什么意思 最好给个例子解释下sort:mov\x05\x05 bx,1xor\x05\x05 di,di\x05\x05\x05;将di置0 \x05\x05 mov\x05\x05 cx,9 loop1:mov\x05\x05 al,buf[di] ;
画个内存图就很好理解了
buf=999 12 98 65 71 99 0 24 0 0
buf[di] =999
buf[di+1] = 12
buf[di] >= buf[di+1]
交换
buf=12 999 98 65 71 99 0 24 0 0
di=di+1
循环 又从loop1:开始了
buf[di]=999 buf[di+1] = 98