assembly language loop function

1. work
2. reduce cx,1
3. check cx=0

int cx=5,ax,0;
for (cx=5;cx>0;cx--)
{
ax=ax+cx;
}

100 mov cx,5 ( cx=5 )
103 xor ax,ax ( ax=0 )
105 add ax,cx ( ax=ax+cx )
107 sub cx,1 ( cx=cx-1 )
10A cmp cx,0 (compare if cx=0 )
10D jne 105 ( if ax !=0 go to offset 105 )

result ax=0+5+4+3+2+1 = 15

2.
dx=41
ax =15
if (ax>=10)
dx=dx+1


print from A to E
100 mov dx,40
103 mov cx,5 ( นับจาก 5 )
106 add dx,1
109 mov ah,2
10B int 21
10D sub cx,1
110 cmp cx,0 (compare cx= 0 or not)
113 jne 106  ( if cx!=0 go to offset 106 )

if (ax>10)
ax=0
else if( ax==5)
ax=EA
else ax=10

to print value from A to E using jmp
100 mov cx,5
103 mov dx,41
106 cmp cx,0
109 ah,2
10B int 21
10D sub cx,1
110 add dx,1
103 jmp 106

0 comments em “assembly language loop function”

Post a Comment

 

Personal I.T blogs Copyright © 2011 -- Template created by O Pregador -- Powered by Blogger