You are on page 1of 5

Câu 7: Trình bày chức năng ,cách sử dụng các lệnh hợp ngữ của bộ vi xử lí Intel 8086:

a)IN :

.Chức năng : đọc giá trị từ một cổng vào thanh ghi AL hoặc AX

.Cú pháp IN AL ,địa chỉ cổng (8 bit )

IN AX ,địa chỉ cổng (16 bit )

.Khi sử dụng địa chỉ cổng 16 bit không được sử dụng trực tiếp mà phải chuyển giá trị cổng vào thanh ghi
DX

b)AND :

.Chức năng thực hiện phép VÀ logic giữa 2 toán hạng.Kết quả đặt ở trong toán hạng đích

.Cú pháp : AND Dst,Src

.Hai toán hạng đích và nguồn không thể đồng thời là hằng số hay ô nhớ

.Kết quả có thể tác động đến các cờ :SF,ZF,PF

c)RCL:

.Chức năng :Quay tất cả các bit của toán hạng thứ nhất sang trái,số lần quay được đặt trong toán hạng thứ
2.Bit dịch ngoài được đặt vào trong CF,giá trị trước của CF được chèn vào vị trí bit bên phải nhất của
toán hạng thứ nhất.

.Cú pháp :RCL Dst,COUNT

. Kết quả có thể tác động đến các cờ OF,CF

d)STOSW:

.Chức năng :lưu giữ nội dụng của thanh ghi AL,hoặc AX vào bộ nhớ có địa chỉ ES:[DI],sau khi thực hiện
giá trị của DI tự đọng cập nhật :

Nếu DF=0 thì DI =DI+1(hoặc cộng 2)

Nếu DF=1thì DI =DI-1(hoặc trừ 2)

.Cú pháp :STOSW

e)INT 21H/AH=01

.Ý nghĩa:đặt một thiết bị vào chuẩn và trả nó ra một thiết bị ra chuẩn.Nếu kí tự chưa sẵn sàng nó sẽ đợi
cho đến khi có một giá trị

.Đầu vào AH=1


.Đầu ra: AL= mã ASCII của phím ấn

AL=0 nếu phím điều khiển được ấn

f)STD

.Chức năng :đặt giá trị cờ DF=1(DF=1)

.cú pháp :STD

.cờ bị tác động DF

Câu 8: Trình bày chức năng ,cách sử dụng các lệnh hợp ngữ của bộ vi xử lí Intel 8086

a) OUT

.Chức năng : chuyển giá trị một byte hay một từ từ thanh ghi AL hoặc AX ra cổng

.Cú pháp OUT địa chỉ cổng (8 bit ),AL

OUT địa chỉ cổng (16 bit ),AX

.Khi sử dụng địa chỉ cổng 16 bit không được sử dụng trực tiếp mà phải chuyển giá trị cổng vào thanh ghi
DX

b)AND :

.Chức năng thực hiện phép VÀ logic giữa 2 toán hạng.Kết quả đặt ở trong toán hạng đích

.Cú pháp : AND Dst,Src

.Hai toán hạng đích và nguồn không thể đồng thời là hằng số hay ô nhớ

.Kết quả có thể tác động đến các cờ :SF,ZF,PF

c)ROL:

.Chức năng :Quay tất cả các bit của toán hạng thứ nhất sang trái,số lần quay được đặt trong toán hạng thứ
2.Bit dịch ngoài được đặt vào trong CF,đồng thời được chèn vào vị trí bit bên phải nhất của toán hạng
thứ nhất.

.Cú pháp :ROL Dst,COUNT

. Kết quả có thể tác động đến các cờ OF,CF

d)STOSB:

.Chức năng :lưu giữ nội dụng của thanh ghi AL,hoặc AX vào bộ nhớ có địa chỉ ES:[DI],sau khi thực hiện
giá trị của DI tự đọng cập nhật :

Nếu DF=0 thì DI =DI+1(hoặc cộng 2)


Nếu DF=1thì DI =DI-1(hoặc trừ 2)

.Cú pháp :STOSB

e)INT 21H/AH=01

.Ý nghĩa:đặt một thiết bị vào chuẩn và trả nó ra một thiết bị ra chuẩn.Nếu kí tự chưa sẵn sàng nó sẽ đợi
cho đến khi có một giá trị

.Đầu vào AH=1

.Đầu ra: AL= mã ASCII của phím ấn

AL=0 nếu phím điều khiển được ấn

f)STD

.Chức năng :đặt giá trị cờ DF=1(DF=1)

.cú pháp :STD

.cờ bị tác động DF

Câu11: Viết một chương trình hợp ngữ để tạo ra ứng dụng thực hiện phép tính 40/8 +50 ,kết quả lưu vào
thanh ghi BL ,sau đó hiển thị giá trị bit D6 của kết quả ra màn hình.

Giải:

.Model small

.Stack 100

.Data

.Code

Main proc

MOV DX,@data

MOV DS,DX

MOV AL,40; đưa số 40 vào thanh ghi AL

MOV BL, 8 ; đưa 8 vào thanh ghi BL

DIV BL ;thực hiện phép chia 40/8

; kết quả được lưu vào trong thanh ghi AX

;phan du chua trong thanh ghi AH


;phần thương chứa trong thanh ghi AL

ADD AL,50 ;thuc hien phep cộng 40/8+50

XOR BX,BX ; xóa nội dung trong thanh ghi BX

MOV BL,AL ;chuyển nội dung trong thanh ghi AL vào thanh ghi BL

ROL BL,2 ; dich trai thanh ghi BL đi 2 bit

AND BL, 00000001b ;thực hiện phép AND nội dung thanh ghi BL với 00000001 để lấy giá trị
của

; bit thứ 7 trong thanh ghi BL sau khi khi thực hiện phép dịch trái BL đi 2
bit

ADD BL,30h ;đổi sang mã ASCII

MOV DL,BL ; chuyển nội dung của BL vào DL để xuất ra màn hình

MOV AH,2

INT 21H

MOV AH,4CH

INT 21H

Endp main

Câu12: Viết một chương trình hợp ngữ để tạo ra ứng dụng thực hiện phép tính 5*10 +20 ,kết quả lưu vào
thanh ghi BL ,sau đó hiển thị giá trị bit D6 của kết quả ra màn hình.

Giải:

.Model small

.Stack 100

.Data

.Code

Main proc

MOV DX,@data
MOV DS,DX

MOV AL,5; đưa số 5 vào thanh ghi AL

MOV BL, 10 ; đưa 10 vào thanh ghi BL

MUL BL ;thực hiện phép nhân 5*10

; kết quả được lưu vào trong thanh ghi AX

ADD AL,20 ;thuc hien phep cộng 5*10 + 20

XOR BX,BX ; xóa nội dung trong thanh ghi BX

MOV BL,AL ;chuyển nội dung trong thanh ghi AL vào thanh ghi BL

ROL BL,2 ; dich trai thanh ghi BL đi 2 bit

AND BL, 00000001b ;thực hiện phép AND nội dung thanh ghi BL với 00000001 để lấy giá trị
của

; bit thứ 7 trong thanh ghi BL sau khi khi thực hiện phép dịch trái BL đi 2
bit

ADD BL,30h ;đổi sang mã ASCII

MOV DL,BL ; chuyển nội dung của BL vào DL để xuất ra màn hình

MOV AH,2

INT 21H

MOV AH,4CH

INT 21H

Endp main

You might also like