寄存器访问内存

内存中的数据排列: 字节数据,字形数据===>高位放高位,低位放低位

一个字型数据可以由两个连续的地址的内存单元组成

0 20H
1 4EH
2 12H
3 00H
问题3.1
地址0中存放的字型数据是多少? 4E20H
地址0中存放的字节数据是多少? 20H
地址2中存放的字节型数据是多少? 12H
地址2中存放的字型数据是多少? 0012H
地址1中存放的字型数据是多少 4EH
;高位放高位,低位放低位,内存的排列是0123456789…
例如:2比1高,所以2是高位.

cpu是通过内存地址去访问内存的,cpu跟内存读写练习

ds 段地址寄存器 访问数据用的

mov al,ds:[0] mov移动指令 cpu中的al寄存器,内存地址 偏移地址
mov al,ds:[1] 方括号是得到里面的内容
mov al,ds:[2] cpu从内存中读取了一个字节,al是八位寄存器
mov al,ds:[3] ;寄存器从内存中读取数据

mov bx,1000h
mov ds,bx

mov ax,ds:[0]
mov ax,ds:[1]
mov ax,ds:[2]
mov ax,ds:[3]

mov ds:[0],ax ; 寄存器数据写入内存
mov ds:[1],ax

mov ds:[0],al
mov ds:[1],ah

debug的写法:mov al,[0] 相当于[0]=ds:0

问题3.3
写出下面执行后 [寄存器] ax,bx,cx中的值

mov ax,1000H 物理地址 内容
mov ds,ax 10000H 23H
mov ax,ds:[0] 10001H 11H
mov bx,ds:[2] 10002H 22H
mov cx,ds:[1] 10003H 66H
add bx,ds:[1]
add cx,ds:[2]
;确定数据的长度,在ds:[0]地址中读取数据和写入数据.

写出下面指令执行后 [内存中] 的值
mov ax,1000h ;把1000H放到ax寄存器中
mov ds,ax ;把ax寄存器中的1000给ds段地址寄存器,确定ds段寄存器位置,确定内存段地址

mov ax,2c34
mov ds:[0],ax ;把ax的值放到内存ds:0中*
sub bx,ds:[2] ;把内存为ds:2的数据减去寄存器bx,然后拿到寄存器bx中
mov ds:[2],bx ;把寄存器bx的数据拿到地址ds:2的内存中

;这个要注意,一定要注意高位字型数据放高位,低位要放内存低位,也要注意字型数据或者字节数据,比如AX是字型数据,al是字节型数据.

数据安排:1000:0 01 02 03 04 00 00 00 00 00 00 00 00 00 00 00 00(字节型数据) AL
1000:0 00 01 02 00 03 00 04 00 00 00 00 00 00 00 00(字型数据) ax 需要两个连续的内存单元存放

ds 段地址寄存器 数据段地址寄存器
cs 指令段地址寄存器

====================================================================================================

汇编语言基础笔记03相关推荐

  1. 黑马程序员_java基础笔记(03)...面向对象

    1:面向对象的概念,2 : 类和对象的关系,3 : 封装,4 : 构造函数,5 : this关键字,6 : static关键字, 7 : 单例设计模式,8 : 继承,9 : 抽象类,10 : 接口,1 ...

  2. MIPS汇编语言学习笔记23:if 语句分支指令

    C语言 #include<stdio.h> int main() {int i = 3;if (i < 5){printf("yes!\n");}else{pri ...

  3. MIPS汇编语言学习笔记11:整数减法 (mult方法)

    任务:整数相乘,并输出打印. 代码: .dataintA: .word 5intB: .word 2 .textli $v0, 1lw $a1, intAlw $a2, intBmult $a1, $ ...

  4. Maven-学习笔记03【基础-Maven标准目录结构和常用命令】

    Java后端 学习路线 笔记汇总表[黑马程序员] 黑马程序员(腾讯微云)Maven基础讲义.pdf Maven-学习笔记01[基础-Maven基本概念] Maven-学习笔记02[基础-Maven的安 ...

  5. Ajax和JSON-学习笔记03【JSON_基础语法】

    Java后端 学习路线 笔记汇总表[黑马程序员] Ajax和JSON-学习笔记01[原生JS方式实现Ajax] Ajax和JSON-学习笔记02[JQuery方式实现Ajax] Ajax和JSON-学 ...

  6. JQuery-学习笔记03【基础——DOM操作】

    Java后端 学习路线 笔记汇总表[黑马程序员] JQuery-学习笔记01[基础--JQuery基础]--[day01] JQuery-学习笔记02[基础--JQuery选择器] JQuery-学习 ...

  7. JavaScript学习笔记03【基础——对象(RegExp、Global)】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  8. Python 基础学习笔记 03

    Python基础系列 Python 基础学习笔记 01 Python 基础学习笔记 02 Python 基础学习笔记 03 Python 基础学习笔记 04 Python 基础学习笔记 05 文章目录 ...

  9. 16位汇编语言学习笔记(1)——基础知识

    文章目录 1.配置汇编学习环境 1.1 工具下载 1.2 配置环境 2. 汇编命令基础 2.1 简单使用 2.2 常用命令 3. 汇编语言基础 3.1 汇编语言程序与汇编程序 3.2 汇编语言程序的格 ...

最新文章

  1. python写出的程序如何给别人使用-涨姿势!这些小技巧让小白也可以写出更优雅的Python代码!...
  2. Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台
  3. vs2012 发布网站时出现 sgen.exe 已退出 代码为 1
  4. 神经网络基础_反向传播_证明
  5. 给ubuntu换内核
  6. 华为又有大动作!继鸿蒙之后,即将发布全新操作系统OpenEuler欧拉
  7. Spring中事务使用
  8. mysql log error_MySQL日志之error_log
  9. html5 audio js控制进度,HTML5 audio标签使用js进行播放控制实例
  10. Wireshark网络封包分析软件——过滤表达式
  11. kubernetes资源对象--pod和job
  12. linux备份没有vmlinuz,解决file /isolinux/vmlinuz0 not found
  13. 基于DSP的主动降噪开发之三(CCS软件学习)
  14. 【理财】指数基金投资指南
  15. Docsify+github/gitee搭建个人博客
  16. 强化学习算法三个基线策略
  17. Android - xml动画,识别手势动作,代码抽取,获取手机SIM卡串号,获取联系人数据,开机广播,发送/解析短信,报警音乐
  18. 米思齐呼吸灯与可调节灯实验
  19. MySQL数据库改名
  20. 程序员职业生涯11个阶段

热门文章

  1. opengl立体贴图与天空盒
  2. 怎么看待传菜机器人_噱头大于实用性 传菜机器人还需配助手
  3. 关于Qrcode的学习
  4. 新零售决战,2019年或将迎来变数
  5. 用计算机控制ph,计算机控制实用技术
  6. WEB攻防-PHP特性-学以致用
  7. ssh: Could not resolve hostname e.coding.net: Name or service not known
  8. 前端与后端的交互--(PHP)
  9. 统计学原理 品质数据的整理与展示
  10. unity设置玩家上下左右移动、摄像机跟随、UI界面