I am learning ARM7-TDMI using NXP LPC2148.
While studying the reference manual, I came across these two functions - IOSET AND IOCLR , used to set and clear the port bits respectively,
As per the reference manual:
" This register controls the state of output pins in conjunction with the IOCLR register. Writing ones produces highs at the corresponding port pins. Writing zeroes has no effect"
Reading this I got curious as to why they had to define two different functions to do this? Wouldn't it take more memory? I mean they could have used IOSET and a single function where writing 1 produces high at pin while 0 produces low.
Additionally, why writing 0s to IOSET has no effect? I tried Googling this question but it is not explained anywhere.
Anybody got an explanation with respect to soft/hardware reasons?