x86汇编中的嵌套循环?

时间:2013-03-13 23:46:14

标签: assembly x86 tasm

也许这是愚蠢的,但我对汇编程序很新,所以请耐心等待。

有没有办法在汇编程序中实现嵌套循环? 非常感谢一个例子

我从一个例子中创建了这个简单的代码,它输出了字母:WVUTSR我修改了一下,以便像这样输出:

W
VW
UVW
TUVW
STUVW
RSTUVW

但相反,我明白了:

WW
VV
UU
TT
SS
RR

以下是代码:

.model small
.stack 100h
.data

M DB 'W'

.CODE

MAIN PROC FAR
MOV AX, @DATA
MOV DS, AX
MOV AX, 003H
INT 10H

; for (CX = 6; CX != 0; CX--) { // PSEUDO CODE
    ; for (BL = 0; BL != 7-CX; BL++) {
        ; putchar(M+BL);
    ; }
    ; M--;
    ; putchar(10);
    ; putchar(13);
; }

MOV CX, 6
OUTER:
INNER:
MOV AL, 7
SUB AL, CL
CMP BL, AL
JE INNEREQUAL
MOV AH, 02
MOV DL, M
INT 21H
MOV DL, AL
INT 21H
INC BL
JNE INNER

INNEREQUAL:
DEC M

MOV AH, 2
MOV DL, 10
INT 21H
MOV DL, 13
INT 21H
LOOP OUTER

MOV AH, 4CH
INT 21H

MAIN ENDP
END MAIN

如果有帮助,我正在使用tasm。我现在也要拔头发。

0 个答案:

没有答案