zoukankan      html  css  js  c++  java
  • 汇编小记16/3/27

    最后更新2016-03-27 21:05:06


     [address]与[bx]

    [address]

    在debug中mov ax,[0] 等价于mov ax,ds:[0]     [0]表示内存偏移地址

    但是在masm汇编解释器中,mov ax,[0] 等价于mov ax,0    [0]表示常量0

     [bx]

    mov ax,[bx] 表示 bx存放的数据为一个偏移地址,段地址SA默认在ds中,将SA:EA处的数据送到ax中

    (ax) = ((ds)*16+(bx))

    mov [bx],ax 表示将ax处的数据送到SA:EA处

    ((ds)*16+(bx)) = (ax)

    所以debug 中的 mov ax,[0]

    可以在源程序中这样写

    mov bx,0

    mov ax,[0]


     16进制数不能以字母开头

    比如 mov ax,0ffffh 而不是mov ax,ffffh

    所以很容易推出大于Axxxh前面都应该加0


     loop与cx搭配使用

    比如

    s:mov ax,[bx]

      mov es:[bx],ax

     loop s

    本质上loop s在masm解释器解释后表示s标识处的ip

    本例中s等于mov ax,[bx]这一句的(ip)

    隐含(cx) = (cx)-1 当(cx)等于0时,循环退出,继续执行下下面的汇编语句


    mov ax,4c00h

    int 21h

    程序结束后的标准模板,一共5个byte

    程序刚执行时,(cx)表示源程序总指令的值(byte)

    则程序结束指令之前总有(cx)-5条指令


    在一个谎言的国度,沉默就是英雄
  • 相关阅读:
    麦茶商务的网站
    jQuery Ajax 实例 ($.ajax、$.post、$.get)
    关于meta知多少
    WebApp之Meta标签
    html5开发之viewport使用
    bootstrap
    8.8&8.9 dp训练小结
    2019.8.10小结
    2019.8.17 小结
    [NOI2001]炮兵阵地 题解
  • 原文地址:https://www.cnblogs.com/EdsonLin/p/5326905.html
Copyright © 2011-2022 走看看