端口读写

在pc系统中,CPU可定位的端口数量为64k个,地址范围为0~65535。对端口的读写只能采用 in 和 out ,分别表示从端口读取数据和往端口写入数据。
      在 in 和 out 指令中,只能采用 al 和 ax 来存放从端口中读到的数据或发送到端口中的数据。在0~255以内的端口进行读写时,端口号直接给出;在256-65535以内的端口,端口号放在 dx 中。
      例:

     in al,60h       从端口60h中读入一个字节out 60h,al     往端口60h中写入一个字节mov dx,3fdh        用dx中的值表示端口号in al,dx     从端口3fdh中读入一个字节out dx,al     往端口3fdh中写入一个字节

检测点14.1

(1)读取CMOS RAM中2号单元的内容

     mov al,2out 70h,al      将2输入到CMOS的地址端口中,表示接下来在2号单元中读写数据in al,71h     从CMOS数据端口的2号单元中读取数据内容

(2)向CMOS RAM的2号单元中写入0

     mov al,2out 70h,almov al,0out 71h,al

71h 端口用来读写数据;70h端口用来存放要访问的单元地址。

shl和shr指令

shl 和 shr 指令是逻辑移位指令,它们的功能是:
      (1)将一个寄存器或内存单元中的数据向左/右移位
      (2)将最后移除的一位写入CF中
      (3)最低/高位补0
      如:mov al,01001000b      shl al,1 执行后的结果为(al)=10010000b,CF=0;
             mov al,01001000b      shr al,1 执行后的结果为(al)=00100100b,CF=0;
      如果移动位数大于1,必须将移动位数放在cl中。
      如:mov al,01110001b      mov cl,3      shl al,cl 执行后的结果为:(al)=10001000b,CF=1。

检测点14.2

编程:用加法和移位指令计算(ax)=(ax)*10。【(ax)*10=(ax)*2+(ax)*8】
      注意:左移一位相当于乘二,右移一位相当于除二。

     body:shl ax,1mov bx,axshl ax,1shl ax,1add ax,bxbodyend: nop

实验14

编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。

     assume cs:codedata segmentdb '00/00/00 00:00:00'  保存输出格式(共17个字节)db 9,8,7,4,2,0         CMOS中的对应内存地址data endscode segmentmov ax,datamov ds,axmov cx,6mov bx,17  保存标号d的偏移地址到bx中mov si,0          s: mov al,[bx]out 70h,alin al,71h           得到对应内存地址处的内容mov dl,alpush cxmov cl,4shr dl,cl           dl中存储高位BCD码pop cxadd dl,30h         由BCD码转换为ASC码形式(+30h)and al,00001111b al中存储低位BCD码add al,30hmov [si],dlmov [si+1],aladd si,3inc bxloop smov si,0得到ds:si为源地址mov ax,0b800h  mov es,axmov di,160*12+(40-17)*2 设置es:di为目的地址用来显示字符串cldmov cx,17               17为需要传送的字节数rep movsbmov ax,4c00hint 21hcode endsend start

