码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 汇编常用寄存器以及寻址方式


    寄存器概览

    在这里插入图片描述

    常用寄存器

    AX accumulator 累加寄存器
    BX base 基址寄存器
    CX count 计数寄存器
    DX data 数据寄存器
    SP stack pointer 堆栈寄存器
    BP base pointer 基址指针寄存器
    SI source index 源变址寄存器
    DI destination index 目的变址寄存器
    IP instruction pointer 指令指针寄存器
    CS code segment 代码段寄存器
    DS data segment 数据段寄存器
    SS stack segment 堆栈寄存器
    ES extra segment 附加段寄存器

    Flag 标志寄存器
    Flag寄存器中存储的信息通常被称为程序的状态字 Program Status Word
    在这里插入图片描述
    OF overflow flag 溢出标志 一些操作会代之
    SF sign flag 符号标志 记录运算结果 结果为负为1
    ZF zero flag 零标志 运算结束等于0为时为1 否则为0
    CF carry flag 进位标志 最高有效位产生进位时为1,否则为0
    AF auxiliary carry flag 辅助进位标志 运算时 第3位向第4位产生进位时为1,否则为0
    PF parity flag 奇偶标志 运算结果操作数位为1的个数为偶数个时为1 否则为0
    DF direction flag 方向标志 用于串处理 DF=1时,每次操作后使SI和DI减小.DF=0时则增大
    IF interrupt flag 中断标志 IF=1时,允许CPU响应可屏蔽中断,否则关闭中断
    TF trap flag 陷阱标志 用于调试单步操作

    EA – Effective Address 有效地址 偏移地址
    SA – Segment address

    寻址方式

    一图解决问题
    其中,内存寻址只需要提供偏移地址,默认的段地址放在ds寄存器
    基址寻址时偏移地址放在bx中
    变址寻址时偏移地址放在si和di中

    如果想显式地使用es作为段地址,则需要使用段超越前缀

    mov ax,[es:si]
    
    • 1

    请添加图片描述
    如果是对堆栈寻址,则有不同的寄存器用于存放段地址和偏移地址:
    段地址使用SS存放
    偏移地址使用SP存放,其中BP,也可以用于访问栈顶以下的数据(有些情况下是必要的)

  • 相关阅读:
    达梦DEM监控配置
    1064 Complete Binary Search Tree
    共同应对共享挑战:2023 Open Source Congress 报告(中文版)
    【UE 粒子练习】08——LOD概述
    Linux:Ubuntu20,22,Debian10,Fedora36,CentOS9 将硬件时钟设为本地 笔记221111
    【C++】List模拟实现
    四旋翼无人机学习第3节--cadence原理图库创建以及基础元器件绘制
    后端的datetime类型数据转为string作为(vue)前端的时间YYYY-MM-DD HH:mm:ss
    中序和后序遍历构建二叉树[递归划分区间与回溯拼接子树+中后序和中前序的相似与不同]
    【勇敢饭饭,不怕刷题之链表】链表的位置改变与判断
  • 原文地址:https://blog.csdn.net/weixin_43604927/article/details/126575115
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号