当前位置:编程学习 > 汇编语言 >>

求一汇编语言程序

设8255A的端口地址为90H~93H,编程利用8255A的PB0引脚产生如图所示的波形,波形延时时间可直接调用延时1ms的子程序D1MS来实现。
追问:就用简单的汇编语言编写,如何使PB0口输出高低电平MOV   AL,   10011001B
    OUT  93H,  AL
OUTPB0:
    MOV   AL,   11111110B
    OUT  91H,  AL
    CALL DL1ms
    MOV   AL,   11111111B
    OUT  91H,  AL
    CALL DL1ms
    JMP  OUTPB0
DL1ms:
    ......
    RET
END 



我需要的就是像这种类型的
答案:;----------------------------------
    MOV   AL,   10011001B   ;设置8255,PB为基本输出.
    OUT  93H,  AL
;----------------------------------
OUTPB0:
    MOV   AL,   11111110B   ;D0位为0
    OUT  91H,  AL                 ;输出到PB
    CALL DL1ms
    MOV   AL,   11111111B
    OUT  91H,  AL
    CALL DL1ms
    JMP  OUTPB0                ;无限循环.
;----------------------------------
DL1ms:
    ......
    RET
;----------------------------------
END
其他:编写程序:求100!的值,请写完整点, ; multi-segment executable file template. data SEGMENT ; add your data here! rlst DW 1,127 dup(0) 太简单了。兄弟看好下列程序,随手很多方法写。
MAIN:
MOV PB,#0FFH;初始化PB口
NEXT1:
CLP PB.0      对PB.0取反
ACALL D1MS; 延迟 
SJMP NEXT1;  循环输出
END 

上一个:c语言和汇编语言的区别
下一个:学习汇编语言的基础需要什么?没有基础要怎么学习?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,