2017-12-01 15 views
-1
안녕하세요 모두 감사는이 운동을 해결하기 위해 노력하고, 나는 알이 값 FF를 가지고 그 상자를 알고, BL의 상자에 값 03

CMP JG 어셈블리의 작업은

을 가지고 있지만 때 스피는 일을

방법그 (al-bl)과 255-3이 맘에 들지 않는다. 252 그게 더 큰 것을 의미한다. 그래서 내가 emu8086에서이 코드를 실행할 때 L1으로 점프하지 않는다. 대신 그는 주문 inc에 들어갔다. ;

enter image description here

+0

'JG'는 부호가있는 산술이므로 '255'는 실제로'-3'보다 크지 않은'-1'로 해석됩니다. 서명하지 않으려면 'JA'를 사용하십시오. – Jester

+0

왜냐하면 가장 중요한 비트가 1입니까? –

+0

바이트, 바이트가 아닙니다. 하지만 그렇습니다. – Jester

답변

2

jg 명령은 비교가 서명을 나타냅니다 (내가 해달라고 MSB와의 아마 뭔가 알고 있다고 생각). 즉, 0xff는 -1로 해석되어 하나의 보수 값으로 해석됩니다.

ja 명령어는 부호없는 비교를 수행합니다. 예상대로 작동합니다.