汇编 指令lodsb,lodsw,lodsd

知识点:

 汇编指令 lodsb,lodsw,lodsd
一、汇编指令LODSB
  //scasb scasw scasd
  //stosb stosw stosd
  1、   __asm lodsb //作用 mov al,byte ptr [esi] ; esi=esi+sizeof( byte);
  2、   __asm rep lodsb // 
 
   
//取字符串元素到 AL,AX,EAX
二、LODSW,LODSD
     REP LODS WORD PTR DS:[ESI]  //esi+=2;ecx-- //LODSW
     REP LODS DWORD PTR DS:[ESI] //esi+=4;ecx-- //LODSD

 // lodsb.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <process.h>

int _tmain(int argc, _TCHAR* argv[])
{
	char s[33]="abcdef123456789";//s[0]
	char *fps="%c%c,";
	__asm
	{
       //lodsb
		xor eax,eax
		lea esi,s
		mov ecx,3 //指定循环次数
		rep lodsb;//al=byte ptr [esi];esi++; //REP LODS BYTE PTR DS:[ESI]
		movzx ebx,ah
		push ebx
		push eax		
		push fps
		call dword ptr [printf]
		add esp,0xc
	}
	system("pause");
	return 0;
}

 

posted @ 2017-02-07 15:33  whzym111  阅读(1738)  评论(0编辑  收藏  举报