.386.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
var1 DWORD 10000h
var2 DWORD 20000h.code
main PROCmov eax,var1add eax,var2mov eax,var2sub eax,var1neg eaxneg var1INVOKE ExitProcess,0
main ENDP
END main
2: ASM26 : 仅用PUSH和POP指令来交换EAX和EBX的值
.386.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.code
main PROCmov eax,10mov ebx,20push eaxpush ebxpop eaxpop ebxINVOKE ExitProcess,0
main ENDP
END main
.386.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.code
main PROCcall proc_1INVOKE ExitProcess,0
main ENDPproc_1 PROCsub esp,8mov esi,espmov eax,2000hmov [esi],eaxadd esi,4mov eax,1000hmov [esi],eaxadd esp,8ret
proc_1 ENDP
END main
4: 用变址寻址方式将双字数组中的元素复制到同一个数组中其前面的一个位置上
.386.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
arrayD DWORD 1,2,3,4,5.code
main PROCmov ecx,LENGTHOF arrayD -1mov esi,0mov ebx,arrayD[esi * TYPE arrayD]inc esi
L1: mov eax,arrayD[esi * TYPE arrayD]dec esimov arrayD[esi * TYPE arrayD],eaxadd esi,2loop L1dec esimov arrayD[esi * TYPE arrayD],ebxINVOKE ExitProcess,0
main ENDP
END main
5: 一组语句显示子程序的返回地址
.386.model flat,stdcallinclude Irvine32.inc.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.code
main PROCcall proc_1INVOKE ExitProcess,0
main ENDPproc_1 PROCpop eaxcall WriteHexpush eaxret
proc_1 ENDP
END main
.386.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
start DWORD 1
chars BYTE 'H','A','C','E','B','D','F','G'
links DWORD 0,4,5,6,2,3,7,0
outChars BYTE SIZEOF chars DUP(?).code
main PROCmov ecx,LENGTHOF charsmov edi,0mov esi,start
L1:mov al,chars[esi * TYPE chars]mov outChars[edi * TYPE outChars],almov eax,esimov esi,links[eax * TYPE links]inc ediloop L1INVOKE ExitProcess,0
main ENDP
END main
7: 递归过程,ECX设定调用次数,不使用其他条件判断,只使用LOOP
.386.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
count DWORD 0.code
main PROCmov ecx,2call proc_1INVOKE ExitProcess,0
main ENDPproc_1 PROCinc countloop L1retL1:call proc_1ret
proc_1 ENDPEND main
8: AND,OR,XOR使用例子
.386.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.code
main PROCmov ax,0FFFFhand ax,0FFh ;清除AX的高8位,AX的低8位不变mov ax,0or ax,0FF00h ;高AX的8位置1,AX的低8位不变mov eax,0FFFF0000hxor eax,0FFFFFFFFh ;不使用NOT,使EAX所有位取反mov eax,10and eax,1;当EAX的32位值为偶数时,零标志为1,奇数时为0mov eax,11and eax,1INVOKE ExitProcess,0
main ENDP
END main
9: 条件跳转应用,测试状态位
.386.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
status BYTE 88.code
main PROCmov al,statustest al,00100000b ;测试位5 为1就跳转jnz L0mov al,statustest al,00010011b ;位0、1、4为1就跳转jnz L1mov al,statusand al,10001100b ;屏蔽位2、3、7cmp al,10001100b ;所有位都置1?je L2L0:
L1:
L2:INVOKE ExitProcess,0
main ENDP
END main
10: 条件跳转应用,两个数最大数
.386.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
status BYTE 88.code
main PROCmov eax,100mov ebx,99mov edx ,eax ;假设EAX存放的是最大数cmp eax,ebxjae L1 ;EAX大于等于EBX就跳转,不再改变EDX的值mov edx,ebx
L1:;EDX存放最大值INVOKE ExitProcess,0
main ENDP
END main
RandomAccessFile类readInt()方法 (RandomAccessFile Class readInt() method) readInt() method is available in java.io package. readInt()方法在java.io包中可用。 readInt() method is used to read signed 32-bit integer value from this RandomAccessFile. readInt()方…
java jar包示例包类的isCompatibleWith()方法 (Package Class isCompatibleWith() method) isCompatibleWith() method is available in java.lang package. isCompatibleWith()方法在java.lang包中可用。 isCompatibleWith() method is used to check the specification versi…
tooctalstring长类toOctalString()方法 (Long class toOctalString() method) toOctalString() method is available in java.lang package. toOctalString()方法在java.lang包中可用。 toOctalString() method is used to represent an octal string of the given parameter […
ObjectOutputStream类flush()方法 (ObjectOutputStream Class flush() method) flush() method is available in java.io package. flush()方法在java.io包中可用。 flush() method is used to flush this stream and write bytes immediately of any buffered output to the u…