LODS LODSB LODSW LODSD 例子【载入串指令】
http://qwop.iteye.com/blog/1958761
// lodsb.cpp : Defines the entry point for the console application.
// #include "stdafx.h"
#include <string.h> /************************************************************************/
/* 载入串指令
/* LODS LODSB LODSW LODSD 例子
/* 运行结果:
/* bcdef
/* g1
/* 2345
/************************************************************************/
int main(int argc, char* argv[])
{ char s[33] = "abcdefg123456789";
char lodsb_chars[ 10 ] = {0};
char ret[ 10 ] = {0};
short vWORD = 0; // 备用载入 字 数据
int vDWORD = 0; // 备用载入 双字 数据 __asm {
xor eax,eax // 清空eax
lea esi, s // esi 指向数据 s mov ecx, 2 // 执行两次 lodsb
// 载入串指令: LODSB、LODSW、LODSD ;将 ESI 指向的数据载入到 AL/AX/EAX, 执行后 ESI 自动变化
rep lodsb // mov al byte ptr [esi]; esi = esi + sizeof( byte ); // 数据载入到al中
mov lodsb_chars[ 0 ], al // b lodsb
mov lodsb_chars[ 1 ], al // c lodsb
mov lodsb_chars[ 2 ], al // d lodsb
mov lodsb_chars[ 3 ], al // e lodsb
mov lodsb_chars[ 4 ], al // f lodsw // 载入串 字 指令
mov vWORD,ax // g1 lodsd // 载入串 双字 指令
mov vDWORD,eax // 2345
} printf( "%s\r\n", lodsb_chars ); strncpy( ret, (char*) &vWORD, 2 ); // 将字符串 ps 中 2 个字符复制到字符串 ret 中。
printf( "%s\r\n", ret ); strncpy( ret, ( char* ) &vDWORD, 4 ); // 将字符串 ps 中 4 个字符复制到字符串 ret 中。
printf( "%s\r\n", ret ); getchar();
return 0;
}
ITeye推荐
LODS LODSB LODSW LODSD 例子【载入串指令】的更多相关文章
- 汇编 指令lodsb,lodsw,lodsd
知识点: 汇编指令 lodsb,lodsw,lodsd 一.汇编指令LODSB //scasb scasw scasd //stosb stosw stosd 1. __asm lodsb //作用 ...
- 自己动手写CPU之第九阶段(2)——载入存储指令说明2(lwl、lwr)
将陆续上传新书<自己动手写CPU>.今天是第38篇,我尽量每周四篇,可是近期已经非常久没有实现这个目标了.一直都有事,不好意思哈. 开展晒书评送书活动,在q=%E4%BA%9A%E9%A9 ...
- 自己动手写CPU之第九阶段(4)——载入存储指令实现思路
将陆续上传新书<自己动手写CPU>,今天是第40篇,我尽量每周四篇,可是近期已经非常久没有实现这个目标了,一直都有事,不好意思哈. 开展晒书评送书活动,在q=%E4%BA%9A%E9%A9 ...
- 汇编语言--微机CPU的指令系统(五)(字符串操作指令)
(11)字符串操作指令 字符串操作指令的实质是对一片连续存储单元进行处理,这片存储单元是由隐含指针DS:SI或ES:DI来指定的.字符串操作指令可对内存单元按字节.字或双字进行处理,并能根据操作对象的 ...
- EditPlus 中添加 Win32 ASM 语法支持
将以下内容保存为 Win32Asm.stx:然后选“工具”.“配置用户工具”.“设置与语法”.“添加”. “描述”=Win32Asm.“扩展名”=asm .”语法文件”选存入之文件,确定即可. #TI ...
- x86汇编指令详解
80x86指令系统 80x86指令系统,指令按功能可分为以下七个部分. (1) 数据传送指令. (2) 算术运算指令. (3) 逻辑运算指令. (4) 串操作指令. (5) 控制转移指令. (6) 处 ...
- x86汇编指令具体解释
80x86指令系统 80x86指令系统,指令按功能可分为下面七个部分. (1) 数据传送指令. (2) 算术运算指令. (3) 逻辑运算指令. (4) 串操作指令. (5) 控制转移指令. (6) 处 ...
- 80X86指令总结
一.数据传送指令 指令名称 汇编语句格式 功能 影响标志位 传送move data mov opd, ops (ops) → opd:分为主存储器.通用寄存器.段寄存器,不可同时使用主存储器,类型要匹 ...
- Win32汇编之其他指令
汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...
随机推荐
- 使用jcifs.smb.SmbFile读取Windows上共享目录的文件
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws Servl ...
- Qt编程之实现属性窗口编辑器
类似于这种: 就是右下角这个框,有属性名字和对应的value编辑. 这个Widget是作为一个QDockWidget被添加到QMainWindow中的.QMainWindow必须要有centralWi ...
- js深入研究之自定义混合Mixin函数
<script type="text/javascript"> /* 增加函数 */ function augment(receivingClass, givingCl ...
- VMWare 虚拟机
http://pan.baidu.com/share/link?shareid=5873&uk=941708466 VMWare是虚拟化解决方案厂商,旗下有多款虚拟机软件产品,其中最知名的要数 ...
- Delphi流的操作 转
一.流的概念 流简单说是建立在面向对象基础上的一种抽象的处理数据的工具,它定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员只需掌握对流进行操作,而不用关心流的另一头数据的真正流向.其实,流 ...
- linux虚拟机命令行模式下,某些命令显示乱码问题。
刚安装了linux虚拟机,使用vi命令试着修改IP配置,结果出现乱码.配置IP的文件内容本身没有乱码,主要是vi编辑的命令行的提示出现乱码,例如,按i是插入模式,结果底下出现乱码提升,不是提示插入. ...
- Spring 源码解读 推荐流程
Spring源代码解析(一):IOC容器:http://www.javaeye.com/topic/86339 Spring源代码解析(二):IoC容器在Web容器中的启动:http://www.ja ...
- Android调试系列—使用android studio调试smali代码
1.工具介绍 使用工具 android killer:用于反编译apk包,得到smali代码 android studio:调试smali代码工具,或者使用idea,android studio就是在 ...
- python - 执行父类中的方法
执行父类中的方法: class C1: def f1(self): print('c1.f1') return 123 class C2(C1): def f1(self): #主动执行父类的f1方法 ...
- ORA-01652:无法通过128(在表空间TEMP中)扩展temp段
在Oracle数据库中进行order by or group by.索引的创建和重创建.distinct操作.union & intersect & minus sort-merge ...