You are on page 1of 22

Bo co th nghim mn: K Thut vi X L

Nhm 1: Kho st lnh ADD


Bi 1: Kho st lnh ADD AL, BL a. Chng trnh Assembly dng kho st cu lnh TITLE Bai 1 CODE SEGMENT ASSUME CS: CODE ORG 100H MAIN PROC MOV AL,10H MOV BL,20H ADD AL,BL MAIN ENDP CODE ENDS END MAIN b. C php cu lnh ADD AL,BL c. di cu lnh

Cu lnh ny di 2 byte v 02C3 = 16 Bt ( 8 Bt = 1 Byte )

d. M lnh, ngha cc Bt trong m lnh M lnh thc hin l : 02C3 ngha cc bt trong m lnh

+ 02: M lnh thc hin lnh ADD


1

+ C3=11 000 011 tng ng: Mod = 11 : r/m c coi l mt vng trong thanh ghi Reg = 000 : l AL ( do 8 Bt ) r/m = 011 : a ch tnh ton hiu qu (BP)+(DI)+ a ch ch e. Gi tr con tr lnh IP trc v sau khi thc hin lnh Trc khi cu lnh thc hin, con tr IP = 0104H

Sau khi cu lnh c thc hin, con tr IP nhy n v tr tip theo trong on lnh l IP = 0106h

f. Hot ng ca lnh Cu lnh l ADD nn s thc hin vic cng khng nh trong h nh phn u tin ta c d liu nh sau:

+ AL = 10H tng ng l 0001 0000 Bt trong h nh phn + BL = 20H tng ng l 0010 0000 Bt trong h nh phn Sau lnh ADD th AL = 0011 0000 Bt = 30H, do AX = 0030H. C PF = 1 do tng s Bt 1 l s chn
2

Bi 2: Kho st lnh ADD AL, DS: [0000H] a. Chng trnh Assembly dng kho st cu lnh TITLE Bai 2 CODE SEGMENT ASSUME CS:CODE, DS:DATA ORG 100H MAIN PROC MOV AX,DATA MOV DS,AX MOV AX,12H ADD AL,DS:[0000H] MAIN ENDP CODE ENDS DATA SEGMENT BUFFER DB '1' DATA ENDS END MAIN b. C php cu lnh ADD AL,DS:[0000H] c. di cu lnh

Cu lnh ny di 4 Byte v 02060000 = 32 Bt ( 8 Bt = 1 Byte )


3

d. M lnh, ngha cc Bt trong m lnh M lnh thc hin l : 02060000 ngha cc Bt trong m lnh

+ 02 : M lnh thc hin lnh ADD + 06 = 00 000 110 tng ng : Mod = 00 : a ch l tng l Byte tht v Byte cao ca a ch ch Reg = 000 : l AL ( do 8 Bt ) r/m = 110 : a ch tnh ton hiu qu l Byte cao ca a ch ch + 00 : tng ng l Byte thp ca a ch ch + 00 : tng ng l Byte cao ca a ch ch e. Gi tr con tr lnh IP trc v sau khi thc hin lnh
-

Trc khi cu lnh thc hin, con tr IP = 0108H Sau khi cu lnh c thc hin, con tr IP nhy n v tr tip theo trong on lnh l IP = 010CH

f. Hot ng ca lnh
4

Cu lnh l ADD nn s thc hin vic cng khng nh trong h nh phn u tin ta c d liu nh sau:

+ AX = 0012H = 0000 0000 0001 0010 Bt + DS: [0000H] = 31H = 0011 0001 Bt ( do d liu nhn vo dng k t, s 1 trong m ASCII khi chuyn sang m HEXA s c cng vi 30H ) Sau lnh ADD th AX = 0000 0000 0100 0011 Bt = 0043 H C PF = 0 do tng s Bt 1 l s l

Bi 3: Kho st lnh ADD AX, BX a. Chng trnh Assembly dng kho st cu lnh TITLE Bai 3 CODE SEGMENT ASSUME CS:CODE ORG 100H MAIN PROC MOV AX,01H MOV BX,02H ADD AX,BX MAIN ENDP CODE ENDS END MAIN b. C php cu lnh ADD AX,BX
5

c. di cu lnh

Cu lnh ny di 2 Byte v 03C3 = 16 Bt ( 8 Bt = 1 Byte )

d. M lnh, ngha cc Bt trong m lnh M lnh thc hin l : 03C3 ngha cc Bt trong m lnh

+ 03 : M lnh thc hin lnh ADD + C3 = 11 000 011 tng ng : Mod = 11 : r/m c coi l mt vng trong thanh ghi Reg = 000 : l AL ( do 8 Bt )

