zoukankan      html  css  js  c++  java
  • 汇编语言-[BX]和loop指令

    汇编语言-[BX]和loop指令

    [BX]指令介绍

    mov ax,[bx]

    功能:

    bx为偏移地址,段地址默认为ds。因此,上面指令作用就是将ax中的数据送入内存ds:bx处,即:((ds)*16 + (bx)) = (ax)


    也可以通过下面指令实现上面指令功能:

    mov ax,ds:[bx]
    
    //mov ax,es:[bx]

    通过这种ds:[bx],通过这种方式来获得ds:bx中的内容。同理也可以获得es:[bx]中的内容。

    注:这里的[bx],不可以改为[ax],或者其他的代替。


    loop指令介绍

    mov cx,12H
    s:
       mov dx,es:[bx]
       mov ds:[bx],dx
       inc bx
    loop s
    mov ax,4c00H

    功能:

    通过loop,来完成循环操作。

    下面对参数进行一一讲解:

    • s:标记符,标记符就是其所在的指令的地址。例如上面程序:s就表示mov dx,es:[bx]指令的地址。

    • cx:相当于for循环中的x,每次运行到loop指令时,cx的数值就会 -1 。当cx为零的时候,退出loop循环。

    • loop: 当cpu执行loop的时候,要进行两步操作:

      1. cx = cx - 1
      2. 判断cx中的数值是否为0。不为0则转至标号s所标识的地址处执行(这里的指令是mov dx,es:[bx]),如果为0则执行下一条指令(下一条指令是mov ax,4c00H)


    loop 和 [bx]混合运用

    assume cs:code
    
    code segment
    
        mov ax,20H
        mov ds,ax
        mov bx,0
    
        mov cx,40H
    s:
        mov [bx],bx
        inc bx
    loop s
    
        mov ax,4c00H
        int 21H
    
    code ends
    
    end

    上面代码,实现了向内存0:200~0:23F,依次传送数据0~63(3FH)的功能。

  • 相关阅读:
    前端3 浮动布局,固定定位,绝对定位,相对定位
    前端2 字体|文本属性样式, 高级选择器
    前端1.概念
    前端,基础选择器,嵌套关系.display属性,盒模型
    数据库之索引
    数据库之进阶(视图,事务,存储过程)
    数据库,多表数据
    数据库之表的使用
    数据的演化(数据仓库的发展史)
    HDFS退出安全模式
  • 原文地址:https://www.cnblogs.com/AbeDay/p/5026857.html
Copyright © 2011-2022 走看看