In和Out指令

In和Out

OUT 0FAH,AL(它是指从AL中输出一个字节到0FAH的一个端口吗?)

OUT DX,AL

OUT 0FAH,AX(AX是一个字为什么也能输出到0FAH所指的8位端口中呢?)

OUT 03F8H,AL(这个指令有错误为什么?)

这是因为在OUT指令中直接用数字寻址,端口号只能是0到FFH,而上面这条指令应改为

MOV DX 03F8H ;只能放在DX,这是规定。

OUT DX,AL

-----------------------------------------

OUT 0FAH,AL(它是指从AL中输出一个字节到0FAH的一个端口吗?)

是的

---------------------------------------

OUT 0FAH,AX(AX是一个字为什么也能输出到0FAH所指的8位端口中呢?)

这条指令将AL中的数据放在0FAH,将AH中的数据放在0FBH。

这四条指令主要就是说明这个OUT指令的不同用法,学这些指令不用硬记每条指令的各种用法,只要根据规定的寻址方式。

IN(Input) 输入

OUT(Output) 输出

这组指令只限于使用累加器AX或AL传送信息.

IN 输入指令长格式为:   IN  AL,PORT(字节)

IN  AX,PORT(字)

执行的操作: (AL)<-(PORT)(字节)

(AX)<-(PORT+1,PORT)(字)

短格式为:   IN   AL,DX(字节)

IN AX,DX(字)

执行的操作: AL<-((DX))(字节)

AX<-((DX)+1,DX)(字).

OUT 输出指令长格式为:   OUT  PORT,AL(字节)

OUT  PORT,AX(字)

执行的操作: (PORT)<-(AL)(字节)

(PORT+1,PORT)<-(AX)(字)

短格式为:   OUT  DX,AL(字节)

OUT DX,AX(字)

执行的操作: ((DX))<-(AL)(字节)

((DX)+1,(DX))<-AX(字)

在IBM-PC机里,外部设备最多可有65536个I/O端口,端口(即外设的端口地址)为0000~FFFFH.其中前256个端口(0~FFH)可以直接在指令中指定,这就是长格式中的PORT,此时机器指令用二个字节表示,第二个字节就是端口号.所以用长格式时可以在指定中直接指定端口号,但只限于前256个端口.当端口号>=256时,只能使用短格式,此时,必须先把端口号放到DX寄存器中(端口号可以从0000到0FFFFH),然后再用IN或OUT指令来传送信息.

IN,OUT端口读写指令

端口是主机与外设进行数据交换的。(外设接口电路有专用于数据交互的寄存器。为了与CPU中的寄存器相区别,称之为端口)。端口有数据端口,状态端口和控制端口3种。

PC机给予每一个端口分配了一个地址(称为端口号),形成一个独立于内存空间的I/O地址空间。在8086/8088中,端口地址的范围是0000至FFFF。

CPU对外设的操作通过专门的端口读写指令来完成。读端口用IN指令,写端口用OUT指令。

IN ACC,PORT;从端口PORT读取数据到ACC;

PORT可以是立即数,也可以是DX。

ACC为AL时,从PORT读取1字节数据到AL

ACC为AX时,从PORT读取2字节数据到AX

OUT PORT,ACC;将ACC的数据写入端口PORT;

例子:

IN AL,21H;表示从21H端口读取一字节数据到AL

IN AX,21H;表示从端口地址21H读取1字节数据到AL,从端口地址22H读取1字节到AH

MOV DX,379H

IN   AL,DX;从端口379H读取1字节到AL

OUT 21H,AL;将AL的值写入21H端口

OUT 21H,AX;将AX的值写入端口地址21H开始的连续两个字节。(port[21H]=AL,port[22h]=AH)

MOV DX,378H

OUT DX,AX;将AH和AL分别写入端口379H和378H

时间: 2024-10-09 23:18:07

In和Out指令的相关文章

一招制敌 - 玩转 AngularJS 指令的 Scope (作用域),讲得特别好

学习了AngularJS挺长时间,最近再次回首看看指令这部分的时候,觉得比自己刚开始学习的时候理解的更加深入了,尤其是指令的作用域这部分. 步入正题: 每当一个指令被创建的时候,都会有这样一个选择,是继承自己的父作用域(一般是外部的Controller提供的作用域或者根作用域($rootScope)),还是创建一个新的自己的作用域,当然AngularJS为我们指令的scope参数提供了三种选择,分别是:false,true,{}:默认情况下是false. scope = false 首先我们来看