r/m = 011 : a ch tnh ton hiu qu l (BP)+(DI)+ a ch ch

e. Gi tr con tr lnh IP trc v sau khi thc hin lnh Trc khi cu lnh thc hin, con tr IP = 0106H

Sau khi cu lnh c thc hin, con tr IP nhy n v tr tip theo trong on lnh l IP = 0108H

f. Hot ng ca lnh. Cu lnh l ADD nn s thc hin vic cng khng nh trong h nh phn u tin ta c d liu nh sau :

+ AX = 0001H tng ng 0000 0000 0000 0001 Bit trong h nh phn + BX = 0002H tng ng 0000 0000 0000 0010 Bit trong h nh phn Sau lnh ADD th AX = 0000 0000 0000 0011 Bt = 0003H C PF = 1 do tng s Bit 1 l s chn

Bi 4: Kho st lnh ADD AX, DS: [0100H] a. Chng trnh Assembly dng kho st cu lnh TITLE Bai 4 CODE SEGMENT ASSUME CS:CODE, DS:DATA ORG 100H MAIN PROC MOV AX,DATA MOV DS,AX MOV AX,11H ADD AX,DS:[0100H] MAIN ENDP CODE ENDS
7

DATA SEGMENT BUFFER DW 100 DUP (1) DATA ENDS END MAIN b. C php cu lnh ADD AX,DS:[0100H] c. di cu lnh

Cu lnh ny di 4 Byte v 03060001 = 32 Bt ( 8 Bt = 1 Byte )

d. M lnh, ngha cc Bt trong m lnh M lnh thc hin l : 03060001 ngha cc Bt trong m lnh

+ 03 : M lnh thc hin lnh ADD + 06 = 00 000 110 tng ng : Mod = 00 : a ch l tng l Byte thp v Byte cao ca a ch ch Reg = 000 : l AX ( do 16 Bt ) r/m = 110 : a ch tnh ton hiu qu l Byte cao ca a ch ch + 00 : tng ng l Byte thp ca a ch ch + 01 : tng ng l Byte cao ca a ch ch e. Gi tr con tr lnh IP trc v sau khi thc hin lnh Trc khi cu lnh thc hin, con tr IP = 0108H

Sau khi cu lnh c thc hin, con tr IP nhy n v tr tip theo trong on lnh l IP = 010CH

f. Hot ng ca lnh Cu lnh l ADD nn s thc hin vic cng khng nh trong h nh phn u tin ta c d liu nh sau:

+ AX = 0011H = 0000 0000 0001 0001 Bt + DS:[0100H] = 0001H = 0000 0000 0000 0001 Bt ( do d liu nhn c khai bo trn l 100 phn t c gi tr ban u = 1, kiu word ) Sau lnh ADD th AX = 0000 0000 0001 0010 Bt =0012H C PF = 1 do tng s Bt 1 l s chn

Bi 5: Kho st lnh ADD DS: [0000H], BL a. Chng trnh Assembly dng kho st cu lnh TITLE Bai 5
9

CODE SEGMENT ASSUME CS:CODE, DS:DATA ORG 100H MAIN PROC MOV AX,DATA MOV DS,AX MOV BL,13H ADD DS:[0000H],BL MAIN ENDP CODE ENDS DATA SEGMENT BUFFER DW 100 DUP (1) DATA ENDS END MAIN b. C php cu lnh ADD DS:[0000H],BL c. di cu lnh

Cu lnh ny di 4 Byte v 001E0000 = 32 Bt ( 8 Bt = 1 Byte )

d. M lnh, ngha cc Bt trong m lnh M lnh thc hin l : 001E0000 ngha cc Bt trong m lnh

+ 20 : M lnh thc hin lnh ADD + 1E = 00 011 110 tng ng : Mod = 00 : a ch l tng l Byte thp v Byte cao ca a ch ch
10

Reg = 011 : L BL ( do 8 Bt ) r/m = 110 : a ch tnh ton hiu qu l Byte cao ca a ch ch + 00 : tng ng l Byte thp ca a ch ch + 00 : tng ng l Byte cao ca a ch ch e. Gi tr con tr lnh IP trc v sau khi thc hin lnh Trc khi cu lnh thc hin, con tr IP =0107H

Sau khi cu lnh c thc hin, con tr IP nhy n v tr tip theo trong on lnh l IP = 010BH

f. Hot ng ca lnh Cu lnh l ADD nn s thc hin vic cng khng nh trong h nh phn u tin ta c d liu nh sau :

