I:INTEGER = 5; C:CHAR; S:STRING = 'HELLO WORLD!'; W:WORD; A:ARRAY [0..3] OF INTEGER; B:BYTE;
I DD 5 ;DOUBLE WORD (ÄÂÎÉÍÎÅ ÑËÎÂÎ) = 4Á C DB ? ;BYTE (ÁÀÉÒ) = 1Á S DB 'HELLO WORLD!' ;BYTE (ÁÀÉÒ) = 1Á W DW ? ;WORD (ÑËÎÂÎ) = 2Á A: DD ? ;DD ÒÀÊ ÊÀÊ Ó ÍÀÑ ÌÀÑÑÈÂ ÒÈÏÀ INTEGER RB 4 ;ÒÓÒ ÐÀÇÌÅÐ ÌÀÑÑÈÂÀ B DB ? ;BYTE (ÁÀÉÒ) = 1Á
X:=1; Y:=X+1; Z:=X-2; W:=Z*5/7;
MOV [X],1 MOV EAX,[X] ADD EAX,1 MOV [Y],EAX MOV EAX,[X] SUB EAX,2 MOV [Z],EAX MOV EAX,[Z] IMUL EAX,5 XOR EDX,EDX ;ÎÑÒÀÒÎÊ ÎÒ ÄÅËÅÍÈß ÇÀÏÈÑÛÂÀÅÒÑß Â EDX ÏÎÝÒÎÌÓ Î×ÈÙÀÅÌ ÅÃÎ MOV EBX,7 IDIV EBX MOV [W],EAX
IF N=15 THEN X:=1 ELSE X:=0;
MOV EAX,[N] CMP EAX,15 JE .YES MOV [X],0 JMP .END .YES: MOV [X],1 .END:
FOR I:=0 TO 10 DO BEGIN X:=X+1; END;
MOV ECX,0 .NACHALO: MOV EAX,[X] ADD EAX,[X] INC EAX INC ECX ;ÓÂÅËÈ×ÈÂÀÅÌ Ñ×ÅÒ×ÈÊ CMP ECX,10 JNE .NACHALO
REPEAT X:=X+1; UNTIL (X>Y)
.NACHALO: MOV EAX,[X] ADD EAX,[X] INC EAX MOV EBX,[Y] CMP EAX,EBX JLE .NACHALO ;ÅÑËÈ ÌÅÍÜØÅ ÈËÈ ÐÀÂÍÎ, ÒÎ ÏÐÎÄÎËÆÀÅÌ ÖÈÊË
CASE I DO 0: X:='0'; 1: X:='1'; END;
MOV EAX,[I] CMP EAX,0 JNE .NENULL MOV [X],'0' JMP .ENDCASE .NENULL: CMP EAX,1 JNE .ENDCASE MOV [X],'1' JMP .ENDCASE .ENDCASE:
(c) Veliant