Чем отличается написание кода на ассемблере под вин 32 и 64!

01.01.2001

Чем отличается написание кода на ассемблере под вин 32 и 64!
STACK SEGMENT PARA STACK 'STACK'
DB 64 DUP('STACK')
STACK ENDS
DSEG SEGMENT PARA PUBLIC 'DATA'
Mas db '1a34b678c0' ; cifr-7, simvk-3
len_mas equ 10
DSEG ENDS
CSEG SEGMENT PARA PUBLIC 'CODE'
ASSUME CS:CSEG, DS:DSEG, SS:STACK
START PROC FAR
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
MOV CX,LEN_MAS
XOR AX,AX
XOR SI,SI

CYC1:JCXZ EXIT

CMP MAS[SI],48
JAE B1
JB M1

B1: CMP MAS[SI],57
JBE M2
JA M1

M1: INC BX ;Simvoli
JMP B2
M2: INC AX ;Cifri

B2: INC SI
DEC CX
JMP CYC1

EXIT: MOV AX, 4C00H
INT 21H
START ENDP
CSEG ENDS
END START

  • Соглашением о передаче параметров при вызове функций WinAPI. В Win32 - это stdcall и cdecl, в Win64 - fastcall.
    Возможностью использования в 64-разрядной программе дополнительных регистров и команд и невозможностью использования упразднённых команд.
    В остальном - ничем.

    А программа, текст которой вы привели, никакого отношения к Windows не имеет, ни к 32-х, ни к 64-разрядной.

Вас заинтересует