I/0端口有关的寻址方式
2015-11-28 21:52
218 查看
与I/0端口有关的寻址方式
8086微处理器采用独立编址的I/0端口,有专门的输入指令IN和输出指令OUT,寻址方式有以下两种。
直接端口寻址
直接端口寻址是在指令中直接给出要访问的端口地址,一般采用2位十六进制数表示,也可以是符号,访问的端口范围0~255.
例如:
IN AL,20H
表示从I/0端口地址为20H的端口中取数据送入AL寄存器中。
间接端口寻址
若访问的端口地址大于255时,就要用间接寻址方式。可以访问的端口范围0~65535.
例如:
MOV DX,356H
;将端口地址356H送入DX寄存器
OUT DX,AL
;将AL中的内容输出到DX指定的端口
隐含寻址
不是明显的给出操作数地址,而是在指令中隐含着操作数的地址,即要寻找的地址包含在操作码中。例如在单地址指令格式中,就是不明显的给出第二操作数的地址,而是以隐含的方式规定累加器作为第二操作数的地址。
如DAA
;指令的操作对象为AL,结果也存于AL中。
8086微处理器采用独立编址的I/0端口,有专门的输入指令IN和输出指令OUT,寻址方式有以下两种。
直接端口寻址
直接端口寻址是在指令中直接给出要访问的端口地址,一般采用2位十六进制数表示,也可以是符号,访问的端口范围0~255.
例如:
IN AL,20H
表示从I/0端口地址为20H的端口中取数据送入AL寄存器中。
间接端口寻址
若访问的端口地址大于255时,就要用间接寻址方式。可以访问的端口范围0~65535.
例如:
MOV DX,356H
;将端口地址356H送入DX寄存器
OUT DX,AL
;将AL中的内容输出到DX指定的端口
隐含寻址
不是明显的给出操作数地址,而是在指令中隐含着操作数的地址,即要寻找的地址包含在操作码中。例如在单地址指令格式中,就是不明显的给出第二操作数的地址,而是以隐含的方式规定累加器作为第二操作数的地址。
如DAA
;指令的操作对象为AL,结果也存于AL中。
相关文章推荐
- 【HTML5+css3】学习笔记之表单元素
- 使用鼠标在面板上移动消息
- NodeJS中使用benchmark进行基准测试-@alsotang
- 进程状态之间的转换*小记【操作系统】
- C语言运算符小结
- ACM学习历程—HDU5586 Sum(动态规划)(BestCoder Round #64 (div.2) 1002)
- 【HTML5+css3】学习笔记之音频元素和视频元素
- IOS之保存登录状态
- 《学会提问:批判性思维指南》
- Android 的 Binder 机制概念介绍
- iOS开发:国际化之app支持多种语言切换
- kindeditor初学
- Contest1040 - 第三届“图灵杯”NEUQ-ACM程序设计大赛(个人赛) G: 田鼠看热闹(Ⅰ)
- #学习笔记#(1)JavaScript动态时间
- nodejs学习--子进程 child_process模块的基本介绍
- 【HTML5+css3】学习笔记之嵌入元素
- C语言学习笔记1
- Android之自定义View的封装
- 微信学习系列
- Linux Netcat命令