De ASM

Màu nền
Font chữ
Font size
Chiều cao dòng

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 chy ví d có dng 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ú ý : Phi 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 tp :

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 chy ví d có dng 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ú ý : Phi 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 tp :

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 chy ví d có dng :

 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 chy yêu cầu có dng 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 cu :

·     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 tp :

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 chy yêu cầu có dng 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 cu :

·     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 tp :

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 chy ví d có dng :

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 chy yêu cầu có dng 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 cu :

·     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 tp :

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 chy ví d có dng :

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 chy yêu cầu có dng 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 cu :

·     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 tp :

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 chy yêu cầu có dng 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 cu :

·     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 tp :

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 chy ví d có dng :

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 chy ví d có dng 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ú ý : Phi 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 tp :

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 chy ví d có dng :

 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 chy yêu cầu ví dụ có dng 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 cu :

·     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 tp :

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 chy ví d có dng :

 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 chy yêu cầu ví dụ có dng 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 cu :

·     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 tp :

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 chy yêu cầu ví dụ có dng sau :

  Hay vao a  : -4

  Hay vao n  : 3

  -4 luy thua 3 la : -64

  Co tiep tuc CT (c/k) ? _

 Yêu cu :

·     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 tp :

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 chy ví d có dng :

 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 chy yêu cầu ví dụ có dng 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 tp :

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 chy yêu cầu ví dụ có dng 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 tp :

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 chy yêu cầu ví dụ có dng 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 tp :

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 chy ví d có dng 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ú ý : Phi 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 tp :

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: Truyen2U.Pro

#dương