2016-11-22 4 views
0

그 번호를 CX (카운터 레지스터)로 옮기고 싶습니다. 그리고 al을 Cx로 옮기는 것은 불가능합니다.마이크로 프로세서 8086에서 어셈블리 언어로 16 비트 숫자를 입력하려면 어떻게해야합니까?

+1

AL은 16 비트 어쨌든 없습니다. 어쨌든 이것에 대해 좀 더 자세히 설명해 주시겠습니까? – harold

+1

AL은 8 비트이고 CX는 16 비트이므로'MOVZX'를 사용할 수 있습니다 – FCin

+0

사용자로부터 입력을 받아서 카운터 레지스터에 저장하여 루프가 입력에 따라 실행되도록하고 싶습니다. 다른 방법도 있습니다. 루프 대신에 사용하십시오. 하지만 루프 만 사용하고 싶습니다. Cx에 저장할 방법이 있습니까? – programmer

답변

1

당신은 clal를 이동 한 후 ch을 제로 수 : 정말 도움이되지 것이다 그래서

mov cl,al 
xor ch,ch 
+1

''xor cx, cx' /'mov cl, al' '을 선호합니다. 이 패턴은 여전히 ​​상반부를 0으로 할 수없는 32 비트 레지스터에서 작동합니다. 또한 Intel P6 계열 마이크로 아키텍처의 부분 등록 실격을 방지합니다. –

관련 문제