Tải bản đầy đủ (.pdf) (10 trang)

www.tinhgiac.com de thi vi xu ly 5 bo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (82.82 KB, 10 trang )

ĐỀ 1
Câu 1:
a.Cho biết sự khác nhau giữa câu lệnh hợp ngữ và chỉ dẫn hợp ngữ .
b.Chỉ ra các dòng bò lỗi cú pháp trong đoạn chương trình sau:
jmp cont
Buf DB 2,0,0,9,1,9,9,8
Cont:
mov ds,cs
lea bx,Buf
mov al,[bx]
inc al,2
xlat
c.Hãy điều chỉnh lại các dòng lỗi cú pháp trên sao cho khi thực hiện hết
đoạn
chương trình thì được kết quả thanh ghi AL=1.Với điều kiện mỗi dòng
lỗi cú
pháp chỉ được thay bằng tối đa hai dòng mới .
d. Cho biết ý nghóa của chương trình sau :
.Model Small
.Code
ORG 100h
Start:
mov dx,0
mov bl,1
mov cl,10
Process:
mov al,bl
mul al
add dx,ax
add bl,3
cmp bl,3


jbe Process
mov ah,02
int 21h
int 20h
End start
Câu 2:
Viết thủ tục tính tổng S=2*12+3*22+4*32+5*42+....+n*(n-1)2
Thủ tục nhận tham số vào CL là giá trò của n và trả ra kết quả DX là giá
của tổng S

trò


Câu 3:
Viết thủ tục mã hóa một chuỗi theo cách sau :ký tự thứ j của chuỗi được
XOR
với con số (j mod 256) .thủ tục nhận các tham số :CX là chiều dài chuỗi
và DS ,SI
là segment và offset của chuỗi.


ĐỀ THI II
Câu 1:
Ngoài cacùh dùng lệnh "mov AX,0", hãy chỉ tất cả các cách làm cho thanh ghi
AX mang giá trò 0 mà anh/chò biết, mỗi cách chỉ được tương ứng với một lệnh hợp ngữ
duy nhất
Câu 2:
Hãy chỉ ra các chỉ thò bò lỗi cú pháp trong những chỉ thò sau:
lap:
and ax,cx

cmp
ax,cx
shr
ax,cx
mov word ptr[bx],1A2B h;
mov [cx],A1B2 h
mul ax,3
div dx,ax
sup
ax,1001b
int
21h
jmp lap
int
21h
Câu 3:
Cho biết ết quả thực hiện của chương trình:
model small
Code
Mov ah,1
Int
21h
Mov dl,al
Mov cx,5
Add dl,cl
Inc ah
lap:
Int 21h
Dec dl
loop lap

Mov ah,4Ch
Int 21h
End


ĐỀ THI III
Câu 1:
Kích thước của đoạn lệnh mã máy được dòch từ một chương trình hợp ngữ
nguồn sẽ tăng hay giảm nếu ta thay đổi chiều dài của:
Tên hằng
Tên biến
Tên nhãn
Tên thủ tục
Câu 2:
Hãy chỉ ra các chỗ bò lỗi cú pháp trong các chỉ thò sau:
Mov word ptr{si},cs
Mov al,byte ptr{cx}
Cmp dx,as
Add dl,1A9h
Mov ah,1001h
Mov dx,9 A 1h
Int 21h
Câu 3:
Cho biết kết quả thực hiện của chương trình:
.MODEL SMALL
.CODE
ORG 100h
START : JMP CONT
MESS1 DB'HELLO ! $'
MESS2 DB'GOOD BYE ! $'

FINISH DB 0
DISP 1:
LEA
DX,MESS1
JMP
OUTSCR
DISP 2:
LEA
DX,MESS2
JMP
OUTSCR
CONT :
MOV AH,1
INT 21h
CMP AL,27
JNE DISP1
MOV FINISH,1
JMP DISP2


OUTSCR :
MOV
AH,9
INT
21H
CMP
FINISH,1
JE
QUIT
JMP

