In an [8085](https://www.ampheo.com/search/8085) [microprocessor](https://www.ampheo.com/c/microprocessors)([what is microprocessor](https://ampheoelecde.wordpress.com/2025/05/29/was-ist-ein-mikroprozessor/)), flags are part of the flag register (also called status register). Flags are automatically updated after arithmetic or logical instructions, and you can check them using conditional jump or branch instructions. ![maxresdefault (10)](https://hackmd.io/_uploads/rynO5ywMxl.jpg) **Common 8085 Flags** ![企业微信截图_20250530161148](https://hackmd.io/_uploads/BkvLOJDzxg.png) **How to Check a Flag (in Assembly)** You don’t access the flags directly; instead, use conditional instructions like: **Conditional Jump Instructions** ![企业微信截图_20250530161229](https://hackmd.io/_uploads/BJQK_1vMxx.png) **Example: Check Zero Flag** ``` assembly MVI A, 00H ; Load 0 into A MOV B, A ; Copy A to B CMP B ; Compare A with B → Z flag will be set (A - B = 0) JZ LABEL ; Jump to LABEL if Zero flag is set ``` **Example: Check Carry Flag After Addition** ``` assembly MVI A, 0FFH ; A = 255 ADI 01H ; A = A + 1 = 256 → Carry generated JC CARRY_LABEL ; Jump if CY flag is set ``` **How to View Flags on 8085 Trainer Kit** If you're using a physical 8085 microprocessor trainer kit (like from Microprocessor Labs): 1. Perform an operation (e.g., ADD, SUB, CMP). 2. Use conditional jump instructions to test specific flags. 3. Some kits have LEDs or LCDs showing the flag register bits. 4. You can also write a small program to store the flag value (using status-checking logic or indirect testing). **Debug Tip** You can’t directly “read” a flag into a register in 8085 — instead, test the condition and set a value in memory to infer it: ``` assembly MVI A, 0FFH ADI 01H ; A = A + 1 → Carry JC SET_FLAG ; If carry, go set memory location MVI A, 00H STA 8000H ; Flag not set JMP END SET_FLAG: MVI A, 01H STA 8000H ; Flag was set END: HLT ``` Then inspect memory location 8000H on the kit to see if the flag was set.