首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

求大神看看,为什么小弟我的循环结束之后为什么没有进行Q3

2013-01-17 
求大神看看,为什么我的循环结束之后为什么没有进行Q3CODESEGMENT ASSUME CS:CODEIOCONEQU 8006HIOAEQU 80

求大神看看,为什么我的循环结束之后为什么没有进行Q3
CODE    SEGMENT ; 
        ASSUME CS:CODE
IOCONEQU 8006H
IOA     EQU 8000H
IOB     EQU 8002H
IOC     EQU 8004H
START:
MOV AL,90H
        MOV DX,IOCON
        OUT DX,AL
        NOP
BEGIN: NOP
        NOP
        MOV AL,0
        MOV DX,IOA
        IN AL,DX
        NOP
        TEST AL,01
        JNZ BEGIN
        MOV AL,01
    S1: MOV BL,8
    S2: MOV CX,8
    A1: RCL AL,1
        NOP
        MOV DX,IOB
        OUT DX,AL
MOV BX,20
    A2: INC BX
        JNZ A2
        LOOP  A1
        SUB BL,1
        JNZ A2

    Q3: MOV BL,8
    Q4: MOV CX,8
    B1: RCR AL,1
        NOP 
        MOV DX,IOB
        OUT DX,AL
        MOV BX,20
    B2: INC BX
        JNZ B2
        LOOP B1
        ADD BL,1
        JNZ Q4
        JMP BEGIN

CODE    ENDS
        END START

这是一个是流水灯左移,我想后面再循环右移回来,,但Q3之后的代码没有执行!求教!!
[解决办法]
到不了 Q3 说明 BL 没能为 1 ,确实从上面来看,BX 为 0 才会到 LOOP 指令再到下面,这样 BL 确实无法为 1 了;所以,涉及到的 BX 或 BL 条件判断上有问题。

热点排行