01/10/2018, 15:53

Để sử dụng nhiều vòng lặp trong assembly thì phải làm thế nào?

mọi người cho mình hỏi để sử dụng nhiều vòng lặp trong một bài tập assembly thì phải làm thế nào

Sáng Béo viết 18:07 ngày 01/10/2018

mình không nhớ cú pháp nhưng về tư tưởng thì mình nghĩ là đặt Label rồi ở dưới kiểm tra điều kiện rồi dùng Jump đến label đó để chạy lại phần code ở sau Label trên thêm 1 lần nữa, cứ thế là bạn có vòng lặp thôi.

Vn viết 17:58 ngày 01/10/2018

mình muốn hỏi về vòng lặp lồng trong một vòng lặp ý

*grab popcorn* viết 18:00 ngày 01/10/2018

Ý tưởng bạn Sáng Béo là đúng như bạn nói ấy.
Là ở dưới label, có 1 label nữa

label1:
 //code

 label2:
   //condition
   je label2

 //condition
 je label1
HelloWorld viết 18:09 ngày 01/10/2018

Example

Đây là nguồn gốc của lệnh goto trong c/c++ và người ta khuyên không nên dùng

Vn viết 17:58 ngày 01/10/2018
.model small
.data
A	dw	0, 1, 1, 0, 0, 0, 1, 1
n	dw	7
s	dw	?
.code
Start:		
	mov  ax,@Data 
	mov  ds, ax

        mov  ax,0
        mov  s,ax
        mov  bx,2
        mov  ax,A
        mov  cx,n
        
for:    
        mul  bx
        loop for
        add  ax,s
        mov  s,ax
        mov  si,2
        mov  cx,6
for1:   
        mov  ax,A[si]
        mov  n,cx
        mov  ax,n    
        sub  ax,1
        mov  n,ax
        mov  cx,n
        loop for
        add  ax,s
        mov  s,ax
        add  si,2
        loop for1




.model small
.data
A	dw	0, 1, 1, 0, 0, 0, 1, 1
n	dw	8
s	dw	?
s8      dw	?
.code
Start:		
	mov  ax,@Data 
	mov  ds, ax

        mov  ax,0
        mov  s,ax
        mov  si,0
        mov  bx,2
        mov  cx,n
        mov  ax,A[si]
        dec  cx
for1:
        mul  bx
        loop for1
        add  ax,s
        mov  s,ax
        add  si,2
        loop for

bạn xem hộ mình 2 đoạn code này được ko
cả 2 đều ko chạy ý

*grab popcorn* viết 17:54 ngày 01/10/2018

Sao bạn lại loop ngay đầu thế kia O_O
loop for là check cx, cx != 0 thì nó trở lại label for
Mà trc đó chỉ có 1 đoạn là mul bx, mà mul ko dùng cx

Nên:

for:
 mul bx
 loop for

bị lặp vĩnh viễn rồi :?

Vn viết 17:55 ngày 01/10/2018

cảm ơn bạn nhiều

Bài liên quan
0