-1
현재 8086 어셈블리를 배우고 있는데 기호와 오버플로 플래그의 차이를 이해하고 있지만 그 중 하나만 켜져있는 예제는 생각할 수 없습니다. 예를 들어 줄 수 있습니까? 가장 간단한 명령을 사용하여 예제를 이해할 수 있도록 노력하십시오.8086 어셈블리 - 부호 및 넘침 플래그
현재 8086 어셈블리를 배우고 있는데 기호와 오버플로 플래그의 차이를 이해하고 있지만 그 중 하나만 켜져있는 예제는 생각할 수 없습니다. 예를 들어 줄 수 있습니까? 가장 간단한 명령을 사용하여 예제를 이해할 수 있도록 노력하십시오.8086 어셈블리 - 부호 및 넘침 플래그
x86의 neg
명령어는 0 - input
을 기반으로하는 플래그를 설정합니다.
.model small
.data
.code
mov ax, @data
mov ds, ax
mov al, 6
neg al ; this will set sign flag but not overflow flag (NEG instruction is used to find 2's complement of some number)
mov al, -127
sub al, 127 ; this will set overflow flag but not sign flag: -127 - 127 = +2
mov al, -128
neg al ; this sets both OF and SF: 0 - 128 overflow to -128
mov ah, 04ch
int 21h ; exit(al)
end
emu8086에서 테스트되었습니다.
0-128
이 -128까지 오버 플로우합니다. (2's complement special case of the most negative number being its own absolute value). 가장 큰 8 비트 2의 보수 정수는 +127입니다.
OF 대 CF에 대해 알아 보려면 http://teaching.idallen.com/dat2343/10f/notes/040_overflow.txt를 참조하십시오 (SF가 언급 된 것 같습니다) –