+ BL = 13H = 0001 0011 Bt + DS: [0000H] = 0001H = 0000 0000 0000 0001 Bt ( do d liu nhn c khai bo trn l 100 phn t c gi tr = 1, kiu word ) Sau lnh ADD th DS: [0000H] = 0014H
11

Bi 6: Kho st lnh ADD DS: [0100H], AX a. Chng trnh Assembly dng kho st cu lnh TITLE Bai 6 CODE SEGMENT ASSUME CS:CODE, DS:DATA ORG 100H MAIN PROC MOV AX,DATA MOV DS,AX MOV AX,12H ADD DS:[0100H],AX MAIN ENDP CODE ENDS DATA SEGMENT BUFFER DW 100 DUP (1) DATA ENDS END MAIN b. C php cu lnh ADD DS:[0100H],AX c. di cu lnh

Cu lnh ny du 4 Byte v 01060001 = 32 Bt ( 8 Bt = 1 Byte )

d. M lnh, ngha cc Bt trong m lnh M lnh thc hin l : 01060001 ngha cc Bt trong m lnh
12

+ 01 : m lnh thc hin lnh ADD + 06 = 00 000 110 tng ng : Mod = 00 : a ch l tng l Byte thp v Byte cao ca a ch ch Reg = 000 : l AL ( do 8 Bt ) r/m = 110 : a ch tnh ton hiu qu l Byte cao ca a ch ch + 00 : tng ng l Byte thp ca a ch ch + 01 : tng ng l byte cao ca a ch ch e. Gi tr con tr lnh IP trc v sau khi thc hin lnh Trc khi cu lnh thc hin, con tr IP = 0108H

Sau khi cu lnh c thc hin, con tr IP nhy n v tr tip theo trong on lnh l IP = 010CH

f. Hot ng ca lnh Cu lnh l ADD nn s thc hin vic cng khng nh trong h nh phn u tin ta c d liu nh sau :
13

+ AX = 0012H = 0000 0000 0001 0010 Bt

+ DS: [0100H] = 0001H = 0000 0000 0000 0001 Bt ( do d liu nhn khai bo trn l 100 phn t c gi tr ban u = 1, kiu word ) Sau lnh ADD th DS: [0100H] = 0000 0000 0001 0011Bt = 0013H C PF = 0 do tng s bt 1 l s l

Bi 7: Kho st lnh ADD AL, 50H a. Chng trnh Assembly dng kho st cu lnh TITLE Bai 7 CODE SEGMENT ASSUME CS:CODE ORG 100H MAIN PROC MOV AL,20H ADD AL,50H MAIN ENDP CODE ENDS END MAIN b. C php cu lnh ADD AL,50H c. di cu lnh

Cu lnh ny di 2 Byte v 0405 = 16 Bt ( 8 Byte = 1 Bt )

d. M lnh, ngha cc Bt trong m lnh


14

M lnh thc hin l : 0405 ngha cc bt trong m lnh

+ 04 : M lnh thc hin lnh ADD + 50 : D liu 8 Bt e. Gi tr con tr lnh IP trc v sau khi thc hin lnh Trc khi cu lnh thc hin, con tr IP = 0102H

Sau khi cu lnh c thc hin, con tr nhy n v tr tip theo trong on lnh l IP = 0104H

f. Hot ng ca lnh Cu lnh l ADD nn s thc hin vic cng khng nh trong h nh phn u tin ta c d liu nh sau :

+ AL = 20H = 0010 0000 Bt + D liu cng = 50H = 0101 0000 Bt


15

Sau lnh ADD th AL = 0111 0000 Bt = 70H, do AX = 0070H C PF = 0 do tng s Bt 1 l s l

Bi 8: Kho st lnh ADD AX, 1080H a. Chng trnh Assembly dng kho st cu lnh TITLE Bai 8 CODE SEGMENT ASSUME CS:CODE ORG 100H MAIN PROC MOV AX,1020H ADD AX,1080H MAIN ENDP CODE ENDS END MAIN b. C php cu lnh ADD AX,1080H c. di cu lnh

Cu lnh ny di 3 Bt v 058010 = 24 Bt ( 8 bt = 1 Byte )

d. M lnh, ngha cc Bt trong m lnh M lnh thc hin l : 058010 ngha cc Bt trong m lnh

+ 05 : M lnh thc hin lnh ADD


16

+ 80 : Byte thp ca d liu + 10 : byte cao ca d liu e. Gi tr con tr lnh IP trc v sau khi thc hin lnh Trc khi cu lnh thc hin, con tr IP = 0103H

Sau khi cu lnh c thc hin, con tr IP nhy n v tr tip theo trong on lnh l IP = 0106H