CONT
QUIT:
INT
20h
END START
Câu 4 :
Viết chương trình nhập vào số nguyên dương n xuất ra màn hình gía trò của
tổng :
S=(n-1)*12+(n-2)*22+...+1*(n-1)2
Câu 5 :
Viết chương trình xuất ra màn hình h dòng , mỗi dòng là một chuỗi m ký tự .
Với h và m chính là giờ và phút hiện tại của máy , chuỗi ở dòng thứ k (1<=k<=h )
có ký tự bắt đầu là chữ số ( k mod 10 ) , ký tự kế tiếp là chữ số kế tiếp ( với quy đònh
kế sau chữ số '9' lại làchữ số '0' )
Ví dụ , nếu giờ hệ thống hiện là 3:15 AM thì phải xuất 3 dòng , mỗi dòng 15 ký tự
như sau :
123456789012345
234567890123456
345678901234567
Cho biết để lấy giờ của máy có thể dùng chức năng 2Ch của ngắt 21h , ngắt trả về
giờ và phút của hai thanh ghi CH và CL .


ĐỀ THI IV
Câu 1 :
a.) Cho biết sự khác nhau giữa lệnh hợp ngữ và chỉ dẫn hợp ngữ
b.) Chỉ ra các dòng bò lỗi cú pháp trong đoạn chương trình sau :
JMT
CONT
BUF

DB 2,0,0,9,1,9,9,8
CONT:
MOV DS, CS
LEA BX, BUF
MOV AL, [BX]
INC
AL, 2
XLAT
c.) Hãy điều chỉnh lại các dòng lỗi cú pháp trên sao cho khi thực hiện hết đoạn
chương trình thì được kết quả thanh ghi AL=1. Với điều kiện mỗi dòng lỗi cú pháp chỉ
được thay bằng tối đa hai dòng mới
d.) Cho biết ý nghóa của chương trình hợp ngữ sau :
.MODEL SMALL
. CODE
ORG 100h
START :
MOV DX, 0
MOV DL, 1
MOV CL, 10
Process :
MOV AL, BL
MUL AL
ADD DX, AX
ADD BL, 3
CMP BL, CL
JBE Process
MOV AH , 2
INT 21h
INT 20h
END START

Câu 2 :
Viết thủ tục tính tổng S= 2*12+3*22+4*32 +5*42 +...+n*( n-1)2
thủ tục nhận tham số vào CL là giá trò của n và trả ra kết quả DX là giá trò
của
tổng S
Câu 3 :


Viết thủ tục mã hoá một chuỗi theo cách sau : Ký tự thứ j của chuỗi được
XOR
với con số ( j mod 256 ). Thủ tục nhận các tham số : CX là chiều dài
chuỗi và DS,
SI là Segment và Offset của chuỗi.

ĐỀ THI V
Câu 1:
Cho biết đòa chỉ vật lý tương ứng của đòa chỉ logic B800h: 3998d
Có tồn tại một đòa chỉ logic khác cùng chỉ tới vò trí trên hay không ?
hãy chỉ ra đòa chỉ logic đó , nếu không hãy giải thích vì sau.
Câu 2:
Cho biết các lệnh sai cú pháp trong đoạn lệnh sau:
MOV
AH,AL
XCHG AL,AX
ADD
[BX],AL
ADD
[BX],AX
SUB
DS:[DI],BX

SUB
ES:[SI+BX],BX
SUB
1,AX
Câu 3:
Cho chương trình hợp ngữ :
.MODEL SMALL
.CODE
ORG 100h
START: JMP
MAIN
MSG:
EQUMSG DB
" 0 SO DU",13,10
ABVMSG DB
"0 SO THUA",13,10
BELMSG
DB
"0 SO THIEU",13,10
DB
"$"
CHECK
PROC
MOV SI,1
MOV BX,0
CREPEAT:
PUSH AX
MOV DX,0
DIV
SI


Nếu có


CMP DX,0
JNE
CONT
ADD BX,SI
CONT:
POP
AX
INC
SI
CMP
AX,SI
JNE
CREPEAT
CMP
AX,BX
E
CEQUAL
JB
CBELOW
MOV DX,1
JMP CEND
CBELOW:
MOV DX,-1
JMP
CEND
CEQUAL:

MOV DX,0
CEND:
RET
CHECK ENDP
MAIN:
MOV AX,20
MREPEAT:
INC
AX
CALL
CHECK
CMP
DX,0
JE
MEQUAL
CMP DX,-1
JE
MBELOW
INC
ABVMSG[0]
JMP
MCONT
MBELOW:
INC
BELMSG[0]
JMP
MCONT
MEQUAL:
INC
EQUMSG[0]

