Tài nguyên của một chương trình có tác dụng?
A. Chứa các dữ liệu cố định và được sử dụng trong hệ điều hành Windows
B. Chứa các dữ liệu cố định và được sử dụng trong chương trình nhanh chóng và thuận tiện
C. Chứa các mã lệnh của chương trình để điều khiển máy thực hiện công việc
D. Chứa các hình ảnh và được sử dụng trong chương trình
E. Chứa các dữ liệu sử dụng trong chương trình và có thể thay đổi
Thông điệp được xử lý như thế nào trong chương trình?
A. Thông điệp sẽ do máy tự động xử lý
B. Thông điệp được xử lý bên trong vòng lặp thông điệp
C. Thông điệp được xử lý bên trong một hàm lập trình theo mẫu quy định
D. Không cần xử lý thông điệp
E. Thông điệp được xử lý bên trong hàm chính (WinMain)
Bảng vectơ ngắt chứa gì và nằm ở đâu?
A. Chứa mã máy của các chương trình con phục vụ ngắt và nằm ở ROM BIOS
B. Chứa mã máy lệnh đầu tiên của các chương trình con phục vụ ngắt và nằm ở ROM hoặc RAM đều được
C. Chứa địa chỉ đầu của các chương trình con phục vụ ngắt và nằm ở RAM
Các thiết bị vào/ra chuẩn có thể coi là một tệp với các thẻ tệp (file handle) mặc định. Số thẻ tệp có giá trị bao nhiêu mặc định cho thiết bị ra chuẩn (màn hình)?
Trình tự các bước để lập trình đồ họa trên Windows là?
A. B1) Lấy cửa sổ cần vẽ
B2) Đặt các tham số để vẽ
B3) Thực hiện lệnh vẽ
B. B1) Lấy ngữ cảnh thiết bị (thiết bị ảo)
B2) Đặt các tham số để vẽ
B3) Thực hiện lệnh vẽ
B4) Giải phóng ngữ cảnh thiết bị
C. B1) Lấy ngữ cảnh thiết bị (thiết bị ảo)
B2) Tạo các đối tượng vẽ
B3) Thực hiện lệnh vẽ
B4) Giải phóng ngữ cảnh thiết bị
D. B1) Lấy cửa sổ cần vẽ
B2) Tạo các đối tượng vẽ
B3) Thực hiện lệnh vẽ
B4) Giải phóng cửa sổ đã lấy
E. B1) Lấy ngữ cảnh thiết bị (thiết bị ảo)
B2) Thực hiện lệnh vẽ
B3) Đặt các tham số để vẽ
B4) Giải phóng ngữ cảnh thiết bị
Các bước sử dụng thư viện theo kiểu run-time là?
A. B1) Nạp thư viện bằng lệnh “LoadLibrary”
B2) Lấy địa chỉ các thành phần muốn dùng bằng lệnh “GetProcAddress”
B3) Giải phóng thư viện bằng lệnh “FreeLibrary”
B. B1) Nạp thư viện bằng lệnh “LoadLibrary”
B2) Sử dụng các thành trong thư viện
B4) Giải phóng thư viện bằng lệnh “FreeLibrary”
C. B1) Nạp thư viện bằng lệnh “LoadLibrary”
B2) Lấy địa chỉ các thành phần muốn dùng bằng lệnh “GetProcAddress”
B3) Sử dụng các thành phần lấy được
B4) Giải phóng thư viện bằng lệnh “FreeLibrary”
D. B1) Nạp thư viện bằng lệnh “LoadLibrary”
B2) Lấy các thành phần muốn dùng trong thư viện
B3) Sử dụng các thành lấy được
B4) Giải phóng thư viện bằng lệnh “FreeLibrary”
E. B1) Nạp thư viện bằng lệnh “LoadLibrary”
B2) Lấy địa chỉ các thành phần muốn dùng bằng lệnh “GetProcAddress”
B3) Sử dụng bất kỳ thành nào trong thư viện
B4) Giải phóng thư viện bằng lệnh “FreeLibrary”
Lớp cửa sổ (WNDCLASS) được đăng ký (RegisterClass) vào hệ thống có tác dụng như thế nào?
A. Không cần đăng ký lớp cửa sổ
B. Quy định các hoạt động trên cửa sổ
C. Quy định màu sắc, kiểu chữ của cửa sổ
D. Quy định các đặc điểm cửa sổ và hàm xử lý thông điệp trên nó
E. Quy định cấu tạo cửa sổ
Chương trình được viết bằng ngôn ngữ Assembly (hợp ngữ) có ưu điểm gì?
A. Tiết kiệm vùng nhớ
B. Dễ tìm sai
C. Dễ viết
D. Chạy nhanh, tiết kiệm vùng nhớ và dễ dàng thâm nhập vào phần cứng của máy tính
E. Chạy nhanh
Khi viết một chương trình hợp ngữ sử dụng directive điều khiển segment dạng chuẩn và có khai báo biến thì người lập trình có phải đưa phần địa chỉ segment của dữ liệu vào thanh ghi DS ?
A. Tùy tình huống
B. Không, hệ điều hành sẽ tự đưa
C. Có và nhờ 2 lệnh sau :
mov reg16,@data mov DS,reg16
D. Có và nhờ 2 lệnh sau :
mov reg16,data
mov DS,reg16
Khi liên kết ngôn ngữ bậc cao với hợp ngữ theo cách viết riêng biệt tệp ngôn ngữ bậc cao và tệp của hợp ngữ thì trong module hợp ngữ phải sử dụng directive nào để xin phép dùng một nhãn mà ngôn ngữ bậc cao đã xác lập và cho phép ?
A. Directive PUBLIC
B. Không cần directive nào cả
C. Directive EXTRN
Với các thiết bị ngoại vi thì ngắt BIOS và DOS được tổ chức thế nào?
A. Ngắt BIOS xác lập từng ngắt cho từng thiết bị ngoại vi. Song với ngắt DOS, việc điều khiển các thiết bị ngoại vi đều hầu hết thông qua các chức năng của ngắt int 21h (DOS functions)
B. Chỉ có ngắt của BIOS mới có các chức năng điều khiển các thiết bị ngoại vi.
C. Chỉ có ngắt của DOS mới có các chức năng điều khiển các thiết bị ngoại vi.
Viết chương trình ngôn ngữ Assembly (hợp ngữ) để sau khi dịch và liên kết được tệp thực hiện đuôi .EXE hoặc đuôi .COM thì tệp thực hiện nào tiết kiệm vùng nhớ hơn?
A. Tệp có đuôi .EXE sẽ tiết kiệm vùng nhớ hơn
B. Viết chương trình với dạng sao cho được tệp thực hiện .COM sẽ tiết kiệm vùng nhớ hơn
C. Như nhau
Các vấn đề gì cần lưu ý khi liên kết theo cách viết tách biệt ngôn ngữ bậc cao (thường thể hiện chương trình chính) và hợp ngữ (thường thể hiện hàm)?
A. Cần lưu ý đến 3 vấn đề:
1.Vấn đề đa tệp: Các nhãn dùng chung (cả hai tệp đều dùng) phải hiểu nhau thông qua khai báo PUBLIC, EXTRN (với hợp ngữ) và extern với C/C++),
2.Vấn đê thêm dấu _ trước tên hàm Assembly (khi liên kết với C) và thêm @tên hàm$qx (khi liên kết với C++), trong đó x sẽ là:
- v nếu hàm không đôi,
- i nếu hàm có đối và tham số thực là tham trị,
- pi/ni là hàm có đối con trỏ near/far và tham số thực là tham biến.
3.Vấn đề tên hàm viết bằng Assembly mang giá trị trả về.
B. Chỉ lưu ý đến vấn đề đa tệp
C. Không cần lưu ý gì
D. .
E. Chỉ cần lưu ý đến tên hàm Assembly mang giá trị trả về
Hàm API để hiển thị thông báo trên màn hình có tên là?
A. MessageScreen
B. Alert
C. Toast
D. MessageBox
E. MsgBox
Thông điệp được phát sinh và đưa vào chương trình khi nào?
A. Người dùng tương tác trên giao diện hoặc hệ thống tự phát sinh khi cần
B. Người dùng tác động lên giao diện chương trình
C. Hệ thống tự phát sinh vào những thời điểm cần thiết
D. Hệ thống tự phát sinh tùy ý
E. Thông điệp không bao giờ được gửi đến chương trình
Chương trình đa tệp thuần túy hợp ngữ thì với nhãn là tên các biến nhớ thì việc khai báo PUBLIC các nhãn dùng chung đó được tiến hành ở đâu ?
A. Ở module nào cũng được
B. Chỉ ở module của chương trình chính
C. Chỉ ở module chương trình con
Một chương trình dạng .COM, nếu có khai báo biến thì biến sẽ được cấp phát ô nhớ của vùng nhớ dành cho phân đoạn (seggment) nào?
A. Phân đoạn vùng nhớ dành cho dữ liêu (data segment)
B. Phân đoạn vùng nhớ dành cho mã máy của CT (code segment)
C. Phân đoạn vùng nhớ dành cho ngăn xếp (stack segment)
Giả thiết có 1 đoạn chương trình như sau :
.DATA
A DW 100 dup(?)
.CODE
PS:
LEA BX,A
Vậy nội dung thanh ghi BX chứa gì ?
A. Phần địa chỉ OFFSET của A[99] (địa chỉ thành phần cuối cùng của trường)
B. Phần địa chỉ OFFSET của A[0] (địa chỉ thành phần đầu tiên của trường)
C. Giá trị A[0]
MACRO của hợp ngữ có cho phép có đối hay không? Có phải bắt buộc có đối không?
A. Bắt buộc phải có đối
B. Không có đối
C. Có thể có đối hoặc không có đối
Cách dịch và liên kết của cách liên kết Inline Assembly?
A. Chương trình dịch của ngôn ngữ Assembly sẽ đảm nhiệm hết
B. Chương trình dịch của TC sẽ đảm nhiệm hết.
C. Tùy tình huống
D. Quá trình dịch sẽ như sau:
- Chương trình dịch của TC sẽ dịch tệp nguôn (đuôi .c hoặc .cpp) sang tệp có đuôi .asm,
- Chương trình dịch TASM dịch tệp có đuôi .asm sang tệp đuôi .obj,
-TLINK sẽ thực hiện việc liên kết để tạo ra tệp .exe.