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 đ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.
Một chương trình chính của ngôn ngữ Assembly phải kết thúc như thế nào?
A. Bình thường như các ngôn ngữ khác.
B. Không phải làm gì cả.
C. Kết thúc phải trở về DOS với:
Chương trình dạng .EXE là:
mov ah,4ch
int 21h
Chương trình dạng .COM là:
int 20h
Cách liên kết Inline Assembly có ưu, nhược gì?
A. Ưu: Dễ viết.
Nhược:
Không cho phép có nhãn nhảy trong khối lệnh chèn vào C/C++. Suy ra khối lệnh Assembly yếu,
Các lệnh Assembly “dịch nhờ” chương trình dịch của C/C++ do vậy đôi lúc sinh ra sai sót khi dịch.
B. Dễ viết song chương trình chạy chậm
C. Chạy nhanh song khó viết
Người lập trình ứng dụng của ngôn ngữ Assembly (hợp ngữ) có thể dùng các thanh ghi nào làm con trỏ offset (thanh ghi chứa phần địa chỉ offset) của một ô nhớ?
A. Chỉ có thể dùng các thanh ghi sau: BX, SI, DI và BP
B. Chỉ dùng thanh ghi DX
C. Các thanh ghi segment
D. Tất cả các thanh ghi
Có mấy cách chuyển giao tham số giữa chương trình chính (thường do C/C++ đảm nhiệm) với chương trình con (thường do Assembly đảm nhiệm)?
A. Chỉ thông qua ngăn xếp
B. Chỉ thông qua biến nhớ
C. Có thể chuyển giao tham số theo 2 cách:
Cách 1: Thông qua khai báo biến toàn cục và sử dụng directive PUBLIC và EXTRN (với hợp ngữ) và extern (với C/C++),
Cách 2: Thông qua ngăn xếp khi ngôn ngữ C/C++ giả thiết hàm do Assembly có đối và khi gọi chương trình con, ngôn ngữ C/C++ đưa tham số thực vào ngăn xếp và hàm Assembly sẽ vào ngăn xếp lấy các giá trị đó ra mà dùng.
D. Chuyển giao qua thanh ghi