Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Assebler&Pascal, Вычисления в ассемблере, вывод в Паскаль 
:(
    Опции темы
term1
  Дата 24.3.2011, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 24.3.2011

Репутация: нет
Всего: нет



имеется код assemler'a подготовленный к использованию c паскалем:

.model small, pascal
.data
extrn str1:byte, str2:byte, n:byte
extrn dest:byte, str1s:word
.code
public posstr
posstr proc far
 xor cx, cx
 mov si,0
 mov di,0
 mov cl, n
 
next_c1:
 
 mov al,str1[si]
 mov dest[di], al
 inc si
 inc di
 mov bx,0
 cmp cx, si
 jne next3
 jmp next_c2
 
next_c2:
 
 mov dl, str2[bx]
 mov dest[di], dl
 inc di
 inc bx
 cmp dl,'$'
 jne next_c2
 dec di
 
next3:
 
 cmp si, str1s
 jne next_c1
 
lea dx,str1s
ret
posstr endp
end

Необходим ввод данных через паскаль, вычисления в assembler и вывод результата в паскале:

{$L lab6}
uses crt;
var str1,str2,n,z,dest:string;
    str1s:integer;
procedure Posstr;Far;External;
begin
 clrscr;
 writeln('-=Obrabotka strok=-');
 writeln('I-stroka:',str1);
 writeln('II-stroka:',str2);
 writeln('S kakogo el. delete:',n);
 dest:=length(str1)+length(str2);
 str1s:=length(str1);
 posstr;
 writeln('Rezultat:');
 z:=posstr;
 writeln(z);
 readkey;
 end.

Вот тут пару набросков, не получается особо, помогите спасибо за ранее
PM MAIL   Вверх
500mhz
Дата 24.3.2011, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: нет
Всего: 14



ну и? компилиш в 2 obj а потом линкуеш, в чем собственно проблема то?


--------------------

PM MAIL ICQ   Вверх
ФедосеевПавел
Дата 25.3.2011, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 7.2.2009

Репутация: нет
Всего: 10



Хоть уже и сутки прошли...
Тип переменной dest - строка, а здесь
Цитата(term1 @  24.3.2011,  19:03 Найти цитируемый пост)
dest:=length(str1)+length(str2);

функции возвращают число - результат ошибка при компиляции "несовпадение типов".
Тоже самое и строкой ниже.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Windows/DOS"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для Windows/Dos | Следующая тема »


 




[ Время генерации скрипта: 0.0583 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.