[ Assemble ] 어셈블리 곱셈(mul)/ 나눗셈(div) 연산 실습(1byte)
·
Archive/Hacking
SASM 환경에서 진행합니다. Assemble 곱셈 실습 어셈블리어에서의 곱셈/나눗셈은 덧셈, 뺄셈보다 조금 복잡합니다. 이번 포스팅은 1byte 곱셈 / 1byte 나눗셈만 다뤄보겠습니다. 우선, AX 라는 레지스터는 AH 와 AL 로 나눌 수 있습니다. 이걸 알고 넘어가야 이해할 수 있습니다. AX AH AL 곱셈의 형식은 이러합니다. mul 파라미터 우리가 아는 곱셈의 형식은 피연산자가 2개인, A*B 의 형태입니다. 하지만 어셈블리어에서는 마치 피연산자가 1개인 것 처럼 보입니다. 핵심만 말하겠습니다. mul 뒤에 붙는 파라미터 값은 AL 과 곱해져 AL에 저장됩니다. AL에 저장된다는 것은, AX에서도 그 값을 볼 수 있다는 말입니다. 말로는 조금 어려우니, 코드로 볼까요? ax에 0이 들어있는..