De ASM
DE SO 1
Câu 1:
Hãy viết chương trình thuần túy Assembly tìm số lượng các thành phần có giá trị chẵn và lẻ của một dãy số nguyên.
Khi chương trình chạy ví dụ có dạng sau :
Hay vao so luong thanh phan cua day : 4
a[0]= 120
a[1]= -30
a[2]= 311
a[3]= 21
So luong cac thanh phan chan cua day so nguyen la : 2
So luong cac thanh phan le cua day so nguyen la : 2
Co tiep tuc CT (c/k) ? _
Chú ý : Phải viết chương trình theo cả 2 cách :
Cách 1 : Thuần túy Assembly với yêu cầu sau :
· Số lượng thành phần của dãy số vào từ bàn phím,
· Vào các số nguyên và đưa vào một mảng,
· Tìm số lượng các thành phần có giá trị chẵn và lẻ của dãy số nguyên và hiện ra màn hình.
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Cách 2 : Liên kết giữa ngôn ngữ bậc cao (C hoặc C++) với Assembly theo yêu cầu sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận số lượng thành phần của dãy số,
- Nhận các số nguyên và đặt vào trong mảng,
- Gọi chương trình con tìm số lượng các thành phần có giá trị chẵn hoặc lẻ của dãy số nguyên do Assembly viết
- Hiện kết quả số lượng thành phần chẵn và lẻ của dãy số nguyên ra màn hình
· Module của ngôn ngữ Assembly viết chương trình con tìm số lượng các thành phần có giá trị chẵn hoặc lẻ của dãy số nguyên
Câu 2 :
Hãy nêu khái niệm về ngắt và các bước cần thiết để xác lập 1 ngắt.
DE SO 2
Câu 1:
Hãy viết chương trình thuần túy Assembly tìm giá trị lớn nhất của một dãy số nguyên.
Khi chương trình chạy ví dụ có dạng sau :
Hay vao so luong thanh phan cua day : 4
a[0]= 120
a[1]= -30
a[2]= 311
a[3]= 21
Gia tri lon nhat cua day so nguyen la : 311
Co tiep tuc CT (c/k) ? _
Chú ý : Phải viết chương trình theo cả 2 cách :
Cách 1 : Thuần túy Assembly với yêu cầu sau :
· Số lượng thành phần của dãy số vào từ bàn phím,
· Vào các số nguyên và đưa vào một mảng,
· Tìm giá trị lớn nhất của dãy số nguyên và hiện ra màn hình.
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Cách 2 : Liên kết giữa ngôn ngữ bậc cao (C hoặc C++) với Assembly theo yêu cầu sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận số lượng thành phần của dãy số,
- Nhận các số nguyên và đặt vào trong mảng,
- Gọi chương trình con tìm giá trị lớn nhất của dãy số nguyên do Assembly viết
- Hiện kết quả giá trị lớn nhất của dãy số nguyên ra màn hình
· Module của Assembly viết chương trình con tìm giá trị lớn nhất của dãy số nguyên.
Câu 2 :
Byte có địa chỉ 0h:[411h] của vùng dữ liệu ROM BIOS chứa một số thông tin của máy tính. Hãy viết chương trình thuần túy bằng Assembly cho biết máy tính đang dùng có cổng COM nào hay không và nếu có thì bao nhiêu cổng và cho biết địa chỉ các cổng COM đó (địa chỉ phải là dạng HEXA) khi biết rằng 2 byte có địa chỉ 0:400h và 0:401h chứa địa chỉ COM1.
Khi chương trình chạy ví dụ có dạng :
So luong cong COM la : 2
Dia chi cac cong COM la : 3F8 2F8
Chú ý : Giả thiết cho trước LIB1.ASM và LIB3.ASM (LIB3.ASM chứa chương trình con hiện giá trị có trong AX ra màn hình dạng HEXA). Nội dung byte dữ liệu ROM BIOS có địa chỉ 0h:[411h] như sau :
x
x
x
DE SO 3
Câu 1:
Hãy viết chương trình thuấn túy Assembly tính giá trị của biểu thức sau ( 0£ n £7) với độ chính xác 2 chữ số sau dấu thập phân.
Khi chương trình chạy yêu cầu có dạng sau :
Hay vao n : 6
Giai thua cua 6 la : 720
Gia tri bieu thuc la : 102.85
Co tiep tuc CT (c/k) ? _
Yêu cầu :
· n vào từ bàn phím,
· Tính và hiện giá trị của n! ,
· Tính và hiện biểu thức ,
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Câu 2:
Hãy viết chương trình bằng cách liên kết ngôn ngữ bậc cao (C hoặc C++) với Assembly tìm giá trị bé nhất của dãy số nguyên theo sự phân công như sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận số lượng thành phần của dãy số,
- Nhận các số nguyên và đặt vào trong mảng,
- Hiện dãy số vừa vào ra màn hình,
- Gọi chương trình con tìm giá trị bé nhất của dãy số nguyên do Assembly viết
- Hiện kết quả giá trị bé nhất của dãy số nguyên ra màn hình
· Module của Assembly viết chương trình con tìm giá trị bé nhất của dãy số nguyên.
Câu 3 :
Hãy nêu khái niệm về ngắt và cơ chế khi 1 ngắt bị kích hoạt và so sánh cơ chế này với việc gọi chương trình con.
DE SO 4
Câu 1:
Hãy viết chương trình thuấn túy Assembly tính giá trị của biểu thức sau với độ chính xác 3 chữ số sau dấu thập phân.
Khi chương trình chạy yêu cầu có dạng sau :
Hay vao a : -4
Hay vao n : 3
-4 luy thua 3 la : -64
Giai thua cua bieu thuc la : -21.333
Co tiep tuc CT (c/k) ? _
Yêu cầu :
· a, n vào từ bàn phím,
· Tính và hiện giá trị an,
· Tính và hiện giá trị của biểu thức ,
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Câu 2:
Hãy viết chương trình bằng cách liên kết ngôn ngữ bậc cao (C hoặc C++) với Assembly tính tổng các thành phần âm của dãy số nguyên theo sự phân công như sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận số lượng thành phần của dãy số,
- Nhận các số nguyên và đặt vào trong mảng,
- Hiện dãy số vừa vào ra màn hình,
- Gọi chương trình con tính tổng các thành phần âm của dãy số nguyên do Assembly viết
- Hiện kết quả giá trị tổng các thành phần âm của dãy số nguyên ra màn hình.
· Module của Assembly viết chương trình con tính tổng các thành phần âm của dãy số nguyên.
Câu 3 :
Byte có địa chỉ 0h:[410h] của vùng dữ liệu ROM BIOS chứa một số thông tin của máy tính. Hãy viết chương trình thuần túy bằng Assembly cho biết máy tính đang dùng có FPU hay không và có loại card điều khiển màn hình loại gì (mono hay color) ?
Khi chương trình chạy ví dụ có dạng :
MT co FPU hay khong : co
Loai card dieu khien man hinh la : color
Chú ý : Giả thiết cho trước LIB1.ASM. Nội dung byte dữ liệu ROM BIOS có địa chỉ 0h :[410h] như sau :
x
x
x
1 1... mono
¹1 1... color
1... Có FPU
0... Không có FPU
DE SO 5
Câu 1:
Hãy viết chương trình thuấn túy Assembly tính giá trị của biểu thức sau (N là số nguyên dương) với độ chính xác 2 chữ số sau dấu thập phân.
Khi chương trình chạy yêu cầu có dạng sau :
Hay vao N : 5
Tong tu –1 den –5 la : -15
Gia tri bieu thuc la : -3.75
Co tiep tuc CT (c/k) ? _
Yêu cầu :
· N vào từ bàn phím,
· Tính tổng và hiện lên màn hình ,
· Tính và hiện giá trị của biểu thức ,
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Câu 2:
Hãy viết chương trình bằng cách liên kết ngôn ngữ bậc cao (C hoặc C++) với Assembly tính tổng các thành phần dương của dãy số nguyên theo sự phân công như sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận số lượng thành phần của dãy số,
- Nhận các số nguyên và đặt vào trong mảng,
- Gọi chương trình con tính tổng các thành phần dương của dãy số nguyên do Assembly viết
- Hiện kết quả giá trị tổng các thành phần dương của dãy số nguyên ra màn hình.
· Module của Assembly viết chương trình con tính tổng các thành phần dương của dãy số nguyên.
Câu 3 :
Byte có địa chỉ 0h:[411h] của vùng dữ liệu ROM BIOS chứa một số thông tin của máy tính. Hãy viết chương trình thuần túy bằng Assembly cho biết máy tính đang dùng có DMA hay không và có cổng LPT nào hay không và nếu có thì máy cổng ?
Khi chương trình chạy ví dụ có dạng :
MT co DMA hay khong : Co
So luong cong LPT : 3
Chú ý : Giả thiết cho trước LIB1.ASM. Nội dung byte dữ liệu ROM BIOS có địa chỉ 0h :[411h] như sau :
x
x
x
Số lượng cổng LPT
1... Có DMA
0... Không có DMA
DE SO 6
Câu 1:
Hãy viết chương trình thuấn túy Assembly tính giá trị của biểu thức sau (ai là các thành phần của dãy số nguyên) với độ chính xác 2 chữ số sau dấu thập phân.
Khi chương trình chạy yêu cầu có dạng sau :
Hay vao so luong thanh phan : 3
a[0]=25
a[1]=-3
a[2]=-2
Tong day la : 20
Gia tri bieu thuc la : 6.66
Co tiep tuc CT (c/k) ? _
Yêu cầu :
· Số lương thành phần vào từ bàn phím,
· Vào các số thành phần của dãy số và cất vào 1 mảng,
· Tính tổng dãy số và hiện lên màn hình ,
· Tính và hiện giá trị của biểu thức
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Câu 2:
Hãy viết chương trình bằng cách liên kết ngôn ngữ bậc cao (C hoặc C++) với Assembly tính tổng một cấp số cộng theo sự phân công như sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận n (số lượng thành phần), d (công sai) và u1 (giá trị đầu của cấp số cộng),
- Gọi chương trình con tính tổng các thành phần cấp số cộng do Assembly viết
- Hiện kết quả tổng cấp số cộng ra màn hình.
· Module của Assembly viết chương trình con tính tổng cấp số cộng.
Câu 3:
Hãy nêu các khái niệm về ngắt (ngắt là gì, ngắt cứng, ngắt mềm, ngắt BIOS, ngắt DOS) và vùngdữ liệu ROM BIOS (vùng dữ liệu ROM BIOS là gì, độ lớn, vị trí) ?
DE SO 7
Câu 1:
Hãy viết chương trình thuấn túy Assembly tính giá trị của biểu thức sau (N là số nguyên dương) với độ chính xác 3 chữ số sau dấu thập phân.
Khi chương trình chạy yêu cầu có dạng sau :
Hay vao N : 5
Tong tu 1 den 5 la : 15
Gia tri bieu thuc la : 2.142
Co tiep tuc CT (c/k) ? _
Yêu cầu :
· N vào từ bàn phím,
· Tính tổng và hiện lên màn hình ,
· Tính và hiện giá trị của biểu thức ,
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Câu 2:
Hãy viết chương trình bằng cách liên kết ngôn ngữ bậc cao (C hoặc C++) với Assembly tính tổng các thành phần chẵn của dãy số nguyên theo sự phân công như sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận số lượng thành phần của dãy số,
- Nhận các số nguyên và đặt vào trong mảng,
- Gọi chương trình con tính tổng các thành phần chẵn của dãy số nguyên do Assembly viết
- Hiện kết quả giá trị tổng các thành phần chẵn của dãy số nguyên ra màn hình.
· Module của Assembly viết chương trình con tính tổng các thành phần chẵn của dãy số nguyên.
Câu 3 :
Byte có địa chỉ 0h:[411h] của vùng dữ liệu ROM BIOS chứa một số thông tin của máy tính. Hãy viết chương trình thuần túy bằng Assembly cho biết máy tính đang dùng có cổng máy in nối tiếp hay không và có cổng LPT nào hay không và nếu có thì máy cổng ?
Khi chương trình chạy ví dụ có dạng :
Cong may in noi tiep : Co
So luong cong LPT : 3
Chú ý : Giả thiết cho trước LIB1.ASM. Nội dung byte dữ liệu ROM BIOS có địa chỉ 0h :[411h] như sau :
x
x
x
Số lượng cổng LPT
1... Có cổng máy in nối tiếp
0... Không có cổng máy in nối tiếp
DE SO 8
Câu 1:
Hãy viết chương trình thuần túy Assembly tìm số lượng các thành phần có giá trị âm và số lượng có thành phần dương của một dãy số nguyên.
Khi chương trình chạy ví dụ có dạng sau :
Hay vao so luong thanh phan cua day : 4
a[0]= 120
a[1]= -30
a[2]= 311
a[3]= 21
So luong cac thanh phan am cua day so nguyen la : 1
So luong cac thanh phan duong cua day so nguyen la : 3
Co tiep tuc CT (c/k) ? _
Chú ý : Phải viết chương trình theo cả 2 cách :
Cách 1 : Thuần túy Assembly với yêu cầu sau :
· Số lượng thành phần của dãy số vào từ bàn phím,
· Vào các số nguyên và đưa vào một mảng,
· Tìm số lượng các thành phần có giá trị âm và dương của dãy số nguyên và hiện ra màn hình.
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Cách 2 : Liên kết giữa ngôn ngữ bậc cao (C hoặc C++) với Assembly theo yêu cầu sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận số lượng thành phần của dãy số,
- Nhận các số nguyên và đặt vào trong mảng,
- Gọi chương trình con tìm số lượng các thành phần có giá trị âm hoặc dương của dãy số nguyên do Assembly viết
- Hiện kết quả số lượng thành phần âm và dương của dãy số nguyên ra màn hình
· Module của ngôn ngữ Assembly viết chương trình con tìm số lượng các thành phần có giá trị âm hoặc dương của dãy số nguyên
Câu 2 :
Byte có địa chỉ 0h:[410h] của vùng dữ liệu ROM BIOS chứa một số thông tin của máy tính. Hãy viết chương cho biết máy tính đang dùng có ổ mềm nào hay không và nếu có thì bao nhiêu ổ và có FPU hay không ?
Khi chương trình chạy ví dụ có dạng :
So luong o mem la :1
FPU : co
Chú ý : Cho trước LIB1.ASM. Nội dung byte dữ liệu ROM BIOS có địa chỉ 0h :[410h] như sau:
x
x
x
1...có ổ mềm; 0...không có ổ mềm
x
số lượng ổ mềm-1
1...có FPU ; 0... không có FPU
DE SO 9
Câu 1:
Hãy viết chương trình thuấn túy Assembly tính giá trị của biểu thức sau (ai là các thành phần của cấp số cộng) với độ chính xác 2 chữ số sau dấu thập phân khi biết n (số lượng thành phần), d (công sai) và u1 (giá trị thành phần đầu tiên).
Khi chương trình chạy yêu cầu ví dụ có dạng sau :
Hay vao n : 3
Hay vao d : 2
Hay vào u1: 1
Tong cap so cong la : 9
Gia tri bieu thuc la : 2.25
Co tiep tuc CT (c/k) ? _
Yêu cầu :
· Vào từ bàn phím các giá trị n,d, u1,
· Tính tổng các thành phần của cấp số cộng và hiện lên màn hình ,
· Tính và hiện giá trị của biểu thức
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Câu 2:
Hãy viết chương trình bằng cách liên kết ngôn ngữ bậc cao (C hoặc C++) với Assembly tính an (với a là số nguyên và n là số nguyên dương) theo sự phân công như sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận a, n,
- Gọi chương trình con tính an do Assembly viết và hiện kết quả lên màn hình.
· Module của Assembly viết chương trình con tính an.
Câu 3 :
Byte có địa chỉ 0h:[411h] của vùng dữ liệu ROM BIOS chứa một số thông tin của máy tính. Hãy viết chương trình thuần túy bằng Assembly cho biết máy tính đang dùng có DMA và joystick hay không?
Khi chương trình chạy ví dụ có dạng :
Co DMA hay khong : Co
Co joystick hay khong : Khong co
Chú ý : Giả thiết cho trước LIB1.ASM. Nội dung byte dữ liệu ROM BIOS có địa chỉ 0h :[411h] như sau :
x
x
1... Có joystick
0... Không có joystick
1... Có DMA
0... Không có DMA
DE SO 1O
Câu 1:
Hãy viết chương trình thuấn túy Assembly tính giá trị của biểu thức sau (ai là các thành phần của cấp số nhân) với độ chính xác 2 chữ số sau dấu thập phân khi biết n (số lượng thành phần), q (công bội) và u1 (giá trị thành phần đầu tiên).
Khi chương trình chạy yêu cầu ví dụ có dạng sau :
Hay vao n : 4
Hay vao q : 2
Hay vào u1: 1
Tong cap so nhan la : 15
Gia tri bieu thuc la : 3.75
Co tiep tuc CT (c/k) ? _
Yêu cầu :
· Vào từ bàn phím các giá trị n, q, u1,
· Tính tổng các thành phần của cấp số nhân và hiện lên màn hình ,
· Tính và hiện giá trị của biểu thức
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Câu 2:
Hãy viết chương trình bằng cách liên kết ngôn ngữ bậc cao (C hoặc C++) với Assembly tìm số lớn trong 2 số nguyên theo sự phân công như sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận 2 số nguyên,
- Gọi chương trình con tìm số lớn do Assembly viết
- Hiện số lớn lên màn hình.
· Module của Assembly viết chương trình con tìm số lớn trong 2 số.
Câu 3 :
Hãy nêu các khái niệm về ngắt và cho biết cơ chế khi 1 ngắt bị kích hoạt và so sánh với cơ chế khi 1 chương trình con được gọi.
DE SO 11
Câu 1:
Hãy viết chương trình thuấn túy Assembly tính biểu thức an (a là số nguyên và n là số nguyên dương)
Khi chương trình chạy yêu cầu ví dụ có dạng sau :
Hay vao a : -4
Hay vao n : 3
-4 luy thua 3 la : -64
Co tiep tuc CT (c/k) ? _
Yêu cầu :
· Vào từ bàn phím các giá trị a, n,
· Tính giá trị của biểu thức an và hiện lên màn hình ,
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Câu 2:
Hãy viết chương trình bằng cách liên kết ngôn ngữ bậc cao (C hoặc C++) với Assembly tính tổng 1 cấp số nhân khi biết n (số lượng thành phần), q (công bội) và u1 (giá trị thành phần đầu tiên) theo sự phân công như sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận n, q, u1,
- Gọi chương trình con tính tổng cấp số nhân do Assembly viết
- Hiện tổng cấp số nhân lên màn hình.
· Module của Assembly viết chương trình con tính tổng cấp số nhân.
Câu 3 :
Byte có địa chỉ 0h:[410h] và byte có địa chỉ 0:[411h]của vùng dữ liệu ROM BIOS chứa một số thông tin của máy tính. Hãy viết chương trình thuần túy bằng Assembly cho biết máy tính đang dùng có FPU hay không và có cổng LPT nào hay không và nếu có thì mấy cổng ?
Khi chương trình chạy ví dụ có dạng :
May tinh co FPU hay khong : Co
So luong cong LPT : 3
Chú ý : Giả thiết cho trước LIB1.ASM.
Nội dung byte dữ liệu ROM BIOS có địa chỉ 0h :[410h] như sau :
x
1... Có FPU
0... Không có FPU
và byte dữ liệu ROM BIOS có địa chỉ 0:[411h] như sau :
x
x
Số lượng cổng LPT
DE SO 12
Câu 1:
Hãy viết chương trình tính trung bình cộng của 3 số nguyên với độ chính xác 2 số sau dấu thập phân bằng cả 2 cách :
Cách 1 :
Thuần túy Assembly với yêu cầu :
· Vào 3 số nguyên từ bàn phím,
· Tính tổng 3 số cũng như trung bình cộng 3 số và hiện lên màn hình
Khi chương trình chạy yêu cầu ví dụ có dạng sau :
Hay vao số thứ 1 : -130
Hay vao so thu 2 : 100
Hay vao so thu 3 : 10
Tong 3 so la : -20
Trung binh cong 3 so la : -6.66
Co tiep tuc CT (c/k) ? _
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Cách 2 :
Liên kết ngôn ngữ bậc cao (C hoặc C++) với Assembly theo sự phân công như sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận giá trị 3 số nguyên,
- Gọi chương trình con tính tổng 3 số nguyên do Assembly viết
- Hiện giá trị tổng và trung bình cộng 3 số nguyên lên màn hình.
· Module của Assembly viết chương trình con tính tổng 3 số nguyên.
Câu 2 :
Hãy nêu khái niệm về ngắt, bảng vectơ ngắt (bảng vectơ ngắt là gì, độ lớn, vị trí) và phân loại ngắt.
DE SO 13
Câu 1:
Hãy viết chương trình tìm số lượng các thành phần của 1 dãy số nguyên có giá trị < 100 bằng cả 2 cách :
Cách 1 : Thuần túy Assembly với yêu cầu :
· Vào số lượng thành phần của dãy,
· Vào các số nguyên và đưa vào một mảng,
· Tính số lượng các thành phần có giá trị <100 và hiện lên màn hình.
Khi chương trình chạy yêu cầu ví dụ có dạng sau :
Vao so luong thanh phan : 4
a[0]=120
a[1]=-20
a[2]= 98
a[3]=115
So luong thanh phan cua day < 100 la : 2
Co tiep tuc CT (c/k) ? _
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Cách 2 : Liên kết ngôn ngữ bậc cao (C hoặc C++) với Assembly theo sự phân công như sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận số lượng thành phần,
- Nhận các số của dãy số và đưa vào 1 mảng,
- Gọi chương trình con tính số lượng thành phần của dãy số <100 do Assembly viết
- Hiện kết quả lên màn hình.
· Module của Assembly viết chương trình con tính số lượng thành phần của dãy số < 100
Câu 2 :
Hãy nêu các khái niệm về ngắt, ngắt cứng, ngắt mềm, ngắt BIOS, ngắt DOS và bảng vectơ ngắt (bảng vectơ ngắt là gì, độ lớn, vị trí) ?
DE SO 14
Câu 1:
Hãy viết chương trình tính tổng các giá trị > 100 của 1 dãy số nguyên bằng cả 2 cách :
Cách 1 :
Thuần túy Assembly với yêu cầu :
· Vào số lượng thành phần của dãy,
· Vào các số nguyên và đưa vào một mảng,
· Tính tổng các giá trị > 100 của 1 dãy số nguyên và hiện lên màn hình.
Khi chương trình chạy yêu cầu ví dụ có dạng sau :
Vao so luong thanh phan : 4
a[0]=120
a[1]=-20
a[2]= 98
a[3]=115
Tong cac gia tri > 100 cua day la : 235
Co tiep tuc CT (c/k) ? _
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Cách 2 :
Liên kết ngôn ngữ bậc cao (C hoặc C++) với Assembly theo sự phân công như sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận số lượng thành phần,
- Nhận các số của dãy số và đưa vào 1 mảng,
- Gọi chương trình con tính các giá tri >100 của dãy số nguyên do Assembly viết
- Hiện kết quả lên màn hình.
· Module của Assembly viết chương trình con tính tổng các giá trị > 100 của dãy số nguyên
Câu 3 :
Hãy nêu khái niệm về ngắt và các bước cần thiết để xác lập 1 ngắt.
DE SO 15
Câu 1:
Hãy viết chương trình thuần túy Assembly tìm giá trị nhỏ nhất của một dãy số nguyên.
Khi chương trình chạy ví dụ có dạng sau :
Hay vao so luong thanh phan cua day : 4
a[0]= 120
a[1]= -30
a[2]= 311
a[3]= 21
Gia tri be nhat cua day so nguyen la : -30
Co tiep tuc CT (c/k) ? _
Chú ý : Phải viết chương trình theo cả 2 cách :
Cách 1 : Thuần túy Assembly với yêu cầu sau :
· Số lượng thành phần của dãy số vào từ bàn phím,
· Vào các số nguyên và đưa vào một mảng,
· Tìm giá trị bé nhất của một dãy số nguyên và hiện ra màn hình.
Giả thiết cho trước hai tệp :
LIB1.ASM chứa 2 MACRO xóa màn hình (có tên là CLRSCR) và hiện 1 xâu ký tự kết thúc bằng '$' ra màn hình (có tên là HienString) và LIB2.ASM chứa 2 chương trình con nhận 1 số nguyên từ bàn phím (có tên là VAO_SO_N) và hiện 1 số nguyên có trong AX ra màn hình dạng cơ số 10 (có tên là HIEN_SO_N).
Cách 2 : Liên kết giữa ngôn ngữ bậc cao (C hoặc C++) với Assembly theo yêu cầu sau :
· Module của ngôn ngữ bậc cao thực hiện các nhiệm vụ sau :
- Nhận số lượng thành phần của dãy số,
- Nhận các số nguyên và đặt vào trong mảng,
- Gọi chương trình con tìm giá trị bé nhất của dãy số nguyên do Assembly viết
- Hiện kết quả giá trị bé nhất của dãy số nguyên ra màn hình
· Module của ngôn ngữ Assembly viết chương trình con tìm giá trị bé nhất của dãy số nguyên
Câu 2 :
Byte có địa chỉ 0h:[411h] của vùng dữ liệu ROM BIOS chứa một số thông tin của máy tính. Hãy viết chương trình thuần túy bằng Assembly cho biết máy tính đang dùng có cổng LPT nào hay không và nếu có thì bao nhiêu cổng và cho biết địa chỉ các cổng LPT đó (địa chỉ phải là dạng HEXA) khi biết rằng 2 byte có địa chỉ 0:408h và 0:409h chứa địa chỉ LPT1.
Khi chương trình chạy ví dụ có dạng :
So luong cong LPT la : 3
Dia chi cac cong LPT la : 3BC 378 278
Chú ý : Giả thiết cho trước LIB1.ASM và LIB3.ASM (LIB3.ASM chứa chương trình con hiện giá trị có trong AX ra màn hình dạng HEXA). Nội dung byte dữ liệu ROM BIOS có địa chỉ 0h:[411h] như sau :
x
x
số lượng cổngLPT
Bạn đang đọc truyện trên: AzTruyen.Top