关于makefile中变量的多次赋值以及override指令

1 基本原则如下 1.1 原则1 变量的普通赋值是有先后顺序的,后面的赋值会覆盖掉前面的赋值. 1.2 原则2 使用的时候,用的是其前面最后的赋值,就算其后面有使用了override指令的赋值也不会影响这条原则. 1.3 原则3 当使用了override指令定义赋值了变量后,其后对该变量的所有的赋值都是无效的.但是override之前的所有的赋值都是有效的.使用的时候是往前最近原则. 2 override变量.命令行参数和普通变量之间的屏蔽关系 override变量会屏蔽命令行参数,除非用+=:

【Vue】vue.js常用指令

http://www.cnblogs.com/rik28/p/6024425.html Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会为绑定的目标元素添加一些特殊的行为,我们可以将指令看作特殊的HTML特性(attribute). Vue.js提供了一些常用的内置指令,接下来我们将介绍以下几个内置指令: v-if指令 v-show指令 v-else指令 v-for指令 v-bind指令 v-on指令

自学linux指令分析-ls

自学linux指令分析-ls 1·命令格式 ls [option] [directory-list] ls [参数][目录名] 2·命令参数    -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件. -A, –almost-all 列出除了 . 及 .. 以外的任何项目 –author 印出每个文件的作者 -b, –escape 把文件名中不可输出的字符用反斜杠加字符编号的形式列出. –block-size=大小块以指定<大小>的字节为单位 -B, –ignore-backu

Linux中nginx的常见指令

1.启动cd /usr/local/nginxsbin/nginx 2.停止用指令 cd /usr/local/nginx sbin/nginx sbin/nginx -s quit 杀死进程 ps -ef | grep nginx 获取pid kill pid

AngularJS:directive自定义的指令

除了 AngularJS 内置的指令外,我们还可以创建自定义指令. 你可以使用 .directive 函数来添加自定义的指令. 要调用自定义指令,HTML 元素上需要添加自定义指令名. 使用驼峰法来命名一个指令, runoobDirective, 但在使用它时需要以 - 分割, runoob-directive: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script

预处理指令

1.预处理指令 即编译之前执行的指令 C中的预处理指令包括:文件包含,宏定义,条件编译 2.文件包含#include <stdio.h> <>和""的区别 #include <file_1.h> //直接在C库函数头文件所在目录下找 #include "file_1.h" //先在main.c所在目录下找,若无到环境变量path路径中找,若无,到C库函数头文件所在目录中找 #include可能会导致重复包含文件,降低编译效率 解决

JAVAWEB开发之Session的追踪创建和销毁、JSP详解(指令,标签,内置对象,动作即转发和包含)、JavaBean及内省技术以及EL表达式获取内容的使用

Session的追踪技术 已知Session是利用cookie机制的服务器端技术,当客户端第一次访问资源时 如果调用request.getSession() 就会在服务器端创建一个由浏览器独享的session空间,并分配一个唯一且名称为JSESSIONID的cookie发送到浏览器端,如果浏览器没有禁用cookie的话,当浏览器再次访问项目中的Servlet程序时会将JSESSIONID带着,这时JSESSIONID就像唯一的一把钥匙  开启服务器端对应的session空间,进而获取到sessi

第二节:指令的使用(6)——自定义指令

1.指令定义的钩子函数:(这些钩子函数都是可选的) bind: 只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作. inserted: 被绑定元素插入父节点时调用(父节点存在即可调用,不必存在于 document 中). update: 被绑定元素所在的模板更新时调用,而不论绑定值是否变化.通过比较更新前后的绑定值,可以忽略不必要的模板更新. componentUpdated: 被绑定元素所在模板完成一次更新周期时调用,即模版更新完成的调用. unb

CSU 1112: 机器人的指令【模拟题】

1112: 机器人的指令 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1858  Solved: 682 [Submit][Status][Web Board] Description 数轴原点有一个机器人.该机器人将执行一系列指令,你的任务是预测所有指令执行完毕之后它的位置. ·LEFT:往左移动一个单位 ·RIGHT: 往右移动一个单位 ·SAME AS i: 和第i 条执行相同的动作.输入保证i 是一个正整数,且不超过之前执行指令数 In