вывод на экран

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
ррррррроман
Сообщения: 10
Зарегистрирован: 18 апр 2009, 15:59

всем добрый день, пишу прогу на паскале с ассемблерными вставками.
Возникла следующая проблема, как делать вывод на экран знакового числа размеров в слово
Вот листинг
program as;
var
a, b, c, d, x, y: integer;
begin
a:= 12;
b:= -3;
c:= 4;
d:= 3;
for x:= -3 to 4 do
begin
if x > 0 then
y:= 3*a*x
else
if x < 0 then
y:= (sqr(a) + x) div c
else
y:= (a + b) div d;
writeln('y= ', y);
end; readln;
asm
mov cx, 7
@l:
sub y, 3
cmp y, 0
jg @y3 {>0}
jl @y1 {<0}
je @y2 {=0}
@y3:
mov ax, 3
imul y
imul a
outint ax {здесь почему то ошибка}
newline


loop @l
end;
end.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Интересно, почему же здесь ошибка )))) где вы видели инструкцию процессора outint?
It's a long way to the top if you wanna rock'n'roll
ррррррроман
Сообщения: 10
Зарегистрирован: 18 апр 2009, 15:59

если можете, то попдробнее на этом месте, почему это не работает, ведь в книге по ассемблеру так написано, подскажите хотя бы в каком направлении копать. Очень нужно.
Kavabanga
Сообщения: 1
Зарегистрирован: 20 апр 2009, 06:46

нет в ассемблере инструкции outint делается через прерывание... скорее всего то что ты читал в книге это упрощенный код какой или там описана процедура outint, для сокращения листинга
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

возможно в книге есть макрос outint macro и затем используется автором во всех примерах. Инструкции процессора outint не существует. Функции прерывания ОС для вывода чисел на экран тоже не существует. Зато в некоторых темах этого раздела она есть, ищите.
It's a long way to the top if you wanna rock'n'roll
ррррррроман
Сообщения: 10
Зарегистрирован: 18 апр 2009, 15:59

вы правы, так оно и есть, еще разпросмотрел книгу с первой главы и обнаружил, что в самом начале авторы договорились для операций ввода-вывода использовать условные команды, которые описыватся в макросе IO.ASM в конце книги, сейчас сижу разбираюсь.
Всем спасибо, кто откликнулся на мою проблему.
Ответить