8088单板机的端口地址与汇编驱动代码
8086 8088 CPU与外部打交道的对象主要是两个,一个是内存,一个是端口。例如板子上的8253、8255等芯片,都是以端口访问的形式出现的。
8088单板机的外部端口是通过这个74LS138译码器构成的,利用8088的地址总线A10,A9,A8 三位地址线进行译码获得,译出信号,一般接到了结构芯片的片选信号CS上。
代号 |
地址线 A19…..A12 |
地址线 A11 A10 A9 A8 |
地址线 A7 A6 A5 A4 A3 A2 A1 A0 |
端口地址 |
CS_LED |
X………X |
X 0 0 0 |
X X X X X X X X |
0X000 |
CS_232 |
X………X |
X 0 0 1 |
X X X X X X X X (A2 A1 A0用于片内寻址) |
0X100-0X107 |
CS_8255 |
X………X |
X 0 1 0 |
X X X X X X X X (A1 A0用于片内寻址) |
0X200-0X203 |
CS_8253 |
X………X |
X 0 1 1 |
X X X X X X X X (A1 A0用于片内寻址) |
0X300-0X303 |
CS_IC4 |
X………X |
X 1 0 0 |
X X X X X X X X |
0X400 |
CS_IC5 |
X………X |
X 1 0 1 |
X X X X X X X X |
0X500 |
CS_IC6 |
X………X |
X 1 1 0 |
X X X X X X X X |
0X600 |
CS_IC7 |
X………X |
X 1 1 1 |
X X X X X X X X |
0X700 |
下面是端口访问的一个简单例子,LED_8X端口,指向芯片74LS373,控制8个板上的LED。
找到8088开发板的示例程序
汇编程序如下,编译下载后,就可以看到板上的LED闪烁显示了。
;---------------------------------------------------------------------------------------------
;led_port equ 800h
led_port equ 00h
;---------------------------------------------------------------------------------------------
org 2000h ;程序将由监控bios下载到内存RAM的地址(0000:2000)
start:
;------------------------------------------------------
;init part
;------------------------------------------------------
mov ax,0
mov ds,ax
mov ss,ax
mov sp,1fffh
st001:
nop
;-----------------------------------------------------
;点亮系统板上的LED
;-----------------------------------------------------
;MOV DX,800H ;800H是板子上8个LED的端口地址号
mov dx,led_port
MOV AL,0f0H ;一亮一灭间隔点亮
OUT DX,AL
call DELAY
;MOV DX,800H ;800H是板子上8个LED的端口地址号
mov dx,led_port
MOV AL,00H ;一亮一灭间隔点亮
OUT DX,AL
call DELAY
;mov al,01010101b
;mov al,0f0h;
;out 25H,al
;hlt
jmp st001
jmp start
;------------------------------------------------------------
; DELAY PROC NEAR
;------------------------------------------------------------
;push
DELAY:
PUSH CX
PUSH BX
NOP
NOP
mov bx,10
del1:
mov cx,5882
del2:
loop del2
dec bx
jnz del1
;pop cx
;pop bx
POP BX
POP CX
RET
db 55h,55h,55h,55h,55h,55h ;程序结束标志,监控bios程序,收到后自动跳转到内存0000:2000处执行
;----------------------------------------------------------------------------------------------
8088单板机的端口地址与汇编驱动代码相关推荐
- 8088单板机串口驱动代码测试
1.8088单板机的串口接口电路如下 2.驱动代码 :------------------------------------------------------------------------- ...
- 8088单板机升级boot的一些想法
昨天,把8088单板机的rom boot进行了一次升级改写,实现了rom boot可以加载Dos下com类程序的加载.当时匆忙的把这个实现了,今天想把实现的构想再总结一下. 这款8088单板机板上有一 ...
- 给8088单板机写一个迷你Boot
4.迷你Boot 1.为什么要给8088单板机系统,添加一个bootloader呢? 起初,能够用编程器,烧写测试程序,就已经非常开心了,毕竟自己苦苦琢磨8088系统了几年时间,一直感觉无从下手.尽管 ...
- 单板计算机作用上位机,SCB-1单板机的基本操作
SCB-1单板机的基本操作 1. 键盘操作 SCB-1单板机键盘参见附录三.键盘操作参见附录五. 1)状态设置键 MON 与 USE 监控系统采用设置待命状态的方法实现一键两 ...
- 树莓派 linux0.12,12 个可替代树莓派的单板机
正在寻找树莓派的替代品?这里有一些单板机可以满足你的 DIY 渴求. 树莓派是当前最流行的单板机.你可以在你的 DIY 项目中使用它,或者用它作为一个成本效益高的系统来学习编代码,或者为了你的便利,利 ...
- 使用Linux curl命令获取本机公网IP地址
使用Linux curl命令获取本机公共IP地址 在本教程中,我们将学习如何使用Linux curl命令查找计算机的公共IP地址. 通常,如果我们想要找到我们使用的公共IP地址,我们会去谷歌并搜索&q ...
- 在工作站计算机中创建策略,禁止任何计算机访问本机 8000 端口
在工作站计算机中创建策略,禁止任何计算机访问本机 8000 端口 记录一下学习 1.控制面板-管理工具-本地安全策略-打开IP安全策略 2.右键-管理IP筛选器列表和筛选器操作 3.在IP筛选器列表中 ...
- 计算机网络中的端口地址
我们通过逻辑地址(就是IP地址,工作在网络层,在传输过程中不会变,IPv432位地址,IPv6128位地址)实现计算机之间的通信,计算机之间进程的通信实质上是不同计算机之间进程的通信,而端口号就是唯一 ...
- 本机电脑端口开放让区域网内其他电脑访问
1.点击控制面板,选择系统与安全 2.点击进入防火墙 3.点击进入高级设置 4.点击入站规则 5.点击新建规则 6.选择端口,点击下一步 7.输入要开放的端口,点击下一步 8.选择允许连接,点击下一步 ...
- 已知 8253的端口地址为0200H~0203H,将8253CNT0 设置为方式1,计数初值为3000H, CNT1设置为方式2,计数初值为2010H, CNT2设置为方式4,计数初值为4030H。试
[微机原理]-汇编题 已知 8253的端口地址为0200H~0203H,将8253CNT0 设置为方式1,计数初值为3000H, CNT1设置为方式2,计数初值为2010H, CNT2设置为方式4,计 ...
最新文章
- 阿里算法,浙大博士带你写项目经历!
- 看完这些细分领域别说小程序代理创业没有机会
- 手写bind_深入理解 JavaScript 之手写 call, apply, bind 方法
- 速达5000出现计算成本数据溢出的问题
- django13:Session与Cookie操作
- Mybatis-plus常用API全套教程
- 拓端tecdat|R语言用FNN-LSTM假近邻长短期记忆人工神经网络模型进行时间序列深度学习预测4个案例
- jquery 同胞 siblings next nextAll nextUtil pre preAll preUtil
- 根据mac地址查询厂商
- 基于开源SDN控制器的下一代金融云网络的研究与实践
- 安洵信息渗透工程师面试经验分享
- AUTOCAD——成组命令
- 树莓派入门:树莓派的初始设置
- Excel怎么在数据中间隔插入指定行
- 使用tvp.player_v2_zepto.js播放腾讯视频
- 基于android的旅游攻略应用(含源码)
- 【STM32系列汇总】博主的STM32实战快速进阶之路(持续更新)
- STC89C52的中断
- 美团,大众点评,58城市行政区域和商圈数据实现
- python调用浏览器内核实现内嵌浏览器_python实现随机调用一个浏览器打开网页
热门文章
- 编写你的应用程序(六)、nacl_io库
- nodejs+mongodb 实现增删改查(字符串拼接 初期)
- 再见,OI ---GDOI2017爆零记
- python基本爬虫训练DIY12345有bug修改日子。
- MTK Android Driver :audio para
- 因缺思汀的绕过(CTF)
- 软件安利——火绒安全
- 中小型景区选择票务系统的优势
- 抽奖抽奖-乐高礼盒!!
- A component required a bean of type ‘com.hao.mall.service.UserService‘ that could not be found.