Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2013, 23:56   #21
zla9_kolu4ka
Форумчанин
 
Регистрация: 16.09.2013
Сообщений: 149
По умолчанию

Код:
Procedure mov_16(var x:integer;var z:Byte); еxtermal;
ДА!
это что то меняет?
zla9_kolu4ka вне форума Ответить с цитированием
Старый 13.12.2013, 23:58   #22
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Конечно. Тогда будет вызов процедуры ассемблерной. А не как было у вас рекурсивный вызов паскалевской процедуры.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 14.12.2013, 00:01   #23
zla9_kolu4ka
Форумчанин
 
Регистрация: 16.09.2013
Сообщений: 149
По умолчанию

Цитата:
Конечно. Тогда будет вызов процедуры ассемблерной
А где он ее(процедуру) берет и как определяет, где ее(процедуру и файл) взять
zla9_kolu4ka вне форума Ответить с цитированием
Старый 14.12.2013, 00:05   #24
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

{$L имяфайла.obj}
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 14.12.2013, 00:18   #25
zla9_kolu4ka
Форумчанин
 
Регистрация: 16.09.2013
Сообщений: 149
По умолчанию

Цитата:
{$L имяфайла.obj}
так я вообще mov_16.obj вырезала на рабочий стол!
Его (mov_16.obj) нет в папке с паскалем НЕТ
И никакие пути , типа {$L имяфайла.obj} я не прописывала
И ошибок не было!!!
zla9_kolu4ka вне форума Ответить с цитированием
Старый 14.12.2013, 00:20   #26
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

External же не было добавлен в обьявлении процедуры и паскаль считал, что это его родная паскалевская процедура. А сейчас он должен ругаться
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 14.12.2013, 00:24   #27
zla9_kolu4ka
Форумчанин
 
Регистрация: 16.09.2013
Сообщений: 149
По умолчанию

Цитата:
External же не было добавлен в обьявлении процедуры и паскаль считал, что это его родная паскалевская процедура. А сейчас он должен ругаться
Я создала папку новую, создала новый файл, скопировала туда код, откомпилировала с External , никаких ошибок!
Вот код, который дописывает LazaRus сам:
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;

type
  TForm1 = class(TForm)
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

end.

Последний раз редактировалось zla9_kolu4ka; 14.12.2013 в 00:26.
zla9_kolu4ka вне форума Ответить с цитированием
Старый 14.12.2013, 00:34   #28
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Почему лазарус-то? Вы так и не верите, что!
Надо цеплять к турбо паскалю.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 14.12.2013, 00:45   #29
zla9_kolu4ka
Форумчанин
 
Регистрация: 16.09.2013
Сообщений: 149
По умолчанию

Код:
Почему лазарус-то? Вы так и не верите, что!
Надо цеплять к турбо паскалю.
Тут проблема со самой LazaRUS была!(неправильно делала)
И вправду не компилируется теперь,
ZX Spectrum-128 напишите пожалуста код рабочий как будет выглядеть в турбо паскале

Последний раз редактировалось zla9_kolu4ka; 14.12.2013 в 00:50.
zla9_kolu4ka вне форума Ответить с цитированием
Старый 14.12.2013, 12:20   #30
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Паскалевскую я подправил
Код:
Program mov16;
var
x,a:    integer;
b,z:    byte;

{$L mov_16.obj}
Procedure mov_16(var x:integer;var z:byte); external;

begin
writeln('Вычислить: x=a a,x: integer;');
write('Введите значение a ');
readln(a);
x:=a;
writeln('Вычислить z=b; b,z:byte;');
write('Введите значение b ');
readln(b);
z:=b;
writeln('ПАСКАЛЬ: x=',x,' z= ',z );
z:=0;
x:=0;
mov_16(x,z);
writeln('АССЕМБЛЕР: x=',x,' ;z= ',z);
readln;
end.
А ассемблерная часть точно правильная? Виснет она.
Что-то там не так.
Почитайте тут:
http://citforum.ru/programming/tasm3/tasm3_19.shtml

Последний раз редактировалось ZX Spectrum-128; 14.12.2013 в 12:23.
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
меню(асм) A.S.W Фриланс 1 21.08.2011 20:49
асм (с%о) Ислам Помощь студентам 7 21.05.2011 09:11
Перевод из асм в с++ Flay Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 18.09.2010 21:05
Умножение массивов Паскаль+АСМ xVxSeRGxVx Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 24 21.02.2010 14:11