• 3.4 bp,si,di寄存器,寻址方式,寄存器总结


    汇编语言

    1. [bx+idata]

    • 我们可以用[bx]来指明一个内存单元
    • 我们也可以用[bx+idata]来表示一个内存单元,它的偏移地址为bx中的数值加上idata

    image.png

    image.png

    image.png

    mount c d:masm
    c:
    debug
    r
    d 2000:1000
    e 2000:1000
    12 34 56 78
    a
    mov ax,2000
    mov ds,ax
    mov bx,1000
    mov ax,[bx]
    mov cx,[bx+1]
    add cx,[bx+2]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2. si和di

    • si和di是8086CPU中和bx功能相近的寄存器
    • si和di不能够分成两个8位寄存器来使用
    • 下面3组指令实现了相同的功能
    mov bx,0
    mov ax,[bx]
    
    mov si,0
    mov ax,[si]
    
    mov di,0
    mov ax,[di]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 下面的3组指令也实现了相同的功能
    mov bx,0
    mov ax,[bx+123]
    
    mov si,0
    mov ax,[si+123]
    
    mov di,0
    mov ax,[di+123]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3. [bx+si]和[bx+di]

    • [bx+si]和[bx+di]的含义相似
    • [bx+si]和[bx+di]表示一个内存单元,它的偏移地址为(bx)+(si),即bx中的数值加上si中的数值

    4. 不同的寻址方式的灵活应用

    1. [idata]用一个常量来表示地址,可用于直接定位一个内存单元
    2. [bx]用一个变量来表示内存地址,可用于简介定位一个内存单元
    3. [bx+idata]用一个变量和常量表示地址,可以一个起始地址的基础上用变量间接定位一个内存单元
    4. [bx+si]用两个变量表示地址
    5. [bx+si+idata]用两个变量和一个常量表示地址

    5. bx、si、di和bp

    • 在[…]中,这4个寄存器可以单个出现,可以组合出现
    • 注意:bx和bp,si和di不能同时出现
    • 但是idata可以加,这个没关系
    • 只要在[…]中使用寄存器bp,而指令中没有显性地给出段地址,段地址就默认在ss中

    例如:

    r ss
    1000
    d 1000:0000
    12 34 56
    a
    mov ax,[bp+1]
    t
    //输出结果,ax = 5634
    //没有显性给出段地址,使用默认地址即ss的值“1000”,再bp加上1,则地址为1000:0001
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    image.png

    image.png

    6. 寻址方式总结

    image.png

    image.png

  • 相关阅读:
    SpringBoot-SpringBoot中文文档
    栈题目:标签验证器
    如何在忘记手机密码或图案时重置 Android 手机?
    Python数据的输出
    受邀参加中日韩创新人才主题交流研讨会
    CTF中的RSA及攻击方法笔记总结
    再学二分查找
    生物信息学——常见的四种文件格式(fasta,fastq,sam,vcf)
    vue状态管理工具
    一号店按关键字搜索yhd商品 API 返回值说明
  • 原文地址:https://blog.csdn.net/2203_75300307/article/details/136791556