关于8254的初始化问题

Unique19 2006-12-22 07:54:44
若某微机系统中8254的端口地址为40H---43H, 要求计数器1工作于方式2,计数初值为1000D, 按照BCD码计数. 则初始化程序段为:

MOV AL, 65H
OUT 43H, AL
MOV AL, 10H; 只写高8位, 低8位默认为00
OUT 41H, AL

另一种初始化方法:
MOV AL, 75H
OUT 43H, AL
MOV AX, 1000H
OUT 41H, AL ; 先写00, 后写10
MOV AL, AH
OUT 41H, AL

请问, 这两种初始化方法都可以吗?


...全文
885 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gallanthunter 2006-12-23
  • 打赏
  • 举报
回复
你的MOV AX, 1000H是错的,若要用16进制,则需将1000改为03E8H
gallanthunter 2006-12-22
  • 打赏
  • 举报
回复 1
8254只能用二进制或16进制吧,初始化程序我想应该这样写
mov al,01110100b ;计数器1工作于方式2,高低都写,二进制,若用16进制,将后面最低位写为1
OUT 43H, AL
MOV AX, 1000
OUT 41H, AL
MOV AL, AH
OUT 41H, AL

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