求一汇编语言程序
设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语言和汇编语言的区别
下一个:学习汇编语言的基础需要什么?没有基础要怎么学习?