8086 assembly language nested loop Edit
in this article, we will understand how to create a nested loop in 8086. which means a loop inside another loop. We will try to print * character 10 times in the first line then print the * 10 times in the next 6 lines. I started writing this article when someone asked for help on how to display an inverted pyramid using * character.
Problem Statement
We are trying to print some characters on the first line using a loop and then using a nested loop we will print the characters 6 times.
********** ********** ********** ********** ********** **********
Sample code to display rectangle using * character
.model tiny .code org 100h main proc near mov cx,6 loop2: ; Loop 2 outer loop push cx ; you have to push the cx and pop it out before loop instruction to prevent the cx being over written by the inner loop cx mov cx,10 loop1: ; inner loop mov ah,02h ; Dos function 02h to Write character to STDOUT mov dl,'*' ; character to write int 21h ; dos interrupt 21h loop loop1 ; Code to print in next line mov ah,02h mov dl,0ah ; carriage return int 21h mov ah,02h mov dl,0dh ; line feed int 21h pop cx loop loop2 mov ah,4ch ; Dos function to terminate the return to dos mov al,00 ; return code int 21h ; dos interrupt 21 endp end main