Các ứng dụng chạy trên nền tảng hệ điều hành Windows 32-bit, nó được chạy dưới chế độ bảo vệ mà chế độ này được sử dụng từ thế hệ bộ vi xử lý 80286. Nhưng bây giờ 80286 không còn được sử dụng nữa. Vì vậy, chúng ta chỉ quan tâm đến các thế hệ từ bộ vi xử lý 80386 trở về sau. Hệ điều hành thực thi mỗi ứng dụng trong một vùng nhớ ảo được định sẵn. | Iczelion s Tutorial Win32 ASM Tutorial 1 The Basic Căn bản về lập trình ASM trên Windows Tổng quan về hệ thống Các ứng dụng chạy trên nền tảng hệ điều hành Windows 32-bit nó được chạy dưới chế độ bảo vệ mà chế độ này được sử dụng từ thế hệ bộ vi xử lý 80286. Nhưng bây giờ 80286 không còn được sử dụng nữa. Vì vậy chúng ta chỉ quan tâm đến các thế hệ từ bộ vi xử lý 80386 trở về sau. Hệ điều hành thực thi mỗi ứng dụng trong một vùng nhớ ảo được định sẵn. Điều này có nghĩa là mỗi chương trình Win32 sẽ có riêng cho mình một vùng nhớ địa chỉ đến 4GB. Tuy nhiên điều này không có nghĩa là mỗi một chương trình đều được cấp 4GB vùng nhớ vật lý mà chỉ có nghĩa là chương trình có thể định địa chỉ trên bộ nhớ trong vùng 4GB này thôi mà thôi. Hệ điều hành sẽ làm điều gì đó để chương trình có thể tham chiếu đến các giá trị trong vùng nhớ trên. Dĩ nhiên là chương trình sẽ phải bám vào các qui tắc mà hệ điều hành đã qui định nếu khác nó sẽ gây ra lỗi protection. Mỗi chương trình là độc quyền trong vùng địa chỉ của nó. Điều này trái ngược với các chương trình chạy trên nền tảng Windows 16-bit. Tất cả các chương trình trong Windows 16-bit có thể nhìn thấy nhau. Nhưng dưới chế độ 32-bit. Điều này sẽ giảm bớt việc thay đổi một chương trình viết đè lên CODE hay DATA của một chương trình khác. Mô hình bộ nhớ cũng khác xa 16-bit. Dưới chế độ 32-bit chúng ta không cần quan tâm đến mô hình bộ nhớ hay khái niệm đoạn segment trong 16-bit. Chỉ có một kiểu bộ nhớ là kiểu bộ nhớ phẳng Flat memory . Không có khái niệm mỗi segment chứa không quá 64KB trong 16-bit. Bộ nhớ trong chế độ 32-bit là một vùng liên tục 4GB. Điều đó cũng có nghĩa là bạn không phải quan tâm đến những thanh ghi đoạn. Bạn có thể dùng bất kỳ thanh ghi đoạn nào để định một địa chỉ bất kỳ trên vùng nhớ. Điều này giúp ích cho các lập trình viên rất nhiều. Đây cũng là những gì giúp cho việc lập trình trên hợp ngữ 32-bit dễ dàng hơn lập trình trong C. Khi bạn lập trình hợp ngữ trong chế độ 32-bit bạn phải biết vài quy tắc quan .