当前位置: 代码迷 >> 汇编语言 >> 请问一个汇编程序,菜鸟看不懂,求大神指点
  详细解决方案

请问一个汇编程序,菜鸟看不懂,求大神指点

热度:143   发布时间:2016-05-02 04:37:32.0
请教一个汇编程序,初学者看不懂,求大神指点
这是一个LED屏幕显示文字的汇编程序
ROW1   EQU 0600H            :端口定义
ROW2   EQU 0640H
COL1   EQU 0680H
COL2   EQU 06C0H
STACK1 SEGMENT STACK
       DW 256 DUP(?)
STACK1 ENDS
:定义数据段
INCLIDE HZDOTht.ASM         :数据字段为汉子点阵库,在HZDOTht.ASM文件中
CODE   SEGMENT
       ASSUME  CS:CODE,DS:DATA
START:  MOV AX,DATA
        MOV DS,AX
        MOV DX,ROW1
        MOV AL,00H
        OUT DX,AL
        MOV DX,ROW2
        OUT DX,AL
        MOV AL,0FFH
        MOV DX,COL1
        OUT DX,AL
        MOV DX,COL2
        OUT DX,AL

BG0:    MOV AX,160
        MOV SI,OFFSET HZDOTht
BG1:   CALL DISP
        ADD SI,2
        DEC AX
        JZ BG0
        JMP BG1

显示汉字子程序
入口参数:SI=存放汉字起始地址
DISP:   MOV CX,000FH
        PUSH AX
MLO:    PUSH CX
        MOV BL,01H
        MOV CX,0008H
ML1:    MOV DX,ROW1         控制0-7行
        MOV AL,00H
        OUT DX,AL
        MOV AL,[SI]
        NOT AL
        MOV DX,COL1          0-7列
        OUT DX,AL
        INC SI
        MOV AL,[SI]
        NOT AL
        MOV DX,AL            8-15列
        OUT DX,AL
        INC SI
        MOV DX,ROW1          控制0-7行
        MOV AL,BL
        OUT DX,AL
        ROL BL,1
        
        CALL DELAY
        LOOP ML1
        MOV DX,ROW1
        MOV AL,00H
        OUT DX,AL
        MOV CX,0008H
ML2:    MOV DX,ROW2
        MOV AL,OOH
        OUT DX,AL
        MOV AL,[SI]
        NOT AL
        MOV DX,COL1
        OUT DX,AL
        INC SI
        MOV AL,[SI]
        NOT AL
        MOV DX,CLO2
        OUT DX,AL
        INC SI
        MOV DX,ROW2
        MOV AL,BL
        OUT DX,AL
        ROL BL,1
        CALL DELAY
        LOOP ML2
        MOV DX,ROW2
        MOV AL,00H
        OUT DX,AL
        SUB SI,32
        POP CX
        LOOP ML0
        POP AX
        RET
DELAY:  PUSH CX
        MOV CX,0100H
DL1:    PUSH AX