or al,80h不能理解为将运算对象符号变为负,只能说是把al中的数据的最高位置1。
把AL寄存器中的最高位置1。这一般是依据程序中的要求。
这个程序的功能,楼主其实都已经理解了。楼主所提出的疑问,可以说:不用深究。22AH是个输入端口,25AH是个输出端口,外接设备都是些什么,对于编写程序,关系并不大。至于80H、高四位置0,往往是外部设备的要求,编程时,按照要求编写就行,不用问为什么。