如何在数码管中显示0-FFFF中带0的数,一直循环,每秒状态切换。我目前的思路就是用cmp指令比较,要是没有0,就右移,循环四次,四次之后没有0的话,就跳到下一个数字继续循环比较。但是汇编的基础太差,求各位大神帮忙或者提出更好的方法。以下是我们现在存有的汇编程序
DATA SEGMENT
; DB 0 1 2 3 4 5 6 7 8 9 A B C D E F
LEDCODE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
MOV DX,0206H
MOV AL,80H
OUT DX,AL
LEA BX,LEDCODE
XOR SI,SI
AGAIN:
MOV DI,1
LP2:
MOV AX,DI ; PORT B
MOV DX,0202H
OUT DX,AL
MOV AX,SI
AND AX,0FH
XLAT
MOV DX,0200H ; PORT A
OUT DX,AL
PUSH CX
MOV CX,1000
LOOP $
POP CX
MOV CL,4
ROR SI,CL ;SI RIGHT SHIFT 4
ROL DI,1 ; PBx
CMP DI,16
JNE LP2
INC SI
JMP AGAIN
CODE ENDS
END START