Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Community :: Newsletter :: Newsletter - March 1999
Newsletter - March 1999

The ticalc.org Newsletter
March 1999 - Volume 2, Issue 3


Letter from the Editor
Letter to the Editor
Calculator News
Programming in Assembly, Part I
Interview with Ahmed El-Helw


Thank you for reading the ticalc.org newsletter! The Program of the Month voting continues this month. To see the programs which have been nominated and/or cast your vote for the best program in each category, go to http://www.ticalc.org/survey/potm/2.html. In order to vote you must be registered in our voting system. If you are not yet a registered voter on ticalc.org, please go to http://www.ticalc.org/survey/request.html before voting for the Program of the Month. The polls will remain open for one week, after which time the winners will be announced in an addendum to this newsletter.

Kirk Meyer


If you have anything that you would like to have published in this newsletter, please send it to newsletter@ticalc.org. Each month I will print one letter that I choose in the "Letter to the Editor" section. You can send letters regarding just about anything as long as they are constructive. Send your letters to the editor to newsletter@ticalc.org.


In calculator news this month, Icarus Productions has been active. Andreas Ess has released M.C. Mik v1.1u for Usgard and has also released the source code for an RPG he was working on. Additionally, Kirk Meyer has released Emulator86 v0.36, a TI-86 emulator, for Windows 3.1 and Windows 9x. It features *.85? and *.86? file loading, grayscale support, screenshot support, a disassembler, a debugger, a memory viewer, and support for the TI-Graph Link cable.


This is the first of many installments on how to program in assembly language. I will start with the basics and then become more specific. When I deal with the specifics I will use the Z80 as my example for the sake of consistency. The concept of 68000 programming is the same, only the instructions and registers are different. In this installment, I thought I would begin by clearing up some common problems that beginners have with assembly language programming. The first of these is registers. In assembly language, the only things that you can do commands on, like add and subtract, are generally registers. There are very few registers in a microprocessor and they could never hold all of the data that you want them to. This aspect is usually confusing to people who have previously programmed in BASIC, where you have variables that can be easily accessed. In assembly language, you must store your variables somewhere, but that place and how much of it varies from calculator to calculator.

Secondly, I want to give an introduction to the stack. The stack is one way to deal with the relatively small amount of registers by saving some of them for later. Think of the stack as a stack of plates. When you want to save a register for later, write the contents of the register on a plate and put it on top of the stack. Then, when you pick the plate up off the stack, you transfer what is written on the plate into ANY register of your choosing (because the original register is not written on the plate). As we will see at a later time, the stack also helps with calling subroutines.

My tentative plan for future installments is to first talk about the registers in-depth, followed by a discussion of commands that can be performed using the registers. After that I plan to discuss memory and pointers. After that, the direction of this series depends mostly on what people tell me would be most helpful to them, so be sure to send your feedback to kirk@ticalc.org.


Email: ahmed@ticalc.org
Web URL: http://hail.icestorm.com/asm
ICQ UIN: 3350394

Interview Log
Kirk How old are you and what level of education do you have?
Ahmed I am 15 years old. I am currently a junior in high school.
Kirk What do you plan to do after you graduate?
Ahmed First, I'll go to college. Then, I'll probably start my own computer company... I am not sure whether I'll stick with hardware or software, but most likely software.
Kirk What calculators do you own?
Ahmed 82, 83, 86, and 89.
Kirk Do you plan to buy any other calculators soon?
Ahmed Not really anytime soon... Well, maybe once in college, I'll get a TI-92 or an HP...
Kirk What do you use your calculator for most?
Ahmed Well, I use it mainly for math - it comes in handy for AP Chemistry and my math classes, and I am sure it will be helpful on the AP Calculus exam... Besides that, I mainly program games or programs in assembly.
Kirk When and how did you find out about the "TI Community" and when did you first visit ticalc.org?
Ahmed Hmm... about 5 years ago, I found Bill Nagel's page while searching in Yahoo... I typed in all of Tetris and TurboBreakout by hand... it took a while, but it was well worth it... after that, I bought a GraphLink and so it began.
Kirk When did you first visit ticalc.org?
Ahmed My friend told me about it a few years ago... he gave me a link to there.
Kirk What was the first program you ever wrote?
Ahmed The first program I wrote was probably my "Periodic Table 83" program... it was a simple text based periodic table... now it is totally different.
Kirk How did you learn to program in assembly language?
Ahmed Well, I looked at Jimmy Mardell's ZShell toutorials and looked at a bunch of source codes -- on the top of my head I remember Andrew Von Dollen's "Contrast" program and David Erikson's Delete and ProgPTR programs.
Kirk Do you have an idol TI programmer?
Ahmed Well, I had several favorite programmers, each of which left the community or stopped programming. Probably now the only really active Z80 programmer that is doing some good ASM work is CLEM. You make some good math programs I have to say :) As for 68k, I really like the Gervaise brothers, they made some good programs...
Kirk What projects are you working on now?
Ahmed Right now, I am primarily working on learning 68k. I am working on a grayscale version of "Poke", which is a GameBoy game made by Andres G. - besides that, just a few small projects here and there.
Kirk What advice would you give to people wanting to learn to program in assembly?
Ahmed I suggest that they: 1. read toutorials; 2. look at source codes, look at source codes, and look at source codes; 3. EXPERIMENT! and 4. Question if in doubt.


There are two versions of the ticalc.org Newsletter, a plain text version and an HTML version. To subscribe, send an email to majordomo@lists.ticalc.org with either "subscribe newsletter" (for plain text) or "subscribe newsletter-html" (for HTML) in the body of the message. To unsubscribe, simply do the same thing except replace "subscribe" with "unsubscribe".

You can find all issues of the ticalc.org Newsletter in our Features section under Newsletter. The exact URL is http://www.ticalc.org/features/newsletter/index.html.

Any opinions expressed in this newsletter are the opinions of the newsletter editor and/or published authors. By no means are the opinions heretofore expressed to be considered representative of ticalc.org as a whole. Texas Instruments in no way endorses or is affiliated with ticalc.org. Any trademarks are hereby acknowledged as the property of their respective owners.

  Copyright © 1996-2012, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer