Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Pascal
Перезагрузить страницу Метки как с ними работать
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Alter Alter вне форума
Member
 
Сообщений: 88
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.01.2004
По умолчанию Метки как с ними работать - 25.12.2005, 20:19

Здравствуйте !!!!
Как я понял вы чаще всего обращаете внимание на конкретные вотпросы , вот один из них:
Код:
begin
.....
asm
   mov si,0
   mov ax,0
   mov cx,10
   L:
     add si,1
     mov ax,m[si]
     mov mas,ax
   loop L
end;
....
end.
при компиляции на строчке, L: пишет: "ункновн идиентифиер". А теперь, внимание, вопрос: как метки вообще описываются?
Ответить с цитированием
  (#2 (permalink)) Старый
michael michael вне форума
Member
 
Сообщений: 969
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 08.08.2003
По умолчанию 25.12.2005, 20:25

Также как всё остальное (переменные, типы и т.д.). Есть раздел LABEL:
Код:
LABEL L;
А в ассемблере просто ставь собаку: @L, loop @L и т.п.
Ответить с цитированием
  (#3 (permalink)) Старый
Alter Alter вне форума
Member
 
Сообщений: 88
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.01.2004
По умолчанию 25.12.2005, 22:01

А теперь можете сказать в чем ошибка:
Код:
uses crt;
label
L;
var
m: array[1..10]of byte;
mas,n: byte;
begin
for n:=1 to 10 do begin m[n]:=random(10); write(m[n],' '); end;
writeln;
asm
    mov ax,0
    mov si,0
    mov cx,10
    L:
    inc si
    mov ax,m[si]
    loop L
end;
readkey;
end.
компилятору не нравится, что я присваиваю регистору ax m[si], пишет: "Invalid combination of opcode and operands"
Почему я регистору ax не могу присвоить переменную, а константу могу???
Ответить с цитированием
  (#4 (permalink)) Старый
michael michael вне форума
Member
 
Сообщений: 969
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 08.08.2003
По умолчанию 25.12.2005, 22:10

Не надо распространять на ассемблер абстракции языка высокого уровня. В ассемблере нет массивов в понимании паскаля.
Код:
asm
    mov ax, 0
    lea si, m
    mov cx, 10
  L:
    add si, 2
    mov ax, word ptr [si]
    loop L
end;
Ответить с цитированием
  (#5 (permalink)) Старый
Alter Alter вне форума
Member
 
Сообщений: 88
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.01.2004
По умолчанию 26.12.2005, 21:32

А если массив двойной, то какому регустру (si или dx) надо присвоить адрес массива, вообще, как в общем будет выглядеть картина?
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
michael michael вне форума
Member
 
Сообщений: 969
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 08.08.2003
По умолчанию 26.12.2005, 22:28

Всё аналогично.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ списки как с ними работать imported_madjihad С/С++ 6 21.05.2008 16:58
Списки как с ними работать monday С/С++ 7 19.03.2008 03:30
DLL библиотеки как с ними работать Exmap .NET 1 15.01.2008 22:07
Файлы в MFC как с ними работать LPproger С/С++ 3 28.04.2007 16:10
Сокеты как с ними работать programer4ever J2ME 0 11.04.2007 17:41
Сокеты как с ними работать Norf Сетевое программирование 1 25.03.2007 18:52
C++ и SCO как с ними работать c++ Мысли вслух 6 28.01.2006 07:50
Cooks как с ними работать milkyway DHTML, JavaScript, VBScript 2 23.05.2005 17:52
Структуры как с ними работать Adaptacia С/С++ 8 22.05.2005 05:27
Perl и PHP как с ними работать se7en Мысли вслух 1 30.11.2004 01:51
Кватернионы как с ними работать Frankinshtein Программирование графики 8 22.02.2004 19:36
IIS и ASP как с ними работать Anonymous ASP 2 04.04.2003 18:24



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов