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. Strategic game(POJ 1463 树形DP)

    Strategic game Time Limit: 2000MS   Memory Limit: 10000K Total Submissions: 7490   Accepted: 3483 De ...

  2. EF 请求数据是缓存 求大神解释

    // //AliexpressEntities MyaliexpressEntities 为了事物一致性 在别的方法里面传过来的 实质还是 (  AliexpressEntities aliexpre ...

  3. Effective Java单元测试TestNG - 就是爱Java

    TestNG是另一种单元测试的framework,与JUnit的类似,这次Mix将使用它来撰写测试程序,大部分所引用的class package都一样,只差在JUnit与TestNG的字样,可以直接用 ...

  4. 手机天猫nba项目总结

    页面逻辑: 技术统计 比赛竞猜 猜你喜欢 进入页面时,获取服务器的当前时间.然后进行页面上的每秒递增.1.每隔n秒向后台发送请求,获取最新比分信息,球队图像,球员信息.然后更改页面.2.每隔n秒向后台 ...

  5. kibana 日志查看界面

  6. C#中给线程传值并启动

    方法1: ParameterizedThreadStart 委托+Thread.Start 方法 (Object)         private void btnLogin_Click(object ...

  7. 电机转矩T=9550*P/N推导。

    很奇怪,这个公式怎么来的,原来好多是基础物理的,也许我们初中高中物理书上多有,基础真的是很基础的基础. P=F*V (1)  ,即功率=力*速度 T=F*R (2) ,即力矩=力*作用长度 ,在电机里 ...

  8. 8个华丽的HTML5相册动画欣赏

    HTML5的图片动画非常丰富,我们也在网站上分享过很多关于HTML5的图片动画.相册在网络中也十分常见,本文我们要分享一些比较华丽的jQuery/HTML5相册动画,希望大家喜欢. 1.HTML5 3 ...

  9. U盘启动盘的制作与U盘重装系统

    网上有各种各样的装系统的方法,也有各种不同的操作系统版本. 本文介绍如何有UtraISO将U盘制作成系统启动盘,本文用于制作的系统是纯净的32位win7旗舰版. 可到http://itellyou.c ...

  10. java中的TreeMap如何顺序按照插入顺序排序

    java中的TreeMap如何顺序按照插入顺序排序 你可以使用LinkedHashMap  这个是可以记住插入顺序的. 用LinkedHashMap吧.它内部有一个链表,保持插入的顺序.迭代的时候,也 ...