求帮忙,看一下这段代码~~~~~求助攻~跪求!!!
如何把下面的这段代码(汇编代码部分)改为:对一串字符进行排序?????跪求。跪谢!!!!!!!#include<iostream>
using namespace std;
#define array_size 10
char a={'a','f','g','d','e','f','g','h','e','r'};
void main()
{
char *p;
p=&a;
p=p-16;
__asm{
mov esi,p;
mov ecx,array_size;
_outloop:
mov edx,ecx;
_inloop:
mov eax,; //一个int占4字节
mov ebx,;
cmp eax,ebx;
jnb _noxchg; //不交换
mov ,ebx;
mov ,eax;
_noxchg:
dec edx;
jnz _inloop;
loop _outloop;
}
for (int i=0;i<10;i++)
cout<<a<<" ";
cout<<"\n";
}
:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad 这段代码的原本功能是什么?我看好像也是排序啊。
对一串字符进行排序?是abcd.....这样排序吗?一还是别的要求?
如果是abcd...这样格式可参考冒泡排列法
我的代码供你参考下
movecx,6 ;双循环从小到大排列存放6个ID的数组(也就是所谓的冒泡排列法)
L1:
push ecx
movecx,5
leaesi,szShengXiang_ID ;存放ID的数组首地址
@@:
moveax,
.ifeax >
xchgeax,
mov ,eax
.endif
addesi,4
loop @b
popecx
loop L1
排序字符串如果懂就当我没说,如果不懂,可参考下字符的ASCII码表,16进制---a是61,b是62,c是63 dAb 发表于 2014-12-17 14:05
这段代码的原本功能是什么?我看好像也是排序啊。
对一串字符进行排序?是abcd.....这样排序吗?一还是别 ...
很是感谢,就是字符的排序,可是我把你给我的这个放到代码里,出现了错误???这个是怎么回事???
error C2400: inline assembler syntax error in 'opcode'; found 'if'
D:\VCEXAMPLE\example1\huibian\huibian1.cpp(21) : error C2400: inline assembler syntax error in 'opcode'; found 'endif'
执行 cl.exe 时出错.
封于修 发表于 2014-12-17 18:38
很是感谢,就是字符的排序,可是我把你给我的这个放到代码里,出现了错误???这个是怎么回事???
e ...
error C2400: inline assembler syntax error in 'opcode'; found 'if'
错误C2400:内联汇编程序语法错误在操作码,发现“如果”
我的是纯汇编,不能照搬,你可参考修改下。
页:
[1]