十万火急!明天交代码解说,望高手逐句解说下代码(交通灯)
时间:2010-12-16
来源:互联网
L8255_CMD EQU 2A3H
L8255_PA EQU 2A0H
L8255_PB EQU 2A1H
L8255_PC EQU 2A2H
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
BEGIN:
MOV CX,0FFH
AA: LOOP AA
MOV DX,L8255_CMD
MOV AL,9CH ;10011000,0方式,PA输入,PB输出
OUT DX,AL
BB:
MOV DX,L8255_PA
IN AL,DX
MOV DX,L8255_PB
OUT DX,AL
;MOV AH,00H
;INT 16H
;JZ BB
JMP BB
MOV AX,4C00H
INT 21H
CODE ENDS
END BEGIN
L8255_PA EQU 2A0H
L8255_PB EQU 2A1H
L8255_PC EQU 2A2H
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
BEGIN:
MOV CX,0FFH
AA: LOOP AA
MOV DX,L8255_CMD
MOV AL,9CH ;10011000,0方式,PA输入,PB输出
OUT DX,AL
BB:
MOV DX,L8255_PA
IN AL,DX
MOV DX,L8255_PB
OUT DX,AL
;MOV AH,00H
;INT 16H
;JZ BB
JMP BB
MOV AX,4C00H
INT 21H
CODE ENDS
END BEGIN
作者: zhangcong002 发布时间: 2010-12-16
我还没学到这里
作者: HNYY1989 发布时间: 2010-12-17
L8255_CMD EQU 2A3H 赋值定义数据
L8255_PA EQU 2A0H
L8255_PB EQU 2A1H
L8255_PC EQU 2A2H
CODE SEGMENT 伪代码分配空间
ASSUME CS:CODE,DS:CODE
BEGIN:
MOV CX,0FFH 循环次数
AA: LOOP AA 用来延时
MOV DX,L8255_CMD 送端口
MOV AL,9CH ;10011000,0方式,PA输入,PB输出 自定义信号方式
OUT DX,AL 输出你定义的(9ch)信号到端口
BB:
MOV DX,L8255_PA
IN AL,DX 输入信号到端口
MOV DX,L8255_PB
OUT DX,AL 输出信号到端口
;MOV AH,00H
;INT 16H
;JZ BB
JMP BB
MOV AX,4C00H 退出程序
INT 21H
CODE ENDS
END BEGIN
程序不完整,只能这样解释了
L8255_PA EQU 2A0H
L8255_PB EQU 2A1H
L8255_PC EQU 2A2H
CODE SEGMENT 伪代码分配空间
ASSUME CS:CODE,DS:CODE
BEGIN:
MOV CX,0FFH 循环次数
AA: LOOP AA 用来延时
MOV DX,L8255_CMD 送端口
MOV AL,9CH ;10011000,0方式,PA输入,PB输出 自定义信号方式
OUT DX,AL 输出你定义的(9ch)信号到端口
BB:
MOV DX,L8255_PA
IN AL,DX 输入信号到端口
MOV DX,L8255_PB
OUT DX,AL 输出信号到端口
;MOV AH,00H
;INT 16H
;JZ BB
JMP BB
MOV AX,4C00H 退出程序
INT 21H
CODE ENDS
END BEGIN
程序不完整,只能这样解释了
作者: zhuyi108 发布时间: 2010-12-17
为什么这么写,我也不是很清楚,只是写了下每句话的意思.
L8255_CMD EQU 2A3H ;CMD口地址
L8255_PA EQU 2A0H ;PA口地址
L8255_PB EQU 2A1H ;PB口地址
L8255_PC EQU 2A2H ;PC口地址
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
BEGIN:
MOV CX,0FFH ;软件延时
AA: LOOP AA ;空循环CX从0FFH->0
MOV DX,L8255_CMD ;2A3超过8为送DX
MOV AL,9CH ;10011000,0方式,PA输入,PB输出
OUT DX,AL ;输出命令字AL到CMD口
BB:
MOV DX,L8255_PA
IN AL,DX ;从PA口读取8位数据到AL
MOV DX,L8255_PB
OUT DX,AL ;把读入的8位数据写回PB口
;MOV AH,00H
;INT 16H
;JZ BB
JMP BB ;重复BB操作
MOV AX,4C00H ;返回DOS
INT 21H
CODE ENDS
END BEGIN
L8255_CMD EQU 2A3H ;CMD口地址
L8255_PA EQU 2A0H ;PA口地址
L8255_PB EQU 2A1H ;PB口地址
L8255_PC EQU 2A2H ;PC口地址
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
BEGIN:
MOV CX,0FFH ;软件延时
AA: LOOP AA ;空循环CX从0FFH->0
MOV DX,L8255_CMD ;2A3超过8为送DX
MOV AL,9CH ;10011000,0方式,PA输入,PB输出
OUT DX,AL ;输出命令字AL到CMD口
BB:
MOV DX,L8255_PA
IN AL,DX ;从PA口读取8位数据到AL
MOV DX,L8255_PB
OUT DX,AL ;把读入的8位数据写回PB口
;MOV AH,00H
;INT 16H
;JZ BB
JMP BB ;重复BB操作
MOV AX,4C00H ;返回DOS
INT 21H
CODE ENDS
END BEGIN
作者: va_zaixuexi 发布时间: 2010-12-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28