home *** CD-ROM | disk | FTP | other *** search
- ; h.Macros
- ;
-
-
- [ debug
- MACRO
- PrintR $reg
- STMFD sp!,{r0-r3,r14}
- MOV r3,$reg
- ADR r1,SmallBuffer
- MOV r2,#SmallBufferSize
- Write " {$reg=&"
- MOV r0,r3
- SWI XOS_ConvertHex8
- Write "} "
- ADR r0,SmallBuffer
- SWI XOS_Write0
- LDMFD sp!,{r0-r3,r14}
- MEND
- ]
-
- MACRO
- RoutiNe $string
- [ debug
- SWI XOS_WriteS
- = "«$string",0
- ALIGN
- ]
- MEND
-
- MACRO
- RoutinEnd
- [ debug
- BL endofroutinecode
- ]
- MEND
-
- MACRO
- AssemRoutineCode
- [ debug
- endofroutinecode
- STMFD sp!,{r0,lr}
- SWIVS XOS_WriteI+"®"
- SWI XOS_WriteI+"»"
- LDMFD sp!,{r0,pc}^ ; restore pcr bits
- ]
- MEND
-
-
- MACRO
- $label NextBit
- ; -------
- ;
- ; on entry:
- ; r10 bit offset into map
- ; r11 MapLocation (or address of zone etc)
- ;
- ; on exit:
- ; r0 =bit
- ; Z set if bit=0
- ; r10, r11 preserved
-
- [ debug
- LDR r0,MapSize
- MOV r0,r0,ASL #3
- CMP r10,r0
- BLO %ft77
- SWI XOS_WriteS
- = "« bit offset out of range!! »"
- ALIGN
- 77
- ]
-
- $label MOV r0,r10,ASR #5 ; get word offset
- LDR r0,[r11,r0,ASL #2]
- MOV r0,r0,ROR r10
- ANDS r0,r0,#1
- MEND
-
-
-
- MACRO
- DictionarySetup
- ; ---------------
- SetupDictionaryAddress
- STMFD sp!,{lr}
- ADR r14,myDictionary
- STR r14,Dictionary
- LDMFD sp!,{pc}
-
-
- myDictionary
- Dic "Disc" ; 1
- Dic "disc" ; 2
- Dic "name: " ; 3
- Dic "size" ; 4
- Dic " bytes" ; 5
- Dic " bits" ; 6
- Dic "harddisc" ; 7
- Dic "length" ; 8
- Dic "Number of " ; 9
- Dic "zone" ; 10
- Dic "sector" ; 11
- Dic "bit size" ; 12
- Dic "granularity" ; 13
- Dic "disc map" ; 14
- Dic "root" ; 15
- Dic "address" ; 16
- Dic "memory" ; 17
- Dic "IDfield" ; 18
- Dic "density: " ; 19
- Dic "allocation unit"; 20
- Dic "checksum" ; 21
- Dic " density (" ; 22
- Dic "attribute" ; 23
- DicB "27,7" , 24
- DicB """single"",27,22,""125"",27,33" , 25
- DicB """double"",27,22,""250"",27,33" , 26
- DicB """double plus"",27,22,""300"",27,33" , 27
- DicB """quad"",27,22,""500"",27,33" , 28
- DicB """unknown (?)""" , 29
- DicB "27,29" , 30
- DicB "27,29" , 31
- DicB """octal"",27,22,""1000"",27,33" , 32
- DicB "31,""Kbps)""" , 33
- = 0
- MEND
- END
-