view lib/alib/mktemp.as @ 3054:22ddd48b4ec2

level1 krn: Fix scheduler bug that only affected 6309 The original 6809 binary was correct, but it was disassembled and interpreted wrongly, so that reassembly went wrong on 6309.
author Tormod Volden <debian.tormod@gmail.com>
date Sun, 25 Jan 2015 22:36:02 +0100
parents 03f26e88b809
children
line wrap: on
line source

******************************************
*
* This subroutine creates a temorary filename
* by adding a "." and a 2digit hex value based
* on the process id.
* IMPORTANT: there must be room after the filename
* for at least 6 bytes!! Filename must be variable
* area, not parameter or program sections!!!

* OTHER MODULES NEEDED: BIN_HEX

* ENTRY: X= filename

* EXIT: no registers (expect cc) modified
*       filename ends in ".processid",$0d

 nam Make Unique Filename
 ttl Assembler Library Module


 section .text

MKTEMP:
 pshs d,x,y

 OS9 F$PrsNam find end of name
 tfr y,x

 lda #'.
 sta ,x+ put "." in name

 OS9 F$ID
 tfr a,b convert to 4 digit hex
 lbsr BIN2HEX 
 std ,x++
 lda #$0d end name with cr
 sta ,x
 puls d,x,y,pc

 endsect