zoukankan      html  css  js  c++  java
  • 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
    ", lodsb_chars );
    	
    	strncpy( ret, (char*) &vWORD, 2 ); // 将字符串 ps 中 2 个字符复制到字符串 ret 中。
    	printf( "%s
    ", ret );
    	
    	strncpy( ret, ( char* ) &vDWORD, 4 ); // 将字符串 ps 中 4 个字符复制到字符串 ret 中。
    	printf( "%s
    ", ret );
    
    	getchar();
    	return 0;
    }
    
    


    已有 0 人发表留言,猛击->>这里<<-参与讨论


    ITeye推荐



  • 相关阅读:
    video和audio
    H5-geolocation学习
    hammer.js学习
    echarts学习
    移动端手势识别
    SVG
    e.key && e.which && e.keyCode
    git中避免提交.DS_Store文件[转载]
    前端笔试题[1]
    Javascript实现格式化输出
  • 原文地址:https://www.cnblogs.com/qwop/p/3438434.html
Copyright © 2011-2022 走看看