Write an assembly program that :

Load AL by an arbitrary number, if there is parity even, transfer 80H to the Port 0, and if there is parity odd, transfer 01H to the Port 0.
Do not use interrupts.

Assuming we are targeting an Intel x86 processor, here is a possible implementation in NASM syntax:

section .text
global _start

_start:
; Load AL by an arbitrary number
mov al, 0Bh ; example value

; Compute parity
xor ah, ah ; clear AH
mov cl, 8 ; set loop counter
.loop:
shr al, 1 ; shift right
adc ah, 0 ; add carry to AH
loop .loop ; decrement counter and loop while not zero

; Transfer result to Port 0
test ah, 1 ; check parity
jnz .odd ; jump if odd
mov al, 80h ; set even value
jmp .done ; jump to end
.odd:
mov al, 1 ; set odd value
.done:
mov dx, 0h ; Port 0 address
out dx, al ; send value to port

; Exit program
xor eax, eax
ret

Note that the solution uses a loop to calculate the parity of the input value and branches accordingly to set the output value for Port 0. The output is then written to the port using the OUT instruction, which transfers a byte from a specified register (AL in this case) to a specified I/O port (DX in this case). Finally, the program exits by returning 0 to the operating system (which indicates successful execution).

Sure! Here's an example assembly program that performs the given task without using interrupts:

```
MOV AL, 25 ; Load an arbitrary number into AL
MOV AH, 0 ; Clear AH

TEST AL, 1 ; Check the least significant bit of AL
JZ EVEN_PARITY ; Jump if the parity is even

MOV AL, 01H ; Set AL to 01H (odd parity)
JMP SEND_OUTPUT ; Jump to send the output to Port 0

EVEN_PARITY:
MOV AL, 80H ; Set AL to 80H (even parity)

SEND_OUTPUT:
MOV DX, 0000H ; Use 0000H as the port address
OUT DX, AL ; Output the value in AL to Port 0

HLT ; Halt the program execution
```

In this program, we first load an arbitrary number into the AL register using the MOV instruction. Then, we use the TEST instruction to check the least significant bit (bit 0) of AL. If the parity is even, the zero flag (ZF) will be set, and we jump to the EVEN_PARITY label. Otherwise, we continue to the next instruction, setting AL to 01H to indicate odd parity. Finally, we set DX to 0000H as the port address and use the OUT instruction to send the value in AL to Port 0. The program ends by halting the execution with the HLT instruction.