一段汇编小程序及说明——将数据,代码,栈放入不同的段
2014-11-09 13:09
344 查看
assume cd:code,ds:data,ss:stack data segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h data ends stack segment dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 stack ends code segment start:mov ax,stack ;将栈地址送入ax mov ss,ax mov sp,20h ;设置栈顶SS:SP指向stack:20 mov ax,data mov ds,ax ;ds指向data段 mov bx,0 ;as:bx指向data段中的第一个单元 mov cx,8 ;设置循环次数 s: push [bx] add bx,2 loop s ;将以上data段中的0-15单元中的8个字型数据依次入栈 mov bx,0 mov cx,8 s0:pop [bx] add bx,2 loop s0 ;以上依次出栈的8个字型数据到data段的0-15单元中
汇编 debug
-r 查看寄存器中的内容
-u 加载内存中的程序,将内存中的机器指令翻译成汇编
-d 查看内存中的内容
-e 改写内存中的内容
-t 执行一条机器指令
-a 以汇编指令格式在内存中写入一条机器指令
常用无符号数比较结果条件转移
指令 含义 检测的相关标志位
je 等于则转移 zf=1
jne 不等于则转移 zf=0
jb 低于则转移 cf=1
jnb 不低于则转移 cf=0
ja 高于则转移 cf=0 且 zf=0
jna 不高于则转移 cf=1 或 zf=1
assume cd:code,ds:data,ss:stack data segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h data ends stack segment dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 stack ends code segment start:mov ax,stack ;将栈地址送入ax mov ss,ax mov sp,20h ;设置栈顶SS:SP指向stack:20 mov ax,data mov ds,ax ;ds指向data段 mov bx,0 ;as:bx指向data段中的第一个单元 mov cx,8 ;设置循环次数 s: push [bx] add bx,2 loop s ;将以上data段中的0-15单元中的8个字型数据依次入栈 mov bx,0 mov cx,8 s0:pop [bx] add bx,2 loop s0 ;以上依次出栈的8个字型数据到data段的0-15单元中
汇编 debug
-r 查看寄存器中的内容
-u 加载内存中的程序,将内存中的机器指令翻译成汇编
-d 查看内存中的内容
-e 改写内存中的内容
-t 执行一条机器指令
-a 以汇编指令格式在内存中写入一条机器指令
常用无符号数比较结果条件转移
指令 含义 检测的相关标志位
je 等于则转移 zf=1
jne 不等于则转移 zf=0
jb 低于则转移 cf=1
jnb 不低于则转移 cf=0
ja 高于则转移 cf=0 且 zf=0
jna 不高于则转移 cf=1 或 zf=1
相关文章推荐
- [汇编语言]-第六章 包含多个段的程序 将数据,代码,栈放入不同的段
- 汇编中数据,代码,栈放入不同段程序代码测试
- 汇编语言入门:将数据、代码、栈放入不同的段
- 在程序中写了一段代码向数据库中插入数据,出现了data too long for column 'name' at row 1的问题。
- .NET 把数据库数据放入数组的一段代码
- 栈区,堆区,全局区,文字常量区,程序代码区详解(程序中不同类型数据所在区)
- 一段程序代码的修改,将原来按分钟活动的方式改为秒级滑动,可以提供数据分析的精度
- 栈区,堆区,全局区,文字常量区,程序代码区详解(程序中不同类型数据所在区)
- [汇编语言]-第六章 包含多个段的程序 在一个段中存放数据,代码,栈
- 汇编中将代码,数据,栈放入相同段空间的缺点
- 将数据、代码、栈放入不同段(0603)
- Mapreduce读取和写入Hbase(从A表读取数据,统计结果放入B表,非常详细,附有代码说明以及流程)
- 一段由数据库结构生成相应数据对象的代码(4)(5)
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- 汇编语言中常用进制数据输出的程序实现
- Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- 自动生产数据层代码的.net2005的插件程序(TNND 本来想发到CodeProject上去,结果人家说要英文说明才行.)
- 从当前进程模块程序读数据的代码
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)