zoukankan      html  css  js  c++  java
  • 汇编语言(王爽)第五章

    第五章 [BX]和loop指令

    *Loop指令

    格式:loop 标号

    等同步骤:(1)(cx)=(cx)-1;(2)若(cx)!=0,跳转到标号位置继续执行。

    *Debug的相关命令及说明

    g命令:g 偏移地址;使得执行到cs:偏移地址处停止;

    p命令:使Debug程序自动重复执行代码中的循环指令,直到(cx)=0为止。

    用Debug中直接写入指令,[idata]可以表示((段地址)*16+idata)处的值;而如果在汇编源代码中[idata]会被编译器masm处理为idata这个数值。所以在汇编源代码中当使用立即数来表示偏移地址时,须加前缀以显式表明,比如:ds:[idata]。

    *示例:计算ffff:0~ffff:b内存单元中数据的和,结果存储在dx中。

    ;1.每个内存单元里的数值是单字节类型,而dx是双字节寄存器
    ;2.总计12个内存单元的数据和最大为255*12<65535,不会产生溢出
    
    assume cs:code
    
    code segment
            mov ax,0ffffH
            mov ds,ax
    
            mov bx,0      ;存储目标位置偏移地址
            mov dx,0      ;初始化结果
            mov ah,0      ;设置中转数的高位
    
            mov cx,12
    s:
            mov al,[bx]
            add dx,ax
            inc bx
            loop s
    
            mov ax,4c00H
            int 21H
    
    code ends
    
    end

    *一段安全的空间:汇编学习过程中可以使用00200h~002ffh这段空间,总计256个字节。

  • 相关阅读:
    11 数据的增删改
    10 外键的变种 三种关系
    09 完整性约束
    03 body标签中的相关标签
    02 body标签中的相关标签
    01 HTML介绍和head标签
    08 数据类型(2)
    07 数据类型
    06 表的操作
    偶遇RecyclerView内部Bug
  • 原文地址:https://www.cnblogs.com/tsembrace/p/3251753.html
Copyright © 2011-2022 走看看