摘要:
在理解这4个操作符之前,应该先理解STACK的概念。 之前讲到2个内存交换数据可以通过数据寄存器 或 XCHG操作符来实现,这次我们用PUSH和POP来实现下吧;test_10INCLUDE irvine32.incINCLUDELIB Irvine32.libINCLUDELIB KERNEL32.LIB.dataval1 DWORD 10hval2 DWORD 20h.codemain PRO... 阅读全文
摘要:
之前的 程序都是顺序执行,现在我们看看,如果做到循环,循环需要一个计数器来记录次数,ECX就是这个功能。LOOP用来跳转到 标号,当ECX=0时,循环结束;test_09INCLUDE irvine32.incINCLUDELIB Irvine32.libINCLUDELIB KERNEL32.LIB.dataarrayA WORD 10h,20h,30h,40h.codemain PROC mov edi ,OFFSET arrayA mov ecx,LENGTHOF arrayA mov eax,0 @@: add eax,[edi] add edi,TYPE arrayA loop... 阅读全文
摘要:
数据类型,我们大概已经了解了几种,现在看看如何实现 自定义的类型;test_08INCLUDE irvine32.incINCLUDELIB Irvine32.libINCLUDELIB KERNEL32.LIBMYWORD TYPEDEF PTR WORD.dataarrayA MYWORD 10h,20h,30hptr1 MYWORD arrayA.codemain PROC mov esi ... 阅读全文