]> Untitled Git - emu8051.git/commitdiff
Add carry bit definitions
authorHugo Villeneuve <hugo@hugovil.com>
Sun, 17 Nov 2013 19:29:25 +0000 (14:29 -0500)
committerHugo Villeneuve <hugo@hugovil.com>
Sun, 17 Nov 2013 22:26:54 +0000 (17:26 -0500)
src/psw.c
src/reg8051.h

index 2210d85218982422b5986173351b7a666a831141..bf758540d20b2e602285e6b851cb268d09c902f5 100644 (file)
--- a/src/psw.c
+++ b/src/psw.c
@@ -28,9 +28,9 @@ psw_write_cy(int cy)
        u_int8_t psw = memory_read8(INT_MEM_ID, _PSW_);
 
        if (cy)
-               psw |= 0x80;  /* Set */
+               psw |= PSW_FLAG_CY;  /* Set */
        else
-               psw &= ~0x80; /* Clear */
+               psw &= ~PSW_FLAG_CY; /* Clear */
 
        memory_write8(INT_MEM_ID, _PSW_, psw); /* Save updated value */
 }
@@ -40,7 +40,7 @@ psw_set_cy(void)
 {
        u_int8_t psw = memory_read8(INT_MEM_ID, _PSW_);
 
-       psw |= 0x80;
+       psw |= PSW_FLAG_CY;
 
        memory_write8(INT_MEM_ID, _PSW_, psw); /* Save updated value */
 }
@@ -50,7 +50,7 @@ psw_clr_cy(void)
 {
        u_int8_t psw = memory_read8(INT_MEM_ID, _PSW_);
 
-       psw &= ~0x80;
+       psw &= ~PSW_FLAG_CY;
 
        memory_write8(INT_MEM_ID, _PSW_, psw); /* Save updated value */
 }
@@ -59,5 +59,5 @@ psw_clr_cy(void)
 int
 psw_read_cy(void)
 {
-       return memory_read8(INT_MEM_ID, _PSW_) >> 7;
+       return memory_read8(INT_MEM_ID, _PSW_) >> PSW_BIT_CY;
 }
index 1800be77b7f70ae03e66f6a3229ec4deb5d45fb9..b48424618428e464a56202b6c7f74e4984ca2937 100644 (file)
 #define _BANK2_     0x10
 #define _BANK3_     0x18
 
+#define PSW_BIT_CY 7
+#define PSW_BIT_AC 6
+#define PSW_BIT_OV 2
+#define PSW_BIT_P  0
+
+#define PSW_FLAG_CY (1 << PSW_BIT_CY)
+#define PSW_FLAG_AC (1 << PSW_BIT_AC)
+#define PSW_FLAG_OV (1 << PSW_BIT_OV)
+#define PSW_FLAG_P  (1 << PSW_BIT_P)
+
 #endif /* REG8051_H */