ROM BIOS là gì, chứa thông tin gì ?
A. Là vùng nhớ chứa hệ điều hành
B. Là vùng nhớ dạng ROM chứa một số thông tin về máy tính đang dùng và quan trọng hơn cả là chứa mã máy của hai loại chương trình: mã máy các chương trình kiểm tra khi máy tính khởi động và mã máy của các chương trình con phục vụ ngắt BIOS.
C. Là vùng nhớ ROM chứa thông tin về phần cứng máy tính đang dùng.
Vùng nhớ ngăn xếp có vai trò gì liên quan đến hàm?
A. Không có vai trò gì.
B. Vùng nhớ ngăn xếp có vai trò rất quan trọng. Có thể nói không có ngăn xếp thì không có hàm. Hàm cần ngăn xếp để:
Sử dụng cho lệnh push và pop trong thân hàm hợp ngữ,
Khi gọi hàm, tham số thực sẽ đưa vào ngăn xếp.
Chứa địa chỉ lệnh tiếp theo (địa chỉ lệnh đứng ngay sau lệnh gọi hàm).
C. Chỉ để sử dụng cho lệnh push và pop của ngôn ngữ Assembly.
D. Chỉ sử dụng để chứa giá trị của tham số thực
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ì với các nhãn dùng chung (ngôn ngữ bậc cao và hợp ngữ đều dùng) ngôn ngữ bậc cao có cần khai báo tường minh PUBLIC để cho phép hợp ngữ dùng các nhãn đó ?
A. Không cần vì bất kỳ một khai báo nào của n/n bậc cao đều cho phép các module khác dùng
B. Tùy tình huống
C. Cần
Tham trị và tham biến khi gọi hàm có đối có gì khác nhau?
A. Giá trị của tham số thực dạng là tham trị và tham biến sẽ đưa vào ngăn xếp
B. Không có gì khác nhau
C. Khi tham số thực của hàm là tham trị thì giá sẽ được đưa vào ngăn xếp, còn tham số thực là tham biến thì địa chỉ của tham số thực sẽ được đưa vào ngăn xếp
Khi liên kết ngôn ngữ C/C++ với hợp ngữ theo cách viết riêng biệt tệp ngôn ngữ C/C++ và tệp của hợp ngữ thì trong module hợp ngữ có phải thêm dấu gì trước các biến dùng chung với C/C++ ?.
A. Không cần thêm gì
B. Thêm dấu $
C. Thêm dấu _ (dấu underscore) trước tên biến và thêm ở mọi nơi mà biến đó xuất hiện trong module hợp ngữ
Người lập trình ngôn ngữ Assembly (hợp ngữ) hay dùng lệnh AND với mục đích gì?
A. Để:
Tách bit: Muốn tách bit nào đó (giữ trạng thái bit đó) của 1 toán hạng thì hãy AND bit đó với 1 và các bit khác với 0.
Dựng cờ: Thực hiện lệnh AND toán hạng với chính nó sẽ dựng các cờ cho biết trạng thái giá trị của toán hạng đó và trên cơ sở các cờ đó thực hiện các lệnh nhảy có điều kiện.
B. Để thay đổi giá trị của toán hạng
C. Để đưa giá trị của toán hạng lên 1
D. Xóa trạng thái các bit cờ
E. Để đưa giá trị một toán hạng về 0
Một toán hạng đứng sau các lệnh của ngôn ngữ Assembly (hợp ngữ) có thể là gì?
A. Chỉ có thể là một thanh ghi
B. Có thể là một thanh ghi, biến nhớ, hằng số, biểu thức hoặc một nhãn (tên CT con, nhãn nhảy)
C. Chỉ có thể là một hằng số
D. Chỉ có thể là một nhãn
E. Chỉ có thể là một biến nhớ
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ì các nhãn dùng chung (ngôn ngữ bậc cao và hợp ngữ đều dùng). Vậy nhãn ở đây là gì ?
A. Tên nhãn nhảy
B. Tên biến nhớ
C. Tên biến nhớ, tên chương trình con và tên ký hiệu thay cho 1 hằng số
D. Tên ký hiệu (symbol) thay cho 1 hằng số
E. Tên chương trình con
Có thể dùng chung các thanh ghi làm toán hạng trong các lệnh của thân chương trình chính và chương trình con được không?
A. Tùy tình huống
B. Được, song phải bảo vệ giá trị các thanh ghi trong chương trình con trước khi sử dụng và hồi phục lại giá trị các thanh ghi trước khi quay về chương trình chính.
C. Không được
D. Được, mà không cần quan tâm đến điều gì cả
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 EXTRN các nhãn dùng chung đó được tiến hành ở đâu ?
A. Chỉ ở module của chương trình chính
B. Ở module nào cũng được
C. Chỉ ở module chương trình con
Vai trò của directive GLOBAL của chương trình dich Turbo Assembler của hãng Borland?
A. Chỉ thay cho directive PUBLIC
B. Tùy cách sử dụng, directive GLOBAL có thể thay cho directive PUBLIC hay EXTRN. Nếu GLOBAL cho các nhãn đã được xác lập thì vai trò của nó là PUBLIC, còn nếu các nhãn đứng sau GLOBAL chỉ xác định kiểu nhãn thì vai trò GLOBAL là EXTRN
C. Chỉ thay cho directive EXTRN
Những vấn đề gì cần lưu ý khi 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 .COM
A. Cần lưu ý khi liên kết
B. Cần lưu ý:
1.Chương trình chỉ có 1 phân đoạn mã máy,
2.Khai báo biến trong vùng nhớ mã máy,
3.Sử dụng directive ORG,
4.Tốt nhất là trở về DOS bằng ngắt int 20h
5. Khi liên kết sử dụng tùy chon t, cụ thể là:
tlink/t têntệp
C. Cần lưu ý khi khai báo biến
D. Không cần lưu ý gì. Viết như để tệp thực hiện có đuôi .EXE
Các lệnh điều khiển khi dịch chương trình (directive) có sinh ra mã máy để chạy chương trình hay không?
A. Không sinh ra mã máy để chạy chương trình mà chỉ hỗ trợ cho chương trình dịch
B. Tùy tình huống
C. Có sinh ra mã máy để chạy chương trình
Con trỏ (cursor) có ở chế độ (mode) nào của màn hình ?
A. Văn bản
B. Đồ họa
C. Cả văn bản và đồ họa
Tính giá trị an bằng cách liên kết ngôn ngữ C/C++ với hợp ngữ theo cách viết tách biệt tệp C/C++ và tệp Assembly theo sự phân công sau:
Module C/C++ thực hiện các nhiệm vụ sau:
Nhận a, n từ bàn phím
Gọi chương tình con tính an do module hợp ngữ viết
Hiện kết quả
Module Assembly thực hiện nhiệm vụ sau: viết chương trình con tính an
Với giả thiết hàm do Assembly viết có 2 không đối (a, n sẽ là tham số thực của hàm) thì trong module C/C++ a, n phải khai báo ở đâu?
A. Khai báo ở đâu cũng được
B. Khai báo biến toàn cục (biến ngoài)
C. Khai báo cục bộ trong main()
Một chương trình dạng .COM có bắt buộc sử dụng directive ORG 100h không?
A. Bắt buộc phải có
B. Tùy tình huống
C. Không cần
Lệnh: LEA BX,m (trong đó m là một biến) có ý nghĩa gì?
A. Đưa phần địa chỉ segment ô nhớ cấp phát cho biến m vào thanh ghi BX
B. Đưa phần địa chỉ offset ô nhớ được cấp phát cho biến m vào thanh ghi BX. Giá trị trong BX là con trỏ offset của ô nhớ cấp pháp cho biến
C. Xóa trạng thái các bit cờ
D. Đưa giá trị biến m vào thanh ghi BX
Sau lệnh nhân MUL,/IMUL và lệnh chia DIV, IDIV có mấy toán hạng xuất hiện. Toán hạng ẩn nằm ở đâu?
A. Tùy tình huống
B. Có 2 toán hạng
C. Không có toán hạng nào
D. Chỉ có một toán hạng xuất hiện. Tùy thuộc vào kích cỡ của toán hạng xuất hiện sẽ suy ra toán hạng thứ 2 (ẩn) nằm ở đâu.
Với phép nhân nếu toán hạng xuất hiện là:
- 8 bit thì toán hạng nhân thứ 2 (ẩn) nằm ở AL,
- 16 bit thì toán hạng thứ 2 (ẩn) nằm ở AX.
Với phép chia, nếu toán hạng xuất hiện (só chia) là:
- 8 bit thì toán hạng ẩn (số bị chia) nằm ở AX
- bit thì toán hạng ẩn (số bị chia) nằm ở DX:AX
Độ lớn của bảng vectơ ngắt và vị trí của bảng vectơ ngắt?
A. 128 byte và nằm ở đầu vùng nhớ
B. 1024 byte và nằm ở đầu vùng nhớ
C. 512 byte và nằm ở cuối vùng nhớ
D. 256 byte và nằm ở cuối vùng nhớ
Trong các chức năng liên quan đến thư mục (tạo, xóa, chuyển) và tệp (tạo, mở, xóa ...) thì xâu ký tự chứa tên thư mục hoặc tệp phải kết thúc bằng gì?
A. Bằng \0
B. Bằng ký tự ‘0’
C. Bằng Enter (0dh)
D. Bằng dấu ‘$’