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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2011, 00:39   #1
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
Вопрос Проблема с компилированием (EIntOverflow))

Помогите с компиляцей программы на Delphi с использованием Lab5.obj файла.

Код Дельфи:
Код:
program Project1;

{$L LAB5.obj}
{$APPTYPE CONSOLE}

uses
  SysUtils;

var var1, p1, p2, p3, res: smallint;

procedure AsmVstavka(); external;

begin

var1:=6;
p1:=16;
p2:=2;
p3:=6;

  asm
  mov ax, var1
  mov bx, p1
  mov cx, p2
  mov dx, p3
  end;

  AsmVstavka();

  asm
  mov res, ax
  xor ax,ax
	xor bx,bx
	xor cx,cx
	xor dx,dx

  end;

  writeln('Result:',res);

  readln;
end.
Код асм:
Код:
.386
CODE SEGMENT BYTE PUBLIC 
AsmVstavka PROC
    PUBLIC AsmVstavka

	add cx, bx
	sub cx, ax
	mov ax, cx
	div dx

        ret    

AsmVstavka ENDP
CODE ENDS
    END
Alex1991 вне форума Ответить с цитированием
Старый 09.02.2011, 05:36   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Alex1991
при делении на DX обязательно возникнет переполнение, поэтому р3 помести в SI, а DX перед делением обнули, так как делят не на AX, а на содержимое DX:AX
Mikl___ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37
Программа "простые итерации". Готовый код. Проблема с компилированием. Oleg330 Общие вопросы C/C++ 9 25.12.2008 23:51