Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   BASIC vs. Assembler (http://zx-pk.ru/showthread.php?t=5329)

valker 8th May 2007 15:15

BASIC vs. Assembler
 
Перечислите как можно больше отличий ЯЗЫКОВ (не средств разработки!).

1. Ассемблер - есть прямой доступ к регистрам процессора.
2. Ассемблер - программист решает, где лежит программа.
3. Ассемблер - возможность создания самомодифицирующегося кода.
4. Ассемблер - значительно большая скорость выполнения команд.

maximk 8th May 2007 15:38

А почему в названии темы обозначен BASIC? И отличие языков каких? Которые есть на спектруме или вообще?

valker 8th May 2007 15:49

Quote:

Originally Posted by maximk (Post 88092)
А почему в названии темы обозначен BASIC? И отличие языков каких? Которые есть на спектруме или вообще?

Отличия Sinclair BASIC от ASSEMBLER.
На спектруме, естественно.

psb 8th May 2007 16:24

Quote:

Originally Posted by valker (Post 88085)
3. Ассемблер - возможность создания самомодифицирующегося кода.

теоретически это можно и на бейсике;)

gRAVER_ZX 8th May 2007 16:27

почему теоретически? разве из бейсика недоступна для модифицирования та область памяти, в которой лежит код бейсик-программы?

конечно, доступна. и, например, резервируя с помощью rem определенное кол-во байт, можно потом использовать это место под что-то другое.

valker 8th May 2007 16:51

Quote:

Originally Posted by gRAVER_ZX (Post 88101)
почему теоретически? разве из бейсика недоступна для модифицирования та область памяти, в которой лежит код бейсик-программы?

конечно, доступна. и, например, резервируя с помощью rem определенное кол-во байт, можно потом использовать это место под что-то другое.

И всё-таки пока это теоретически...
Практическая реализация, даже если она будет выполнена в показательных целях, потребует несопоставимого объёма работ.

А на примерчик, естественно, хотелось бы взглянуть :)

psb 8th May 2007 17:03

Quote:

Originally Posted by valker (Post 88107)
Практическая реализация, даже если она будет выполнена в показательных целях, потребует несопоставимого объёма работ.

как несопоставимых???
делаешь легко: вычисляешь адрес начала бейсик-программы, потом, знаешь смещение того же rem (когда прога уже дописана) и вместо rem через poke вставляешь пробел. вот тебе и изменилась программа.
другое дело, что это было никому не надо.. да и не будет..

gRAVER_ZX 8th May 2007 17:04

ну вот ты сам не сомневаешься, что практически это возможно

тока дело еще в том, что после изменения области памяти, где хранится бейсик-прога, ее [прогу] придется перезагружать, потому что память была уже изменена и вместо rem-строки ты увидишь то, на что ее поменяла программа.

psb 8th May 2007 17:07

бейсик - гораздо быстрее что-то посчитать и проверить (но не всегда)
бейсик - не зависнет намертво
бейсик - проще в пронимании сути кода

valker 8th May 2007 17:12

Quote:

Originally Posted by psb (Post 88110)
как несопоставимых???
делаешь легко: вычисляешь адрес начала бейсик-программы, потом, знаешь смещение того же rem (когда прога уже дописана) и вместо rem через poke вставляешь пробел. вот тебе и изменилась программа.
другое дело, что это было никому не надо.. да и не будет..

Я не очень в курсе, но мне казалось, что программа может смещаться, при открытии дополнительных системных буферов. но я не уверен.
В принципе, на этом принципе можно интересную защиту от хакеров соорудить :)


All times are GMT +4. The time now is 06:06.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.