Каждый раз я собираю приложение для TI-83 + калькулятор (процессор Z80), это прекращает работать в ВЫЗОВЕ. Вот пример ("Привет") — он начинает работать очень хорошо, но замораживания калькулятора в Команде вызова. Что-либо, что я поместил перед ВЫЗОВОМ, работает просто великолепно, и что-либо, что я поместил, после не работает. Это - дизассемблирование кода, для показа адресов, а не маркировок. Я "исправил его" для показа строк DB, где они обрушиваются, чтобы помочь читать.
У меня никогда не было этой проблемы при записи блоку "программ" (которые загружаются в RAM). Единственные проблемы, о которых я знаю с запуском "приложений" (которые сохранены во Флэш-ROM) состоят в том, что они не могут самоизменять, и что, потому что подкачка страниц необходима, получая доступ к данным на отдельной странице, не возможно. Это не самоизменяет и только имеет одну страницу... Что я сделал неправильно?
0080 218900 LD HL, 0089h
0083 cd9900 CALL 0099h ; --- App stops here
0086 c38f00 JP 008fh
0089 48656c6c6f00 DB "Hello", 0
008f fd360500 LD (IY+05h), 0
0093 ef RST 28h ; B_CALL (
0094 364c DB 4C36h ; _ReloadAppEntryVecs)
0096 ef RST 28h ; B_CALL (
0097 2740 DB 4027h ; _JForceCmdNoChar) --- App should end here
0099 7e LD A, (HL) ; --- Call goes to here
009a ef RST 28h ; B_CALL (
009b 0445 DB 4504h ; _PutC)
009d fe00 CP 0
009f c8 RET Z
00a0 23 INC HL
00a1 18f6 JR 0099h
, по-видимому, вы собираетесь на адрес 0080h. Это не может быть правильным, потому что диапазон адресов 0000H - 3FFFH заблокирован на ROM Page 0. Действительно, согласно в этом примере вы собираетесь до 4000 часов. Таким образом, ваша проблема заключается в том, что ваш вызов прыгает в прошивку, а не часть вашего приложения.
Я решил просто попытаться использовать rput (x, y) {text}
, и это сработало после некоторых проб и ошибок с координатами. Это работает пока, но мне все еще интересно, есть ли у кого-то лучший способ.:)
Вы должны ознакомиться с этими учебными пособиями,
[ http://www.asp.net/learn/data-access/] [1]
Все планируемые работы уже выполнены.
Посмотрите на этот способ того же, что и вы
string preparedCommand =
@"SELECT TOP 1 [SomeColumn],[SomeColumn2], [SomeColumn3]
FROM [Database].[dbo].[Table]
WHERE [SomeOtherColumn] = @varValue";
[1]: http://www.asp.net/learn/data-access/
Более лучший способ сделать то же самое выше, используя LINQ TO SQL
var result = from someObject in SomeTable
where SomeColumnHasValue == ValueToCompare
select new { SomeColumn, SomeColumn1, SomeColumn2};
Ниже приведены некоторые из отличных ресурсов для LINQ, если вы заинтересованы
Надеюсь, это поможет
-121--4213537-Вот карта памяти , найденная для Ti-83 +. Вы не можете загрузить эту программу по адресу $0080, именно там живет ПЗУ. Он загружается в другом месте. Это работает некоторое время, пока вы не сделаете JP или CALL. CALL $0099 не перескакивает на ваш ожидаемый адрес перехода, а перескакивает в ПЗУ. Это быстрый конец.
Необходимо выбрать правильную директиву ORG в файле .asm, чтобы она загружалась в ОЗУ по ожидаемому адресу. Где бы это ни было.