大家好,小弟初学汇编有两个小问题,希望赐教
1,小皮发现硬盘主引导扇区有这样一段代码:
XOR AX,AX
`````
PUSH AX
POP ES
此处用了XOR AX,AX 为什么不用 MOV AX,0000
还有就是PUSH AX
POP ES
为什么不直接用 MOV ES,0000?这样还省代码,而且功能也相同,是不是处理器在处理两句代码时在时间上有差别呢?
2。
小皮只知道在读CMOS 时可以用
MOV CX,0000
MOV BX,0200
MOV AL,CH
OUT 70,AL
IN AL,71
MOV [BX],AL
INC BX
INC CH
DEC CL
JNZ 0106 (跳转到MOV AL,CH)
INT 20
不过在怎么给CMOS请零呢?以为IN 只使内存得到了一个CMOS内的数据,
怎么对CMOS内的数据进行修改呢?
前辈们看看我下面写的清CMOS的程序对吗?
MOV CX,0000
MOV AL,CH
OUT 70,AL
IN AL,71
MOV AL,00 (此处可以这么直接修改吗?)
INC CH
DEC CL
JNZ 0103(跳转到MOV AL,CH)
INT 20
小弟初学,谢谢各位了~``