ÑEÀ 1 Caâu 1: a.cho bieát söï khaùc nhau giöõa caâu leänh hôïp ngöõ vaø chæ daãn hôïp ngöõ. b.chæ ra caùc doøng bò loãi cuù phaùp trong ñoaï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.haõy ñieàu chænh laïi caùc doøng loãi cuù phaùp treân sao cho khi thöïc hieän heát ñoaïn chöông trình thì ñöôïc keát quaû thanh ghi AL=1.Vôùi ñieàu kieän moãi doøng loãi cuù phaùp chæ ñöôïc thay baèng toái ña hai doøng môùi. d. Cho bieát yù nghóa cuû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 Caâu 2: Vieát thuû tuïc tính toång S=2*1 2 +3*2 2 +4*3 2 +5*4 2 +...+n*(n-1) 2 Thuû tuïc nhaän tham soá vaøo CL laø giaù trò cuûa n vaø traû ra keát quaû DX laø giaù cuûa toång S trò
Caâu 3: Vieát thuû tuïc maõ hoùa moät chuoãi theo caùch sau :kyù töï thöù j cuûa chuoãi ñöôïc XOR vôùi con soá (j mod 256).thuû tuïc nhaän caùc tham soá :CX laø chieàu daøi chuoãi vaø DS,SI laø segment vaø offset cuûa chuoãi.
ÑEÀ THI II Caâu 1: Ngoaøi cacùh duøng leänh "mov AX,0", haõy chæ taát caû caùc caùch laøm cho thanh ghi AX mang giaù trò 0 maø anh/chò bieát, moãi caùch chæ ñöôïc töông öùng vôùi moät leänh hôïp ngöõ duy nhaát Caâu 2: Haõy chæ ra caùc chæ thò bò loãi cuù phaù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 Caâu 3: Cho bieát eát quaû thöïc hieän cuû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
ÑEÀ THI III Caâu 1: Kích thöôùc cuûa ñoaïn leänh maõ maùy ñöôïc dòch töø moät chöông trình hôïp ngöõ nguoàn seõ taêng hay giaûm neáu ta thay ñoåi chieàu daøi cuûa: Teân haèng Teân bieán Teân nhaõn Teân thuû tuïc Caâu 2: Haõy chæ ra caùc choã bò loãi cuù phaùp trong caù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 Caâu 3: Cho bieát keát quaû thöïc hieän cuû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 AL,27 JNE DISP1 MOV FINISH,1 JMP DISP2
OUTSCR : MOV INT JE JMP QUIT: INT END AH,9 21H FINISH,1 QUIT CONT 20h START Caâu 4 : Vieát chöông trình nhaäp vaøo soá nguyeân döông n xuaát ra maøn hình gía trò cuûa toång : S=(n-1)*1 2 +(n-2)*2 2 +...+1*(n-1) 2 Caâu 5 : Vieát chöông trình xuaát ra maøn hình h doøng, moãi doøng laø moät chuoãi m kyù töï. Vôùi h vaø m chính laø giôø vaø phuùt hieän taïi cuûa maùy, chuoãi ôû doøng thöù k (1<=k<=h ) coù kyù töï baét ñaàu laø chöõ soá ( k mod 10 ), kyù töï keá tieáp laø chöõ soá keá tieáp ( vôùi quy ñònh keá sau chöõ soá '9' laïi laøchöõ soá '0' ) Ví duï, neáu giôø heä thoáng hieän laø 3:15 AM thì phaûi xuaát 3 doøng, moãi doøng 15 kyù töï nhö sau : 123456789012345 234567890123456 345678901234567 Cho bieát ñeå laáy giôø cuûa maùy coù theå duøng chöùc naêng 2Ch cuûa ngaét 21h, ngaét traû veà giôø vaø phuùt cuûa hai thanh ghi CH vaø CL.
ÑEÀ THI IV Caâu 1 : a.) Cho bieát söï khaùc nhau giöõa leänh hôïp ngöõ vaø chæ daãn hôïp ngöõ b.) Chæ ra caùc doøng bò loãi cuù phaùp trong ñoaï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.) Haõy ñieàu chænh laïi caùc doøng loãi cuù phaùp treân sao cho khi thöïc hieän heát ñoaïn chöông trình thì ñöôïc keát quaû thanh ghi AL=1. Vôùi ñieàu kieän moãi doøng loãi cuù phaùp chæ ñöôïc thay baèng toái ña hai doøng môùi d.) Cho bieát yù nghóa cuû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 BL, CL JBE Process MOV AH, 2 INT 21h INT 20h END START Caâu 2 : Vieát thuû tuïc tính toång S= 2*1 2 +3*2 2 +4*3 2 +5*4 2 +...+n*( n-1) 2 thuû tuïc nhaän tham soá vaøo CL laø giaù trò cuûa n vaø traû ra keát quaû DX laø giaù trò cuûa toång S Caâu 3 :
Vieát thuû tuïc maõ hoaù moät chuoãi theo caùch sau : Kyù töï thöù j cuûa chuoãi ñöôïc XOR vôùi con soá ( j mod 256 ). Thuû tuïc nhaän caùc tham soá : CX laø chieàu daøi chuoãi vaø DS, SI laø Segment vaø Offset cuûa chuoãi. ÑEÀ THI V Caâu 1: Cho bieát ñòa chæ vaät lyù töông öùng cuûa ñòa chæ logic B800h: 3998d Coù toàn taïi moät ñòa chæ logic khaùc cuøng chæ tôùi vò trí treân hay khoâng? haõy chæ ra ñòa chæ logic ñoù, neáu khoâng haõy giaûi thích vì sau. Caâu 2: Cho bieát caùc leänh sai cuù phaùp trong ñoaïn leä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 Neáu coù Caâ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
DX,0 JNE CONT ADD BX,SI CONT: POP AX INC SI AX,SI JNE CREPEAT 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 DX,0 JE MEQUAL DX,-1 JE MBELOW INC ABVMSG[0] JMP MCONT MBELOW: INC BELMSG[0] JMP MCONT MEQUAL: INC EQUMSG[0] MCONT: AX,30 JB MREPEAT MOV AH,9
LEA DX,MSG INT 21h INT 20 h END START a. Haõy cho bieát yù nghóa cuûa chöông trình treân ( chöông trình thöïc hieän coâng vieäc gì?) b. Haõy caûi tieán chöông trình theo höùong toái öu hoaù thôøi gian( chöông trình sau khi caûi tieán vaãn thöïc hieän ñöôïc coâng vieäc treân nhöng chaïy nhanh hôn) Caâu 4: Vieát thuû tuïc ñeám soá laàn xuaát hieän cuûa moät con soá (1 byte) trong moät vuøng nhôù. Thuû tuïc nhaän caùc tham soá : AL laø soá caàn tìm, CX laø kích thöôùc ( soá byte) vuøng nhôù vaø DS,SI laø segment vaø offset cuûa vuøng nhôù, keát quaû traû veà cuûa thuû tuïc ñöôïc löu ôû CX Caâu 5 : Vieát chöông trình coù theå dòch ra file. COM thöïc hieän coâng vieäc nhaäp vaøo moât soá nguyeân a (ôû heä thaäp phaän vaø coù giaù trò trong khoaûng töø 2 ñeán 36), sau ñoù nhaäp vaøo moät soá ô heä a vaø xuaát ra soá thaäp phaân töông öùng Ví duï : Nhaäp : a: 16 soá heä a: DE1 Xuaát : soá thaäp phaâ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.