]> git.sur5r.net Git - cc65/commitdiff
Use .assert
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 20 Apr 2005 16:52:18 +0000 (16:52 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 20 Apr 2005 16:52:18 +0000 (16:52 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3478 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/apple2/filedes.s
libsrc/apple2/open.s
libsrc/apple2/write.s

index 094783a79658af6eaf3b34da25689bf53ff7d94d..3a480f6a26d43df3a761235ea6a05a28e7502708 100644 (file)
@@ -17,16 +17,12 @@ getfd:
         cmp    #MAX_FDS
         bcs    error
 
-        .if    .sizeof(FD) = 4
 
         ; Convert handle to fdtab slot
+        .assert .sizeof(FD) = 4, error
         asl
         asl
 
-        .else
-        .error "Assertion failed"
-        .endif
-
         ; Check for fdtab slot in use
         tay
         lda    fdtab + FD::REF_NUM,y
@@ -43,7 +39,7 @@ error:  lda   #EINVAL
 
         .data
 
-fdtab:  .if    .sizeof(FD) = 4
+fdtab:  .assert .sizeof(FD) = 4, error
 
         .byte  $80             ; STDIN_FILENO ::REF_NUM
         .byte  O_RDONLY        ; STDIN_FILENO ::FLAGS
@@ -57,8 +53,4 @@ fdtab:  .if   .sizeof(FD) = 4
         .byte  O_WRONLY        ; STDERR_FILENO::FLAGS
         .addr  $0000           ; STDERR_FILENO::BUFFER
 
-        .else
-        .error "Assertion failed"
-        .endif
-
         .res   (MAX_FDS - 3) * .sizeof(FD)
index ca08735a16bf686e2290177496bfe415cb2ff07f..d27be5e8ba7b2441a8e7d3c8e1184e1554d3f678 100644 (file)
@@ -37,18 +37,13 @@ _open:
 :       lda    fdtab + FD::REF_NUM,y
         beq    found
 
-        .if    .sizeof(FD) = 4
-
         ; Advance to next fdtab slot
+        .assert .sizeof(FD) = 4, error
         iny
         iny
         iny
         iny
 
-        .else
-        .error "Assertion failed"
-        .endif
-
         ; Check for end of fdtab
         cpy    #MAX_FDS * .sizeof(FD)
         bcc    :-
@@ -107,13 +102,8 @@ found:  tya
         and    #O_CREAT
         beq    open
 
-        .if    MLI::CREATE::PATHNAME = MLI::OPEN::PATHNAME
-
         ; PATHNAME already set
-
-        .else
-        .error "Assertion failed"
-        .endif
+        .assert MLI::CREATE::PATHNAME = MLI::OPEN::PATHNAME, error
 
         ; Set all other parameters from template
         ldx    #(MLI::CREATE::CREATE_TIME+1) - (MLI::CREATE::PATHNAME+1) - 1
@@ -138,7 +128,7 @@ found:  tya
         beq    open
 
         lda    #$47            ; "Duplicate filename"
-        
+
         ; Cleanup name
 oserr2: jsr    popname         ; Preserves A
 
@@ -148,7 +138,7 @@ oserr1: ldy tmp2            ; Restore fdtab slot
         pha                    ; Save oserror code
         jsr    freebuffer
         pla                    ; Restore oserror code
-        
+
         ; Return oserror
         jmp    oserrexit
 
@@ -200,20 +190,15 @@ open:   ldy       tmp2            ; Restore fdtab slot
 done:   lda    tmp1            ; Restore fd
         sta    fdtab + FD::REF_NUM,y
 
-        .if    .sizeof(FD) = 4
-
         ; Convert fdtab slot to handle
+        .assert .sizeof(FD) = 4, error
         tya
         lsr
         lsr
 
-        .else
-        .error "Assertion failed"
-        .endif
-
         ; Cleanup name
         jsr    popname         ; Preserves A
-        
+
         ; Return success
         ldx    #$00
         rts
index 59a30b1e8a554ca8c3bb97238674ecade773f294..056140a9ae6efa5afe0d3c816e9dd14be84f2ed8 100644 (file)
@@ -44,21 +44,13 @@ _write:
         jsr    callmli
         bcs    oserr
 
-        .if    MLI::MARK::REF_NUM = MLI::EOF::REF_NUM
 
         ; REF_NUM already set
+        .assert MLI::MARK::REF_NUM = MLI::EOF::REF_NUM, error
 
-        .else
-        .error "Assertion failed"
-        .endif
-
-        .if    MLI::MARK::POSITION = MLI::EOF::EOF
 
         ; POSITION already set
-
-        .else
-        .error "Assertion failed"
-        .endif
+        .assert MLI::MARK::POSITION = MLI::EOF::EOF, error
 
         ; Set file pointer
         lda    #SET_MARK_CALL
@@ -121,3 +113,4 @@ errno:  jmp errnoexit
 
         ; Return oserror
 oserr:  jmp    oserrexit
+