zoukankan      html  css  js  c++  java
  • 汇编语言——王爽(02)

    debug中跟踪用loop指令实现的循环====计算ffff:0006 单元中的数*3 ,结果存储在dx中

    assume cs:code
    
    code   segment
        mov ax,0ffffh  ; 汇编程序中数据不能以字母开头
        mov ds,ax
        mov bx,6    ;ds:bx 指向ffff:6
        
        mov al,[bx]
        mov ah,0    ;设置(a1) = ((ds*16)+(bx)),(ah)=0
        mov dx,0    ;累加器清零 
    
              
        mov cx,3    ;循环三次
       s:add dx,ax
        loop s     ;累加计算(ax)*3
        mov ax,4c00h
        int 21h    ; 程序返回 code ends end

        上面代码不能直接运行,带有中文输入法的TAB按键

    调试过程:

    1、masm p3.asm

    2、link p3

    3、debug p3.exe

    4、t 单步运行

    5、u 查看相应地址中的汇编指令

    6、int21 指令要使用 P命令执行,才会显示最终结果

    // 跳过程序  debug G

    g + 要跳转的偏移地址,就可以对循环进行跟踪

    遇到LOOP命令可以使用P命令跳出循环 同样可以使用 g+0016直接跳出

    DOS 与 masm 编译器对------------------------mov al,[0];有这不同的解释

           解决方法-----------------------mov al,ds:[0]或者 mov al,[bl]  

    loop 与 [bx]的联合应用

     第6章  包含多个段的程序

     指明程序入口:start ‘’‘’‘’‘’‘’end start

     

     代码段中使用栈:实现逆序存放

  • 相关阅读:
    建持续集成
    Apache通用日志工具commonslogging和Log4j使用总结
    subversion(SVN)常见问题及其解决方法
    UML类图的相关名词解释
    SVN项目的目录布局
    敏捷开发流程总结
    敏捷开发实践
    卓有成效的敏捷开发流程
    字符串反转操作
    转:图片水印 http://www.cnblogs.com/xiaoge_com/archive/2009/09/10/1564216.html
  • 原文地址:https://www.cnblogs.com/xwtstudio/p/12491216.html
Copyright © 2011-2022 走看看