汇编学习--7.12--总结
1 在8086中,只有4个寄存器 bx,si,di,bp能用在内存单元的寻址‘[......]’,可以单个出现,也可以组合出现,但不能出现[si + di],[bx + bp],只要出现bp,则段寄存器默认为ss
2 机器指令处理数据:指令执行前一刻,要处理的数据可以在CPU内部、内存、端口中。例如:
mov bx,[0] 执行指令前数据在内存单元中,ds:0单元中。对应机器指令是4字节,8E 1E 00 00
mov bx,ax 执行指令前数据在CPU内部ax寄存器中。对应机器指令是2字节,89 C3
mov bx,1 执行指令前数据在CPU内部指令缓冲期中。对应的机器指令是3字节,BB 01 00
- 寻址方式——[ idata ] ,直接寻址。
寻址方式——[ bx ],[ bp ],[ si ],[ di ],寄存器间接寻址。 - 寻址方式——[ bx + idata ],[ bp + idata ],[ si + idata ],[ di + idata ],寄存器相对寻址。
应用格式:结构体 [bx].idata ; 数组 idata[si] ; 二维数组 [bx][idata] - 寻址方式——[ bx + si ],[ bx + di ],[ bp + si ],[ bp + di ],基址变址寻址。
应用格式:二维数组 [bx][si] - 寻址方式——[ bx + si + idata ],[ bx + di + idata ],[ bp + si + idata ],[ bp + di + idata ],相对基址变址寻址。
应用格式:表格中的数组 [bx].idata[si] ; 二维数组 idata[bx][si] - 在操作数没有寄存器名,只有内存单元[ ]或者只有内存单元与立即数时,就用操作符X ptr指明内存单元的长度,其中X为word或者byte。例如:单操作数指令inc word ptr [bx] ;双操作数指令mov byte ptr ds:[0],1
- div除法指令:除数为8位,则被除数为16位;除数为16位,则被除数为32位。原理为:
32 byte(DX+AX) ÷ 16 byte = AX……DX
16 byte(AX) ÷ 8 byte = AL……AH
单操作数指令:div [内存单元] ; div reg。
dd双字伪指令:8字节。 - dup操作符:同dd、dw、db指令配合使用,进行数据的重复。
格式为:db 重复次数 dup (重复的字节型数据)
汇编学习--7.12--总结相关推荐
- 8086汇编学习小记-王爽汇编语言实验12
8086汇编学习小记-王爽汇编语言实验12 0号中断处理程序,开始安装在0000:0200处的程序最后用死循环导致显示不出'divided error',改成直接退出就正常显示了.注意修改ss,sp之 ...
- 寄存器---汇编学习笔记
第二章 寄存器 2.0 寄存器的绪论 一个典型的CPU由运算器.控制器.寄存器(CPU工作原理)等器件构成.内部总线实现 CPU 内部各个器件之间的联系,外部总线实现CPU和主板其他器件的联系. 在C ...
- 15 计算机底层——二进制到汇编学习
计算机底层--二进制到汇编学习 1.概述 语言 机制 进制如何计算 二进制 数据宽度 有符号和无符号数 原码和反码 位运算 位运算计算 汇编 寄存器 内存 汇编指令 内存复制 堆栈的指令 汇编如何写函 ...
- android 编译汇编,【隋义】1.安卓图文教程之安卓环境下汇编学习
本帖最后由 隋义 于 2014-10-6 23:14 编辑 有些朋友说看的有些晕,现视频教程版已发布!! 此教程献给新学习汇编的小菜鸟们(当然这其中也包括我啦! ),大牛勿吐槽也许你们也用得上!第一次 ...
- Win32汇编学习——windows汇编语法(小甲鱼教程)
Win32汇编学习--windows汇编语法(小甲鱼教程) 1)指令集 .386 语句是汇编语句的伪指令,类似指令有:.8086 . .186 ..286 ..386/.386p . .486/ ...
- 汇编学习(1)——基础知识
汇编学习(1)--基础知识 ---谨以此系列文章记录我的汇编学习. 关于汇编 说起汇编语言,那自然不得不想到机器语言,在汇编语言尚未诞生之际,程序猿们只能非常苦逼的敲着0和1,还要记住一大堆复杂难记 ...
- 深度学习(12)TensorFlow高阶操作一: 合并与分割
深度学习(12)TensorFlow高阶操作一: 合并与分割 1. concat 2. stack: create new dim 3. Dim mismatch 4. unstuck 5. spli ...
- Linux学习笔记12——配置ftp、squid、Tomcat、Samba、MySQL主从
Linux学习笔记12 Linux学习笔记12 配置FTP服务 配置pure-ftpd 开机启动 上传下载文件 配置vsftpd CentOS 70安装配置Vsftp服务器 搭好vsftp之后出现55 ...
- OpenCV3学习(12.5) opencv实现粒子滤波目标跟踪
OpenCV高版本已经把粒子滤波的CV方面的condensation算法给去掉了,以前学的condensation算法不能用C++开发还是只能用C版本,(OpenCV3学习(12.4) 粒子滤波Con ...
- golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题
golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...
最新文章
- Atitit.安全性方案规划设计4gm v1 q928
- 零基础自学python的app-零基础学Python需要用哪些软件?
- SQL SERVER 2005 中的CTE
- 【题解】SDOI2008莎拉公主的困惑
- 【算法分析与设计】汉诺塔问题
- mysql 日期循环_如何在mysql存储过程中循环日期时间
- python基础教程是什么-Python基础教程(一)
- 汽油与消费需求问题的MonteCarlo求解方法
- 富爸爸穷爸爸-读书笔记
- Oracle SQL 批量修改资料库邮箱后缀名称
- Kubernetes:如何解决从k8s.gcr.io拉取镜像失败问题
- keras运行时指定显卡及限制GPU用量
- C语言goto语句 做一个自动关机小程序 —— 给小伙伴来个“恶作剧”吧
- 实时操作系统和分时操作系统
- IDEA上连接MYSQL数据库
- CF中dns服务器简单配置
- 赛门铁克:中国挤掉美国成僵尸电脑超级大国
- BERT知识蒸馏Distilled BiLSTM
- (4)绪论三:归纳偏好
- 2020年9月网络安全考试试题
热门文章
- 计算机网络的三种通讯模式(单播,广播,组播)小结
- Android addr2line和 c++filt使用
- 《在近端对回传音频的检测和抑制》笔记
- start_kernel之前的调用流程(head.s)
- Android系统信息获取 之六:网络连接状态信息获取
- Sensor框架理解
- cloudflare免费设置_Cloudflare 入门教程:使用 Cloudflare 免费 CDN 加速 amp; 保护自己的网站...
- mysql 字段加减_Mysql数据清洗—Null值的处理技巧
- Java中list操作
- 【leetcode】只出现一次的数字(位运算)