|
|
|
Pascal + ASM + Array()
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста, как в Турбо Паскале в ассемблерных вставках использовать массивы? пример выдает ошибку на неверную комбинацию опкода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 12:10 |
|
||
|
Pascal + ASM + Array()
|
|||
|---|---|---|---|
|
#18+
Что-то я не понял, как он у тебя из этого loop'а выходит... Или я уже совсем все забыл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 12:26 |
|
||
|
Pascal + ASM + Array()
|
|||
|---|---|---|---|
|
#18+
DorandrЧто-то я не понял, как он у тебя из этого loop'а выходит... Или я уже совсем все забыл? сабж внимательно прочитай, вопрос не в этом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 12:28 |
|
||
|
Pascal + ASM + Array()
|
|||
|---|---|---|---|
|
#18+
Не получится так обраться к массиву - придется взять адрес начала и читать, смещаясь на нужное количство байт. Можно использовать строковые функции асма - lodsd например для чтения двойного слова ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 12:35 |
|
||
|
Pascal + ASM + Array()
|
|||
|---|---|---|---|
|
#18+
такая мысля была, но врядли препод в исходнике что-либо поймет... :) ок, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 13:15 |
|
||
|
Pascal + ASM + Array()
|
|||
|---|---|---|---|
|
#18+
Intser wrote: > функции асма - lodsd Ещё можно что-то типа lea, и адресовать со смещением (типа [регистры+BP+4]). Какие регистры разрешается, я точно не помню, вроде бы можно было использовать в одном адресе [BP+BX+константное_смещение]. Плюс в более поздних процессорах, вроде бы, можно было поставить множитель, равный степени двойки. Посмотрите справочник по командам или учебники, там это должно быть. Просто у меня эти книжки (Майко, "ассемблер x86" назвается, вроде бы) очень далеко лежат, иначе подсказал бы точнее... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 13:35 |
|
||
|
Pascal + ASM + Array()
|
|||
|---|---|---|---|
|
#18+
ErV Intser wrote: > функции асма - lodsd Ещё можно что-то типа lea, и адресовать со смещением (типа [регистры+BP+4]). Какие регистры разрешается, я точно не помню, вроде бы можно было использовать в одном адресе [BP+BX+константное_смещение]. Плюс в более поздних процессорах, вроде бы, можно было поставить множитель, равный степени двойки. Посмотрите справочник по командам или учебники, там это должно быть. Просто у меня эти книжки (Майко, "ассемблер x86" назвается, вроде бы) очень далеко лежат, иначе подсказал бы точнее... Posted via ActualForum NNTP Server 1.4 Можно, но в дельфях например, насколько я помню можно использовать в вставках адрес переменной как она обьявлена в списке локальных переменных, а не искать ее относительно ebp. Хорошая книжка Зубкова по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 14:50 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34871813&tid=1345779]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
226ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 557ms |

| 0 / 0 |
