Assembly_klose

328 0 0
                                    

Bộ đề môn: Vi xử lý và lập trình Assembly – CT

(Trong mỗi đáp án các câu lệnh cần giải thích ý nghĩa và chức năng của nó)

1. Chủ đề: Chủ để 5

Câu 1 (3 điểm, mức độ:Trung bình, Thời gian:1200 giây)

Hãy viết chương trình Assembly để nhập vào từ bàn phím hai số a,b có một chữ số. Tính y=(a+b)*2. In kết quả ra màn hình dưới dạng nhị phân?

Trả lời:

.MODEL TINY

.CODE

ORG 100H

BD:

JMP XX

tb1 DB 0Ah,0Dh,"NHAP A=:$"

tb2 DB 0Ah,0Dh,"NHAP B=:$"

tb3 DB 0Ah,0Dh,"Ket qua dạng nhị phân la : V=(A+B)*2=$"

XX:

MOV AH,09H

LEA DX,tb1

INT 21H

MOV AH,01H

INT 21H

AND AL,0FH

MOV BL,AL

MOV AH,09H

LEA DX,tb2

INT 21H

MOV AH,01H

INT 21H

AND AL,0FH

ADD BL,AL

SHL BL,01H

MOV AH,09H

LEA DX,tb3

INT 21H

MOV AH,02H

MOV CL,08H

MOV DL,00

SHL BL,1

ADC DL,30H

INT 21h

NT 20H

END BD

Câu 2 (3 điểm, mức độ:Khó, Thời gian:1200 giây)

Hãy viết chương trình Assembly để nhập vào từ bàn phím hai số a,b có một chữ số. Tính y=(a+b)*2. In kết quả ra màn hình dưới dạng hexa?

Trả lời:

.MODEL TINY

.CODE

ORG 100H

BD:

JMP XX

tb1 DB 0Ah,0Dh,"NHAP A=:$"

tb2 DB 0Ah,0Dh,"NHAP B=:$"

tb3 DB 0Ah,0Dh,"Ket qua la: V=(A+B)*2=$"

XX:

MOV AH,09H

LEA DX,tb1

INT 21H

MOV AH,01H

INT 21H

AND AL,0FH

MOV BL,AL

MOV AH,09H

LEA DX,tb2

Assembly_kloseWhere stories live. Discover now