Прошу у Вас помощи.
Первый раз работаю с ассемблеровской вставкой в Си. Совсем запутался. Помогите, пожалуйста, сделать такую вставку.
Введена строка. Необходимо написать функцию на ассемблере для нахождения символа с наибольшем кодом ASCII и вывести их на экран с помощью ассемблера. Заранее спасибо!
Программа:
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<iostream.h>
char *asmfunc(char *S, int n) // функция нахождения символа с
//максимальным кодом ASCII в
//строке S, n- длина строки
{
char *r = 0;
L0:
asm {
mov SI,S; // заносим в SI строку S
mov DL,n; // заносим в DL длину строки
}
L1:
asm {
mov AL,0; // проверка на
add AL,[SI]; // конец строки, если конец, то уходим на L3
je L3;
}
……. Не знаю что делать для того чтобы организовать поиск символа с наиб кодом
L2:
asm mov r, ….; // необходимо вывести символ с наибольшим кодом в строке
L3:
return r;
}
void main ()
{
char ss[200],sim;
char *r;
int i, och,n;
asm { // очистка экрана – сделано по заданию
mov AH, 0;
mov AL, 2;
int 10H;
}
printf ("\n vvedite text s tochkoi: \n"); // ввод строки
for (i=0; ((sim=getchar()) !='.'); i++) ss[i]=sim;
ss[i]='\0';
n=strlen(ss);
r=asmfunc(ss,n);
//////////////////////povtor programmy
// снова по заданию для очистки экрана
cout << "\n\n ochisit akran vvedite 1 ili 0 pov=:";
cin >> och;
if (och==1)
{ asm {
mov AH, 0;
mov AL, 2;
int 10H;
}
}
getch ();
}