MCONT:
CMP AX,30
JB
MREPEAT
MOV AH,9


gì?)

LEA DX,MSG
INT 21h
INT 20 h
END START
a. Hãy cho biết ý nghóa của chương trình trên ( chương trình thực hiện công việc

b. Hãy cải tiến chương trình theo hứong tối ưu hoá thời gian( chương trình sau khi
cải tiến vẫn thực hiện được công việc trên nhưng chạy nhanh hơn)
Câu 4:
Viết thủ tục đếm số lần xuất hiện của một con số (1 byte) trong một vùng
nhớ. Thủ tục nhận các tham số : AL là số cần tìm, CX là kích thước ( số byte)
vùng nhớ và DS,SI là segment và offset của vùng nhớ , kết quả trả về của thủ tục
được lưu ở CX
Câu 5 :
Viết chương trình có thể dòch ra file . COM thực hiện công việc nhập vào môt
số nguyên a (ở hệ thập phận và có giá trò trong khoảng từ 2 đến 36), sau đó nhập vào
một số ơ hệ a và xuất ra số thập phân tương ứng
Ví dụ :
Nhập :
a: 16
số hệ a: DE1

Xuất :
số thập phân tương ứng : 3553


•• Vi X• Lí
Đề 1:
1 Viết chương trình Assembler nhập 12 byte số liệu từ cổng có địa chỉ 90h và lưu vào
vùng nhớ đệm có địa chỉ bắt đầu 6000h. nến nhận được 55h thì dừng nhập số liệu. tìm số
lớn nhất trong các số trên và gán giá trị này vào thanh ghi E . chương trình bắt đầu bằng
địa chỉ 2500h. dịch bằng tay ct trên ra mã máy
2 Viết chương trình Assembler tính tổng S= 1+2+3+…+n với n=120 lưu kết quả vào ô
nhớ liên tiếp có địa chỉ bắt đầu 6500h. biết chương trình bắt đầu từ địa chỉ 2000h. dịch
chương trình ra mã máy.
3 Thiết kế bộ nhớ dùng μp 8085A và yêu cầu 2x EPROM 4Kx8=8Kx8
bắt đầu từ địa chỉ 6000h và 2 xSRAM 2Kx8=4Kx8 bất đầu ở địa chỉ tiếp theo
Đề 2:
1 Thiết kế bộ nhớ dùng cho hệ μp 8085A và yêu cầu 2x EPROM 4Kx8=8Kx8
bắt đầu từ địa chỉ 8000h và 2 xSRAM 2Kx8=4Kx8 bất đầu ở địa chỉ tiếp theo
2 Viết chương trình Assembler nhập 15 byte số liệu từ cổng có địa chỉ 08h và lưu vào
vùng nhớ đệm có địa chỉ bắt đầu 6000h. tìm số nhỏ nhất trong các số trên và gán giá trị
này vào thanh ghi B . chương trình bắt đầu bằng địa chỉ 2000h. dịch bằng tay ct trên ra
mã máy.
3 Viết chương trình Assembler tính tổng S= 2+4+6+…+2n với n=120 lưu kết quả vào ô
nhớ liên tiếp có địa chỉ bắt đầu 6000h. biết chương trình bắt đầu từ địa chỉ 2000h. dịch
chương trình ra mã máy.
Đề 3:
1 Trình bày sơ đồ khối cấu trúc bên trong của vi xử lí 8085A và giối thiệu thanh ghi đa
năng của nó
2 Thiết kế bộ nhớ dùng cho hệ μp 8085A và yêu cầu 1x EPROM 8Kx8=8Kx8
bắt đầu từ địa chỉ 4000h và 3 xSRAM 2Kx8=6Kx8 bất đầu ở địa chỉ tiếp theo

3 Viết chương trìng gán 10 byte số liệu tuỳ ý bằng giả lệnh DB vào các ô nhớ có địa chỉ
bắt đầu là 3000h. Đếm các số dương và đếm các số có giá trị lớn hơn 05h trong các số
trên. lưu 2 kết quả vào 2 ô nhớ liên tiếp có địa chỉ bắt đầu là 3015h . biết rằng chương
trình bắt đầu ở địa chỉ 2000h. Dịch băng tay ra mã máy.



×