안녕하세요, 저는 어셈블리 언어의 초보자입니다. 어느 누구도 어셈블리 언어 x86에서 숫자를 다루는 방법을 이해할 수 있습니다. 나는 숫자와 관련된 모든 작업을 처리 할 때 나는 나는 shl
같은 프로그램을 실행할 수 없습니다, 어려움에 직면 shr
, mul
어느 한 설명 또는 나는 매우 감사 할 것입니다 다음 코드를 공유 할 수있는 경우 div
두 자리 또한어셈블리 언어의 숫자
마찬가지로 :
Mov Al 2
Mov Bx 2
mul bx
mov dx,bx
mov ah,2
int 21h
하지만 30h
조차 못할 쇼 정답을 뺀를 통해 은밀한 경우 그것이 상징에 나타내었다 올바른 출력을 표시 할 수 없습니다.
조립시 * 문자 *를 읽고 쓸 수 있습니다. 숫자 값이 필요한 경우 문자 값을 숫자로 변환 한 다음 숫자를 조합하려는 모든 유형에 결합해야합니다. [ASCIITable] (http://asciitable.com) 참조 –
화면의 두 자리 숫자는 두 개의 ASCII 문자로 구성됩니다. 'mov dl', 2 'mov ah, 2 int 21h mov dl,'5 'mov ah, 2 int 21h'와 같이 화면에 "25"가 출력됩니다. 이 예제에서 실제 값 '25'는 전혀 사용되지 않았습니다. DOS는 숫자를 출력하는 서비스가 없습니다. 숫자를 먼저 문자로 변환해야합니다. 참조 : https://stackoverflow.com/tags/x86/info ... 어셈블리 기초를 배우는 중이라면 문자열 항목을 완전히 건너 뛰고 디버거를 사용하여 숫자 값이 맞는지 확인하십시오. 나중에 산술 및 메모리 조작에 대한 경험이있는 경우 문자열로 작업하십시오. – Ped7g