나는 천천히 놀기 위해 천천히 osdev에 들어가려고 노력하고있다.왜 "또는 아, 아"?
This tutorial은 드라이브가 준비 될 때까지 기다립니다 어셈블리의 조각이 있습니다
reset_drive:
mov ah, 0
int 13h
or ah, ah
jnz reset_drive
나는 장치가 준비 경우 인터럽트 후, ah
가 0이됩니다 것을 얻을. 그러나 or ah,ah
은 무엇을합니까? 약간 중복 된 것 같습니다 ... 아무 것도하지 않는 것처럼 보입니다. (적어도 내 논리에 의해) 그것은 무엇을 하는가?
'test ah, ah' (https://stackoverflow.com/a/33724806/224132)의 비효율적 인 방법입니다. 특히 8 진수 레지스터에 쓰기가 부분 레지스터 병합을 만들기 때문에 인텔 CPU, 심지어 Skylake에 관한 문제. –