汇编语言随笔(12)-端口读写、shl和shr指令、检测点14和实验14相关推荐

  1. 汇编 端口 shl和shr指令

    1 端口 CPU可以直接读写以下3个地方的数据: CPU内部的寄存器 内存单元 端口 1.1 端口的读写 解决了串/并行 改变的问题 对端口的读写不能用mov,push,pop等:只有in和out 访 ...

  2. 汇编语言--shl和shr指令

    shl和shr是逻辑移位指令 shl是逻辑左移指令,它的功能为: 将一个寄存器或内存单元中的数据向左移位: 将最后移出的一位写入CF中: 最低位用0补充. shr是逻辑右移指令

  3. SHL、SHR指令的区别

    SHL指令 假设 EAX=00000001 SHL EAX,0x2 将EAX中的数向左移两位,相当于 EAX中数的十进制是1,乘以2^2,等于4 所以结果EAX=00000004 SHR指令 假设 E ...

  4. 汇编 shl和shr指令的使用

    shl和shr是逻辑移位指令. shl是逻辑左移指令,它的功能为: (1)将一个寄存器或内存单元中的数据向左移位: (2)将最后移出的一位写入CF中: (3)最低位用0补充. 指令: mov al,0 ...

  5. 汇编语言随笔(5)-and、or指令,串传送指令movsb、访问内存单元的方式及实验4,5(向内存传送数据)

    and.or指令 and指令,逻辑与指令,按位进行与运算:or指令,逻辑或指令,按位进行或运算.       如:mov al,01100011B               and al,00111 ...

  6. windows下对hid设备interrupt端口读写_读《汇编语言》第三版 第十四章 端口

    我们知道,各种存储器都和CPU的地址线,数据线,控制线相连.CPU在操控它们的时候,把他们都当作内存来对待,把它们总地看做一个若干存储器单元组成的逻辑存储器,这个逻辑存储器称为内存地址空间. 在PC系 ...

  7. 汇编指令--移位操作SHL、SHR、SAL、SAR以及它们的区别

    逻辑移位: SHL.SHR 算术移位: CAL.CAR 1 2 无符号数的乘法和除法可以用逻辑移位; 有符号数的乘法和除法可以用算术移位; 汇编语言中 sal(算术左移指令)和shl(逻辑左移指令)指 ...

  8. 基于FPGA的DDR3多端口读写存储管理系统设计

    机载视频图形显示系统主要实现2D图形的绘制,构成各种飞行参数画面,同时叠加实时的外景视频.由于FPGA具有强大逻辑资源.丰富IP核等优点,基于 FPGA的嵌入式系统架构是机载视频图形显示系统理想的架构 ...

  9. 学 Win32 汇编[24] - 移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、SHLD、SHRD

    SHL.SHR.SAL.SAR: 移位指令 ;SHL(Shift Left): 逻辑左移 ;SHR(Shift Right): 逻辑右移 ;SAL(Shift Arithmetic Left): 算术 ...

最新文章

  1. c语言 狸抓兔子,捕捉猫狸的方法- 抓野猫的最好方法
  2. oracle数据库切换教程,oracle 11gR2 物理备用数据库搭建及切换
  3. 知识点 - python 类的私有/保护 属性和方法
  4. boost安装_Centos安装MySQL
  5. Integer注意_享元设计模式
  6. 2018qs计算机科学专业,2018QS世界大学计算机科学专业排名.docx
  7. android p官方铃声,Android 铃声播放
  8. 2. PHP 编译安装
  9. 2. PSR-2 --- 代码风格指南
  10. OpenCV探索之路(十六):图像矫正技术深入探讨
  11. 【转载】通过搜狗站长平台手动向搜狗搜索提交死链
  12. 微生物-肠道-脑轴:新的治疗机会
  13. 工业相机镜头的参数与选型
  14. 四天工作制究竟香不香;复旦发布类ChatGPT模型Moss;苹果上新348元省电保护膜 | EA周报...
  15. 20180402-E · US Tuition Costs · ggplot2, 地图 热力图 gganimate 动图 · R 语言数据可视化 案例 源码
  16. Matlab入门-01命令行操作
  17. 【电子电路】(1)PWM转DAC如何实现
  18. 干货!元宇宙,是技术颠覆?还是产业革命?
  19. 通讯录(文件版)程序编写(C语言版)
  20. matlab Rössler 系统分岔图绘制

热门文章

  1. 判断PR劫持的目标网站的方法
  2. android如何设置图标,Android APP如何设置显示图标
  3. 通讯中断 pc_《幽灵行动:断点》PC配置需求公布 4K画质需RTX2080
  4. 王者微信怎么查其它服务器的信息,王者荣耀微信怎么看别人是哪个区的 | 手游网游页游攻略大全...
  5. SaltStack_rhel6.5
  6. RCTF-2015 TankGame
  7. 2022-2028全球钢材防火涂料行业调研及趋势分析报告
  8. 速写为什么要把人画丑?骨骼肌肉比画的更像加分
  9. c语言程序设计实用教程 清华大学出版社,清华大学出版社-图书详情-《C程序设计教程》...
  10. Win10笔记本玩csgo掉帧严重怎么办?