Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You can actually enter ASM code on the calculator, but it is very limited, and non-trivial programs are extremely tedious to enter.

http://tibasicdev.wikidot.com/asm-command



Interesting, I remember the "ASM(" command to run those helper libraries but yeah, the issues around trying to write ASM on the calculator would have been a non-starter for me (both back them and now lol):

> Using AsmPrgm is the only built-in way to create assembly programs on the calculator, and it's not very convenient. To use it, after AsmPrgm itself, you must type in the hexadecimal values (using the numbers 0-9, and the letters A-F) of every byte of the assembly program. Even for assembly programmers, this is a complicated process: unless you've memorized the hexadecimal value of every assembly command (which is about as easy as memorizing the hexadecimal value of every TI-Basic token) you have to look every command up in a table.


Even more than that, computing the branch offsets by hand is tedious and error prone. You remember the important opcodes pretty quickly, but recomputing the branches every time you modify the program is a huge pain.


Usually you'd pad the program with NOPs during development to keep each basic block X-byte-aligned. Still a pain, but less of one.


On my Ti92Plus I had created an assembler in TI-BASIC in order to use this "native" machine-language input.

I had even some linking step, with labels and all, which were resolved in offsets.

I hope this feature is still in the successors, their Ti-Nspire CX series... and if so, that it will not be removed.


I would argue that it is not limited at all, as it gives you full arbitrary code execution.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: