汇编编程示例:
CODE SEGMENT ASSUME CS:CODE,DS:CODE ORG 100H START: JMP INSTALL D1 DB 'OK, passed ...',0DH,0AH,24H INSTALL: XOR AX,AX MOV ES,AX MOV AX,ES:[046CH] ;系统时间计数 XOR WORD PTR _CODE,AX ;把 _CODE 处的指令加密 MOV AH,0FFH IN AL,21H XCHG AH,AL OUT 21H,AL ;关掉中断,并保存原中断开关情况到 AH MOV CX,100 ;这儿是延时语句,模拟其他程序的执行时间 LOP1: PUSH CX XOR CX,CX LOP2: LOOP LOP2 POP CX LOOP LOP1 MOV BX,ES:[046CH] ;再把时间取回来解密 XOR WORD PTR _CODE,BX XCHG AH,AL ;记得把中断复原 OUT 21H,AL _CODE: NOP NOP MOV AH,9 MOV DX,OFFSET D1 INT 21H INT 20H CODE ENDS END START