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)代替机器指令的操作码,用地 ...
随机推荐
- 『信息收集』GoogleHacking快速定位目标网站
第一次接触到“GoogleHacking”是在学校初次Geek大赛上. 很有意思的一道题目,网页中原题大致是这样的: 下面是数学之美(吴军著)的封面,请找出这本书的ISBN码(这一关的Key值) 很不 ...
- XJOI网上同步训练DAY6 T2
思路:记得FJ省队集训好像有过这题,可是我太弱了,根本不懂T_T #include<cstdio> #include<iostream> #include<cmath&g ...
- 那年曾让我哭笑不得抓狂的C语言
1.关于+=以及-= 这是两个运算符,但你否有过这种经历: int temp; char i ;i<MAX;i++) { ... temp=+; //这里本意是每次循环,temp都自增2,但是却 ...
- Qt error:QtThese QT version are inaccessible
安装完Qt Add-in 打开VS2013的时候出现标题错误. QTDIR 需要设置成Qt安装目录下的vc,这个vc目录下包含include,lib,bin等文件夹.或者是在Qt Option里面设置 ...
- cf493B Vasya and Wrestling
B. Vasya and Wrestling time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- MyBatis 通过包含的jdbcType类型和java中对应的数据类型
MyBatis 通过包含的jdbcType类型 BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINED ...
- 布局神器:Flexbox
最近的工作内容大多是移动端网页的开发,百分比布局,Media Queries,Bootstrap等常规的响应式/自适应的开发技术皆一一试过,但觉以上都不够灵活,所以,一直再尝试寻求更加灵活的精确的移动 ...
- Java 编程下使用 Class.forName() 加载类
在一些应用中,无法事先知道使用者将加载什么类,而必须让使用者指定类名称以加载类,可以使用 Class 的静态 forName() 方法实现动态加载类.下面的范例让你可以指定类名称来获得类的相关信息. ...
- How to center anything with css
1. 绝对居中定位技术 我经常用margin:0 auto来实现水平居中,而一直认为margin:auto不能实现垂直居中……实际上,实现垂直居中仅需要声明元素高度和下面的CSS 优点: 缺点: 1 ...
- Linux 运维笔记
#配置静态地址网卡DEVICE="eth0"BOOTPROTO=staticHWADDR="00:0C:29:DC:EA:F7"NM_CONTROLLED=&q ...