Вниз  Пишем компилятор
- 16.06.2016 / 18:53
cap51
  Пользователь

cap51 
Сейчас: Offline
vl@volk, а как должно быть ?
- 16.06.2016 / 19:28
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
cap51, память должна быть (это если подрожать компьютерному железу) одним большим массивом. Методом setm нужно устанавливать значение ячейки по указанному адресу. Примерно так
  1. byte[] mem = new byte[2048];
  2.  
  3. void setm(int position, byte value) {
  4.     mem[position] = value;
  5. }
  6.  
  7. byte getm(int position) throws Exception {
  8.     if (position < 0 || position > mem.length-1) {
  9.         throw new Exception("Position is out: " + position);
  10.     return mem[position];
  11. }
Стек можно реализовать 2-мя способами:
1) забрать часть памяти (например 10 позиций, неважно), завести переменную stackPointer, которая будет указывать на текущую позицию в стеке и оперировать только с ограниченным количеством ячеек:
код
только потом при работе с памятью, нужно будет помнить о стеке в памяти и контролировать это дело;
2) воспользоваться отдельным стеком, классом из библиотеки java.util.Stack:
код
это нам позволит уйти от проверок заполнения стека, системный API сообщит нам и не использовать основную память.
__________________
 знает толк
- 16.06.2016 / 20:00
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Я окончательно потерялся, чито вы тут делаете? VM уже свой чтоль?
- 17.06.2016 / 14:13
Aladdin
  Пользователь

Aladdin 
Сейчас: Offline
Народ вы что собираетесь написать JavaVM с нуля?:-D
- 17.06.2016 / 19:25
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Лучше б реально VM какой написали, типа эмулятора CHIP16. Пока пишешь - начинаешь смотреть под другим углом на многие узкие места в ООП
- 14.09.2016 / 12:44
19Ram84
  Пользователь

19Ram84 
Сейчас: Offline
listing1, Ааа, ну тогда от нее мало пользы.
Кстати, вы продолжаете работу над МБ под андроид?
Вот например Аннимон, на своем проекте овиланг, уже добавил поддержку всех библиотек андроида, а вы планируете подобное сделать?
- 13.01.2020 / 08:52
web_demon
  Супервизор

web_demon 
Сейчас: Online
cap51, Назначил куратором темы, по идее уже можно браться за работу
- 13.01.2020 / 14:55
cap51
  Пользователь

cap51 
Сейчас: Offline
web_demon, Спасибо ...
- 16.01.2020 / 16:38
cap51
  Пользователь

cap51 
Сейчас: Offline
Вот такой компилятор-интерпретатор получился , на этот раз , ребята , с подсветкой синтаксиса :

http://spcs.me/files/view/java...;Sn=1&name=cap51

ПРЕДУПРЕЖДЕНИЕ :

C и С++ заточены под aarch64 - Android SDK 27 , 28 , 29 ...
Остальное все работает на любой платформе - Java 1.7 ...

Для корректной работы интерпретатора нужно эти библиотеки :
http://spcs.me/files/view/libs...;Sn=3&name=cap51
распаковать на /sdcard ...

Если-же хотим что-то написать на C или C++ , то нужно эти библиотеки :
http://spcs.me/files/view/gcc-...;Sn=2&name=cap51
распаковать в любую папку на /sdcard ...
Запустить скрипт install_busybox.sh ...
Затем install_gcc.sh ...
И затем уже можно тестить файлы примеров ...

Исходники интерпретатора прилагаются :
http://spcs.me/files/view/java...;Sn=4&name=cap51
- 18.01.2020 / 00:29
Askalite
  Пользователь

Askalite 
Сейчас: Offline
cap51, чувак, ничего не понятно. Что, кого, куда.

Учись предоставлять продукт.
Наверх  Всего сообщений: 31
Фильтровать сообщения
Поиск по теме
Поиск по форуму