You'd use safeRAM like you would use any other variable, except that it is not part of your program (and thus, saves space for the more interesting parts of your program). These safeRAM locations are defined in ti83plus.inc, and you use them as though you use variables that are internal to your program. You just have to keep in mind that this memory area is not initialized and can contain anything, so it is your responsibility to set them to a known value prior to using them.
Common safeRAM areas include "appbackupscreen" and 767 bytes after that, "savesscreen" and 767 bytes after that (safe as long as your program can't APD), "plotsscreen" and 767 bytes after that (graph screen buffer). There are others that are available. Don't feel like looking them up at the moment.
You use them by reading or writing to them. It's helpful to define equates to various places in this memory so you don't have to manually keep track of each location as you're using them up.
Code:
temp1 equ appbackupscreen ;example variable.
temp2 equ appbackupscreen+2 ;another example.
ld hl,$0000
ld (temp1),hl
ld hl,$8000
ld (temp2),hl
ld de,(temp1)
That code doesn't actually do anything except shows you stuff you can do and the form it may take.
Accessing BASIC variables such as "A" or "B" is done by a system call in the form of bcall(nameOfRomCall) or B_CALL nameOfRomCall, depending on what assembly setup you use.
The particular system call requires the appropriate name for the variable in a safeRAM area that is the 11 bytes at Op1 (only the first 9 bytes is used).
Code:
ld hl,RealVariableA
bcall(_Mov9toOp1) ;moves 9 bytes from RealVariableA to Op1
bcall(_RclVarSym) ;if variable exists, copies contents to Op1
ret
RealVariableA:
.db RealObj,"A",0,0
Of course, the variable is in TI's floating point format. If you want your ASM program to actually use the value in it, you will need to add the following code after bcall(_RclVarSym):
Code:
bcall(_ConvOp1) ;Converts contents of OP1 to a value in DE
You cannot damage the contents of the BASIC variables this way. The only way you can damage them is if your program crashes (thus causing a RAM reset), or you use a system call to overwrite its contents (such as _StoOther)
If you didn't understand all of that, that's okay. You might want to read up on how user variables are stored in memory as to why it's necessary to use these romcalls. For a full reference to the system routines list I used to make this post, look here: http://education.ti.com/guidebooks/sdk/83p/83psysroutines.pdf
For the guide that contains that information and more, look on TI's website for their guide found with or near their SDK.