汇编语言中 OUT DX,AL 指令操作过程是什么? OUT操作码实现的功能是什么?
in和Out都是IO操作指令
,
例如out指令:
OUT
PortNo/DX,
AL/AX
功能为把AL/AX的数据送到IO地址,IO地址如果大于FFH,则地址需要放入DX,要输出字节,默认使用AL寄存器,要输出字,默认使用AX寄存器。
例如:
MOV
AL,10H
//(将字节10H
从
I/O端口70H
输出)
OUT
70H,AL
MOV
AX,0010H
//(将
字0010H
从I/O端口37FH
输出。)
MOV
DX,37FH
OUT
DX,AX
OUT 是输出指令,DX是端口地址,OUT DX,AL 就是将AL的内容输出到DX所指示的端口
in和Out都是IO操作指令 , 例如out指令:OUT PortNo/DX, AL/AX
功能为把AL/AX的数据送到IO地址,IO地址如果大于FFH,则地址需要放入DX,要输出字节,默认使用AL寄存器,要输出字,默认使用AX寄存器。
例如:
MOV AL,10H //(将字节10H 从 I/O端口70H 输出)
OUT 70H,AL
MOV AX,0010H //(将 字0010H 从I/O端口37FH 输出。)
MOV DX,37FH
OUT DX,AX
扩展资料
编译环境
用汇编语言等非机器语言书写好的符号程序称为源程序,汇编语言编译器的作用是将源程序翻译成目标程序。目标程序是机器语言程序,当它被安置在内存的预定位置上后,就能被计算机的CPU处理和执行。
汇编的调试环境总的来说比较少,也很少有非常好的编译器。编译器的选择依赖于目标处理器的类型和具体的系统平台。一般来说,功能良好的编译器用起来应当非常方便,比如,应当可以自动整理格式、语法高亮显示,集编译、链接和调试为一体,方便实用。
对于广泛使用的个人计算机来说,可以自由选择的汇编语言编译器有MASM、NASM、TASM、GAS、FASM、RADASM等,但大都不具备调试功能。如果是为了学习汇编语言,轻松汇编因为拥有一个完善的集成环境,是一款非常适合初学者的汇编编译器。
参考资料来源:百度百科-汇编语言
in和Out都是IO操作指令 , 例如out指令:
OUT PortNo/DX, AL/AX
功能为把AL/AX的数据送到IO地址,IO地址如果大于FFH,则地址需要放入DX,要输出字节,默认使用AL寄存器,要输出字,默认使用AX寄存器。
例如:
MOV AL,10H //(将字节10H 从 I/O端口70H 输出)
OUT 70H,AL
MOV AX,0010H //(将 字0010H 从I/O端口37FH 输出。)
MOV DX,37FH
OUT DX,AX
OUT,输出指令,用于主机与外设端口间的数据传送。把一个字节或一个字由AL或AX传送到一个输出端口,若端口地址超过255,则必须用DX保存端口地址。
OUT DX,AL ;把AL中的内容由AL传送到输出端口(DX).
OUT DX,AX ;把AX中的内容由AX传送到输出端口(DL+1)(DX)
操作过程:DX数据送地址总线,AL数据送数据总线,按照I/O访问的方式进行总线控制(如让/IOW=0、DT/R=1,/DEN=0等),执行一次I/O空间写操作,本质上就是是这样。
将数据al写入端口dx
左树风寒: OUT 是输出指令,DX是端口地址,OUT DX,AL 就是将AL的内容输出到DX所指示的端口
阿图什市18818001183: 汇编语言中 OUT DX,AL 指令操作过程是什么? OUT操作码实现的功能是什么? - ?
左树风寒: in和Out都是IO操作指令 , 例如out指令:OUT PortNo/DX, AL/AX 功能为把AL/AX的数据送到IO地址,IO地址如果大于FFH,则地址需要放入DX,要输出字节,默认使用AL寄存器,要输出字,默认使用AX寄存器. 例如:MOV AL,10H //(将字...
阿图什市18818001183: 谁知道OUT:DX,AL是什么意思? - ?
左树风寒: 把端口地址放在DX寄存器中,可对该端口进行读/写.IN AL,DX ;从DX端口读入8位,放在AL寄存器中 IN AX,DX ;从DX端口读入8位,放在AL寄存器中 从DX+1端口读入8位,放在AH寄存器中 OUT DX,AL ;把AL的8位值送DX端口 OUT DX,...
阿图什市18818001183: 汇编指令(out)语法以下无语法错误的是?1.out ax,30h2.out bx,al3.out al,dx4.out 30h,ah - ?
左树风寒:[答案] 四个都错误 语法是out port,acc 1、要是交换下操作数,倒是正确的.或者改为in指令. 2、bx错误,port端口号超过255时,应该放到dx中. 3、还是交换下操作数就对了,或者改为in指令. 4、ah错误,如果输出的数据是8位,则应该使用al寄存器. 总结: ...
阿图什市18818001183: 汇编OUT的用法 - ?
左树风寒: OUT端口输出指令,它的格式是 OUT DST,SRC 表示CPU给端口输出数据.DST用于指定端口地址,有两种寻址方式,1,、端口地址为8位地址值表示时,DST可以直接用地址值(port)表示,寻址方式位直接寻址.2,、当端口地址不能用8位地址表示时,DST取DX,即将端口地址放在DX中,通过DX找到端口地址,寻址方式位寄存器间接寻址,当然可以用8位的地址表示端口访问也可以采用寄存器间接寻址方式.SRC智能取AL或者AX寄存器.在此提醒楼主,从这可以看出来并不是寄存器间接寻址方式只能用[SI],[DI],[BP],[BX]的形式.
阿图什市18818001183: 汇编语言 in out - ?
左树风寒: 是将AL中的内容转到DX的内容对应的地址当中.如MOV DX,22H OUT DX,A 就是AL中的内容送到地址为22H的M中.
阿图什市18818001183: 大学生进来回答我 - ?
左树风寒: 靠,一分都没有...好心的我还是给你回答了.这个是汇编语言.答案是A.MOV DX,1234H,讲1234H放入DX中暂时保存;OUT DX,AL ,把DX中的数据输出.AX是输出语句默认的!必须用.
阿图什市18818001183: 汇编单选,大大帮帮忙啊. - ?
左树风寒: 1.指令DIV BX,表示(被除数(DX)(AX),除数(BX),运算后商送AX,余数送DX).2.设(SS)=0913H,堆栈的深度为40H个字节,则栈底字单元的物理地址是(0916EH).3.设堆栈指针(SP)=0110H,执行下面三条指令后,SP...
阿图什市18818001183: 关于OUT汇编指令的问题 - ?
左树风寒: OUT 03F8H,AL(这个指令有错误为什么?) 这是因为在OUT指令中直接用数字寻址,端口号只能是0到FFH,而上面这条 指令应改为 mov dx,03f8h ;只能放在DX,这是规定 out dx,al ----------------------------------------- OUT 0FAH,AL(它是指从AL中...
阿图什市18818001183: 几个简单汇编问题,判断对错?
左树风寒: 1.指令REPNE CMPSB能将源串传送到目的串 不是字符串传送,是字符串比较指令 2. OUT AL , [DX] al是8位寄存器,未指定传送字符的长度 [dx],应改为OUT AL , byte ptr [DX] 3.JPO与JPE jpe(奇偶位为偶跳转) jpo(奇偶位为奇跳转) 肯定不一样