• 【汇编语言王爽】进阶-笔记 p22--p40


    编译 obj ;中间结果。lst-列表文件 crf -交叉引用文件

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    link
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    程序的运行和跟踪-debug装载程序

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    p命令

    g命令 一直运行 到断电或者结束

    在这里插入图片描述

    【】-汇编自己的规定 语法 - 来代表内存中的单元

    在这里插入图片描述

    ()为方便学习约定的表示内存单元 寄存器的内容

    在这里插入图片描述

    约定 idata表示常量

    在这里插入图片描述

    inc bx 加一的指令

    loop s指令 cs默认循环次数

    在这里插入图片描述
    在这里插入图片描述

    机器内部指令 其实就是标记一个s地址 然后loop到那个s地址-------相当于goto

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    段前缀的使用 从 内存取数据段取数 ds:【0】

    在这里插入图片描述
    对策
    在这里插入图片描述

    访问连续内存 这样 连续取值ds:【bx】

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    数据拷贝-改进es-附加段寄存器—用作另一个段前缀 更加方便 段之间的操作

    在这里插入图片描述
    在这里插入图片描述

    安全存放数据

    在这里插入图片描述

    dw 定义字型数据 db dd

    在这里插入图片描述
    在这里插入图片描述

    问题

    在这里插入图片描述

    改进 start ;sc:ip会直接指到真正代码开始的地方而不是数据

    在这里插入图片描述
    在这里插入图片描述

    代码段中 使用栈

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    数据 代码 栈 放入不同位置

    在这里插入图片描述
    在这里插入图片描述

    初始化assume cs:code,ds:data,ss:stack

    在这里插入图片描述

    cs不用重新初始化

    在这里插入图片描述
    在这里插入图片描述

    内存寻址方式 - 导学

    在这里插入图片描述

    在这里插入图片描述

    计算机处理字符问题的方法

    对于字符串‘abc’------ascii—大小写字母 差20H

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    大小写转换 用逻辑and dest src

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    寻址方式【bx+idata】-----(bx)+idata 立即数

    在这里插入图片描述
    在这里插入图片描述

    【bx+idata】进行数组处理-----【bx+0】数组1;【bx+5】数组2;然后inc bx

    对比c语言数组:a【i】 b【i】

    汇编:0【bx】 5【bx】

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    cpu内部寄存器 -14个总共 – 通用ax bx cx dx 变址寄存器 si di

    在这里插入图片描述

    SI source index 源变址寄存器 DI destination index 目标变址寄存器 BX 通用寄存器-常作为基址寄存器


    应用
    在这里插入图片描述
    在这里插入图片描述

    像随着 完成复制
    在这里插入图片描述

    【bx+si】和【bx+di】方式 指定地址

    在这里插入图片描述
    在这里插入图片描述

    【基质+变址+立即数】方式寻址

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    内存寻址方式小结

    在这里插入图片描述

    二重循环问题—用栈保存数据

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    二重循环—用栈保存数据---------更加常用 将外层循环cx压栈

    内存的寻址方式 总结

    在这里插入图片描述

    直接寻址

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    寄存器间接

    在这里插入图片描述

    寄存器相对寻址

    在这里插入图片描述

    基址变址寻址

    在这里插入图片描述

    相对基址变址

    在这里插入图片描述

    那些寄存器用于寻址-bx si di bp

    在这里插入图片描述

    注意: 错误指令mov ax,【cx】
    原因:只有bx bp si di 可以用在对【】对内存单元寻址 ------------电路设计问题!

    内存寻址的寄存器用法!!!

    在这里插入图片描述
    在这里插入图片描述

    在哪里 有多长?-------两个基本问题

    在这里插入图片描述

    汇编中数据位置的表达

    在这里插入图片描述

    指令要处理的数据有多长mov word ptr ds:[0],1

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    【Linux系统管理】10 Shell 编程进阶篇
    前端实现csv文件的解析预览、上传、下载
    mapboxgl加载tiff
    思科设备端口聚合配置命令
    是谁还没听过杨氏矩阵~原理和实现代码都已经准备好了
    开年第一弹:产品经理找工作的心酸故事
    RT-DETR手把手教程,注意力机制如何添加在网络的不同位置进行创新优化,EMA注意力为案列
    分析SSH登录日志
    使用Systemctl启动nginx失败,端口权限不足问题解决方案
    面试突击84:Spring 有几种事务隔离级别?
  • 原文地址:https://blog.csdn.net/weixin_43796670/article/details/126451297