IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 数据处理的两个基本问题 -> 正文阅读

[嵌入式]数据处理的两个基本问题

?

目录

一、bx、si、di、和bp

二、机器指令处理的数据在什么地方

三、寻址方式?

?编辑四、汇编语言中数据位置的表达??


计算机是进行数据处理、运算的机器。其中包括两个基本问题:
(1)处理的数据在什么地方?
(2)要处理的数据有多长?

reg表示一个寄存器、serg表示一段寄存器。

rag的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bpsidi;

serg的集合包括:ds、ss、se、cs。

一、bx、si、di、和bp

1.在8086CPU中,只有在四个寄存器可以用在“[...]”中进行内存单元的寻址。

如下几种是正确:

mov ax ,[bx];

mov ax,[bx+si];

mov ax,[bx+di];

mov ax,[bp];

mov ax,[bp+si];

mov ax,[bp+di];

如下几种是错误的:?

mov ax,[cx];

mov ax,[dx];

mov ax,[ax];

mov ax,[ds];?

2.在[...]中,这四个寄存器可以单个出现,或只能以四种组合出现:bx和si,bx和di,bp和si,bp和di。

3.只要在[...]中使用寄存器bp,而指令中没有显性地给出段地址,段地址就默认在ss中,例如下指令:
mov ax,[bp];? ? ? ?含义:(ax)=((ss)*16+(bp));

mov ax,[bp+idata];? ? ?含义:(ax)=((ss)*16+(bp)+idata);

二、机器指令处理的数据在什么地方

????????绝大多数机器指令都是进行数据处理的指令,处理大致分为三种:读入、写入、运算。

指令在执行前,所要处理的数据可以在三个地方:CPU内部、内存、端口。

机器码汇编指令指令执行前数据的位置
8E1E0000mov bx,[0]内存,ds:0单元
89C3mov bx,ax

CPU内部,ax寄存器

BB0100mov bx,1CPU内部,指令缓冲器

三、寻址方式?

????????当数据存放在内存中的时候,我们可以用多种方式来给定这个内存单元的偏移地址,这个定位内存单元的方式一般称为寻址方式。

? ? ? ? 8086CPU有多种寻址方式,如图所示:



四、汇编语言中数据位置的表达??

汇编语言中的三种表达数据位置的方式:
1、立即数(idata)

????????对于直接包含在机器指令中的数据(执行前在CPU的指令缓冲器中),在汇编语言中称为:立即数(idata),在汇编语言中直接给出。

例如:mov ax,1

? ? ? ? ? ?add bx,20000h

? ? ? ? ? ?or bx,00010000b

? ? ? ? ? ?mov al,'a'

2.寄存器

? ? ? ? 指令要处理的数据在存储器中,在汇编语言中给出相应的存储器名称。

例如:mov ax,bx

? ? ? ? ? ?mov ds,ax

? ? ? ? ? ?push,bx

? ? ? ? ? ?mov ds:[0],bx

? ? ? ? ? ?push ds

? ? ? ? ? ?mov ss,ax

? ? ? ? ? ? mov sp,ax

3.段地址(SA)和偏移地址(EA)

指令要处理的数据在内存中,在汇编指令中可用[X]的格式给出EA,SA在某个段寄存器中。

存放段地址的寄存器可以是默认的,比如:

mov ax,[0]

mov ax,[di]

mov ax,[bx+8]

mov ax,[bx+si]

mov ax,[bx+si+8]

等指令,段地址默认在ds中;

mov ax,[bp]

mov ax,[bp+8]

mov ax,[bp+si]

mov ax,[bp+si+8]

等指令,段地址默认在ss中。

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 20:58:04  更:2022-10-08 21:01:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 20:32:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码