본문 바로가기
어셈블리어 공부용/x86 어셈블리어(ASSEMBLY)

DOS DEBUG로 어셈블리어 연습 [아스키코드전체를 2번만 출력하기]

by Redoutable 2019. 8. 15.
반응형

※참고 아래 링크에 아스키 코드가 정리되어 있습니다.

 

 

IBM Knowledge Center

Please note that DISQUS operates this forum. When you sign in to comment, IBM will provide your email, first name and last name to DISQUS. That information, along with your comments, will be governed by DISQUS’ privacy policy. By commenting, you are accept

www.ibm.com

 

MOV CX, 1FE  ;cx레지스터에 1FE(십진수로 510)를 수록합니다. 이 레지스터는 LOOP문의 반복횟수와 관계있음.
MOV DL,0     ; DL레지스터에 0을 넣어서 아스키코드 맨 처음부터 출력 할 준비를 합니다.
MOV AH,2     ; AH레지스터에 한 글자를 출력하는 기능번호를 수록합니다.
INT 21       ; 출력합니다.
INC DL       ; DL레지스터에 1을 더해줍니다. 아스키코드를 다음 아스키코드로 넘겨주는 역활을 합니다.
LOOP 105     ; 세 번째 줄(MOV AH,2)로 돌아갑니다. CX레지스터에 510가 수록되어 있으므로 510번 반복.

 

위 코드 중에서 아래의 코드가 반복되어서

아스키 코드를 반복하여 출력하게 됩니다.

 

MOV AH,02
INT 21
INC DL
LOOP 105

 

LOOP문은 한 번 실행 될 때 마다 CX레지스터의 값을 1 감소시킵니다.

때문에 510번 반복하게 되는겁니다.

 

실행확인.

반응형

댓글