ffff:0-ffff:d内存中数值求和放入dx寄存器中

代码:

add.asm

 assume cs:code
code segment
mov ax,0ffffH
mov ds,ax mov dx, mov al,ds:[]
mov ah,
add dx,ax mov al,ds:[]
mov ah,
add dx,ax mov al,ds:[]
mov ah,
add dx,ax mov al,ds:[]
mov ah,
add dx,ax mov al,ds:[]
mov ah,
add dx,ax mov al,ds:[]
mov ah,
add dx,ax mov al,ds:[]
mov ah,
add dx,ax mov al,ds:[]
mov ah,
add dx,ax mov al,ds:[]
mov ah,
add dx,ax mov al,ds:[]
mov ah,
add dx,ax mov al,ds:[0ah]
mov ah,
add dx,ax mov al,ds:[0bh]
mov ah,
add dx,ax mov ax,4c00H
int 21h
code ends
end

编译,链接add.adm

masm add;

link add;

执行add.exe

如上图

-r 将显示寄存器值. cs:ip 为 0B60:0000为程序起始地址

-t 则执行程序 显示为上一次执行后的寄存器内容,最后一行为 将要执行的指令,

-u 显示汇编代码,及内存中得位置.如现在程序开始地址为  0B60:0003 MOV DS,AX 默认从cs:ip指向的地址显示代码

接上图

-g 偏移地址, 表示执行到001D为止, 001D处的代码还未执行.类似断点跟踪

-p int 21h要用p命令执行

以上程序可用loop优化,优化后为:

连续内存可以使用[bx]方法

 assume cs:code
code segment
mov ax,0ffffH
mov ds,ax
mov bx, mov dx, mov cx,
s:mov al,[bx]
mov ah,
add dx,ax
inc bx
loop s mov ax,4c00H
int 21h code ends
end

执行LOOP循环:

(1)  用-g直接指定到 0015 loop代码段,使用-p

  -p 在遇到LOOP 000E时,用-p命令执行,Debug自动重复执行loop中内存,直到(cx) = 0

  最后一次执行loop 000E后, (cx) = 0 (IP) = 0017H,当前CS:0017处的mov ax,4c00H.

(2)  用 -g 直接执行到 cs:0017

   -g 0017

  

[汇编语言]-debug跟踪执行的更多相关文章

  1. SQL Tuning 基础概述03 - 使用sql_trace和10046事件跟踪执行计划

    1.使用sql_trace跟踪执行计划 1.1 当前session跟踪: alter session set sql_trace = true; //开始sql_trace alter session ...

  2. CAS单点登录原理以及debug跟踪登录流程

    CAS 原理和协议 基础模式 基础模式 SSO 访问流程主要有以下步骤: 1. 访问服务: SSO 客户端发送请求访问应用系统提供的服务资源. 2. 定向认证: SSO 客户端会重定向用户请求到 SS ...

  3. 汇编语言debug入门

    进入windows操作系统,因为我的虚拟机用的是win7 64位,所以装了一个Dos Box 的软件来执行这些指令. 输入debug回车,这样就进入了debug模式. 1: 输入 -r 查看或者修改寄 ...

  4. Debug 单步执行命令step into/step out/step over的区别

    总结一下在debug中三种调试的区别: step into就是单步执行,遇到子函数就进入并且继续单步执行: step over是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数 ...

  5. IE的debug工具对程序进行debug跟踪JS代码

    2015/8/31 (其他的:显示zjfy_app_sys_ip.html,只需关闭启用保护模式) 显示ie的debug,F12-->Ctrl + P 扩展:第一步,在程序中设置断点,如图所示左 ...

  6. 【转】mysql如何跟踪执行的sql语句

    转自http://blog.csdn.net/testcs_dn/article/details/18791815 在SQL SERVER下跟踪sql采用事件探查器,而在mysql下如何跟踪sql呢? ...

  7. mysql通过查看跟踪日志跟踪执行的sql语句

    在SQL SERVER下跟踪sql采用事件探查器,而在mysql下如何跟踪sql呢? 其实方法很简单,开启mysql的日志log功能,通过查看跟踪日志即可. 开启mysql的日志log方法: wind ...

  8. 汇编语言debug命令与指令机器码

    一.debug命令 二.标志信息 -r用这个指令,得到的信息右下角: NV UP EI PL NZ NA PO NC 这些符号代表的就是标志寄存器里常用标志位的值.这个是符号值对应表: 溢出标志OF( ...

  9. mysql跟踪执行的sql语句

    修改my.cnf配置文件 /usr/local/mysql/bin/mysql --verbose --help | grep -A 1 'Default options' Default optio ...

随机推荐

  1. Myeclipse中如何修改Tomcat的端口号

    一,使用 Myeclipse 中自带的 tomcat 右键 configure 弹出窗口 在 port Number 中修改 端口号即可: 二,配置的 tomcat 如果用上述的方法,只能打开这样的窗 ...

  2. 在linux中配置tomcat

    Linux下Tomcat的安装配置 一.下载安装对应的jdk,并配置Java环境. 官网下载地址: http://www.oracle.com/technetwork/java/javase/down ...

  3. 十二、享元(Flyweight)模式--结构模式(Structural Pattern)

    Flyweight在拳击比赛中指最轻量级,即"蝇量级",有些作者翻译为"羽量级".这里使用"享元 模式"更能反映模式的用意. 享元模式以共享 ...

  4. web技术之图片预加载

    http://www.cnblogs.com/rt0d/archive/2011/04/17/2018646.html http://www.oschina.net/code/snippet_5437 ...

  5. 关于文字颜色/图片背景---selector状态列表

    文字颜色 android:textColor="@style/style_name" ----------------------------------widget 图片背景 a ...

  6. C# 调用FFmpeg 根据图片合成视频

    1.项目结构: 2.代码: using System; using System.Collections.Generic; using System.Diagnostics; using System ...

  7. logstash grok 解析Nginx

    log_format main '$remote_addr [$time_local] "$request" ' '$request_body $status $body_byte ...

  8. Unix/Linux环境C编程入门教程(33) 命令和鼠标管理用户和组

    Linux是一个多用户.多任务的实时操作系统,允许多人同时访问计算机, 并同时运行多个任务.UNIX系统具有稳定.高效.安全.方便.功能强大等诸多优点,自20世纪70年代开始便运行在许多大型和小型计算 ...

  9. bzoj1632 [Usaco2007 Feb]Lilypad Pond

    Description Farmer John 建造了一个美丽的池塘,用于让他的牛们审美和锻炼.这个长方形的池子被分割成了 M 行和 N 列( 1 ≤ M ≤ 30 ; 1 ≤ N ≤ 30 ) 正方 ...

  10. HTML5 Canvas Cheat Sheet

    HTML5 Canvas Cheat Sheet HTML5 Canvas Cheat Sheet v1.x