Use structs
git-svn-id: svn://svn.cc65.org/cc65/trunk@2710 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -33,13 +33,14 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
; Struct utsname offsets and size
|
; Struct utsname
|
||||||
utsname_sysname = 0
|
.struct utsname
|
||||||
utsname_nodename = utsname_sysname + 17
|
sysname .byte 17
|
||||||
utsname_release = utsname_nodename + 9
|
nodename .byte 9
|
||||||
utsname_version = utsname_release + 9
|
release .byte 9
|
||||||
utsname_machine = utsname_version + 9
|
version .byte 9
|
||||||
utsname_size = utsname_machine + 25
|
machine .byte 25
|
||||||
utsname_fieldcount = 5
|
.endstruct
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,11 +26,13 @@
|
|||||||
|
|
||||||
; Table with offsets into struct utsname
|
; Table with offsets into struct utsname
|
||||||
fieldoffs:
|
fieldoffs:
|
||||||
.byte utsname_sysname
|
.byte utsname::sysname
|
||||||
.byte utsname_nodename
|
.byte utsname::nodename
|
||||||
.byte utsname_release
|
.byte utsname::release
|
||||||
.byte utsname_version
|
.byte utsname::version
|
||||||
.byte utsname_machine
|
.byte utsname::machine
|
||||||
|
|
||||||
|
fieldcount = * - fieldoffs
|
||||||
|
|
||||||
;--------------------------------------------------------------------------
|
;--------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -45,7 +47,7 @@ fieldoffs:
|
|||||||
stx tmp1 ; Field number
|
stx tmp1 ; Field number
|
||||||
|
|
||||||
next: ldy tmp1
|
next: ldy tmp1
|
||||||
cpy #utsname_fieldcount
|
cpy #fieldcount
|
||||||
beq done
|
beq done
|
||||||
inc tmp1 ; Bump field counter
|
inc tmp1 ; Bump field counter
|
||||||
lda fieldoffs,y ; Get next field offset
|
lda fieldoffs,y ; Get next field offset
|
||||||
|
|||||||
Reference in New Issue
Block a user