f. Hot ng ca lnh Cu lnh l ADD nn s thc hin vic cng khng nh trong h nh phn u tin ta c d liu nh sau :

+ AX = 1020H = 0001 0000 0010 0000 Bt + D liu cng = 1080H = 0001 0000 1000 0000 Bt Sau lnh ADD th AX = 0010 0000 1010 0000 Bt = 20A0H C PF = 0 do tng s Bt 1 l s l

17

Bi 9: Kho st lnh ADD BYTE PTR DS: [0002H], 50H a. Chng trnh Assembly dng kho st cu lnh TITLE Bai 9 CODE SEGMENT ASSUME CS:CODE, DS:DATA ORG 100H MAIN PROC MOV AX,DATA MOV DS,AX ADD BYTE PTR DS:[0002H],50H MAIN ENDP CODE ENDS BUFFER DB 100 DUP (1) DATA ENDS END MAIN b. C php cu lnh ADD BYTE PTR DS:[0002H],50H c. di cu lnh

Cu lnh ny di 5 Byte v 8006020050 = 40 Bt ( 8 Bt = 1 Byte )

d. M lnh, ngha cc Bt trong m lnh M lnh thc hin l : 8006020050 ngha cc Bt trong m lnh

+ 80 : M lnh thc hin lnh ADD + 06 = 00 000 110 tng ng :


18

Mod = 00 : a ch l tng l Byte thp v Byte cao ca a ch ch Reg = 000 : l AL ( do 8 Bt ) r/m = 110 : a ch tnh ton hiu qu l Byte cao ca a ch ch + 02 : tng ng l Byte thp ca a ch ch + 00 : tng ng l Byte cao ca a ch ch + 50 : tng ng l d liu cng e. Gi tr con tr lnh IP trc v sau khi thc hin lnh Trc khi cu lnh thc hin, con tr IP = 0105H

Sau khi cu lnh c thc hin, con tr IP nhy n v tr tip theo trong on lnh l IP = 010AH

f. Hot ng ca lnh Cu lnh l ADD nn s thc hin vic cng khng nh trong h nh phn u tin ta c d liu nh sau :

19

+ DS: [0002H] = 0001H = 0000 0000 0000 0001 Bt ( do d liu nhn khai bo trn l 100 phn t c gi tr ban u = 1, kiu Byte ) + D liu cng = 50H = 0101 0000 Bt Sau lnh ADD th DS: [0002H] = 0051H C PF = 0 do tng s Bt 1 l s l

Bi 10: Kho st lnh ADD WORD PTR DS: [0002H], 1080H a. Chng trnh Assembly dng kho st cu lnh TITLE Bai 10 CODE SEGMENT ASSUME CS:CODE, DS:DATA ORG 100H MAIN PROC MOV AX,DATA MOV DS,AX ADD WORD PTR DS:[0002H],1080H MAIN ENDP CODE ENDS DATA SEGMENT BUFFER DW 100 DUP (1) DATA ENDS END MAIN b. C php cu lnh ADD WORD PTR DS:[0002H],1080H
20

c. di cu lnh

M lnh ny di 6 Byte v 810602008010 = 48 Bt ( 8 Bt = 1 Byte )

d. M lnh, ngha cc Bt trong m lnh M lnh thc hin l : 810602008010 ngha cc Bt trong m lnh

+ 81 : M lnh thc hin lnh ADD + 06 = 00 000 110 tng ng : Mod = 00 : a ch l tng l Byte thp v Byte cao ca ch Reg = 000 : l AX ( do 16 Bt ) r/m =110 : a ch tnh ton hiu qu l Byte cao ca a ch ch + 02 : tng ng l Byte thp ca a ch ch + 00 : tng ng l Byte cao ca a ch ch + 80 : tng ng l Byte thp ca d liu + 10 : tng ng l Byte cao ca d liu e. Gi tr con tr lnh IP trc v sau khi thc hin lnh Trc khi cu lnh thc hin, con tr IP = 0105H

Sau khi cu lnh c thc hin, con tr IP nhy n v tr tip theo trong on lnh l IP = 010BH

21

f. Hot ng ca lnh Cu lnh l ADD nn s thc hin vic cng khng nh trong h nh phn u tin ta c d liu nh sau :

+ DS: [0002H] = 0001H = 0000 0000 0000 0001 Bt ( do d liu nhn khai bo trn l 100 phn t c gi tr ban u = 1, kiu word ) + D liu cng = 1080H = 0001 0000 1000 0000 Bt Sau lnh ADD th DS: [0002H] = 0001 0000 1000 0001 Bt = 1081H C PF = 0 do tng s Bt 1 l s l

22

You might also like