You are on page 1of 29

Tp lnh v Hp ng

Mc tiu
Hiu kin trc tp lnh Hiu cc lnh hp ng Xy dng cc cu trc iu khin chng trnh

HC VIN CNG NGH BCVT

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Phn lp tp lnh
CISC: My tnh vi tp lnh phc tp Nhiu lnh phong ph-> M lnh nh Tp lnh ln -> Kh ti u m lnh di lnh v thi gian thi hnh lnh thay i-> nh hng n hiu sut ca c ch pipeline RISC: My tnh vi tp lnh rt gn Tp ti thiu cc lnh Tng hiu sut pipeline D ti u m lnh M chng trnh ln: Cn nhiu b nh v tng thi gian truy cp b nh
2
TS. H HI NAM

www.ptit.edu.vn

Tn chng

KHOA CNG NGH THNG TIN 1

Hp ng
Ngn ng my Chng trnh bao gm cc bt 0 v 1 Hp ng cung cp cc m gi nh cho cc m lnh my Cc ngn ng lp trnh bc thp/cao Hp ng l ngn ng lp trnh bc thp Assembler: Trnh bin dch Ngn ng lp trnh bc cao: Java, C++,Pascal, Basic, C Lp trnh hp ng Chng trnh hp ng bao gm mt chui cc lnh hp ng Mt lnh hp ng bao gm mt m gi nh v cc ton hng

www.ptit.edu.vn

Tn chng

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Ti sao li hc hp ng?
Mc ch ng dng v gio dc Hiu qu (khng gian v thi gian) Hiu tt hn v h thng my tnh Tha mn c nhn

www.ptit.edu.vn

Tn chng

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

C php mt lnh hp ng
Operation Code Destination Operand AX Label Sub1 Source Operand BX

www.ptit.edu.vn

MOV JMP Call

Tn chng

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

nh ngha cc bin, hng s, on b nh


Name X Length DB DW DB DB EQU Value 1FH FFFFH hello DUP(?) 1 Explanation One byte variable 2 byte variable String variable Array variable constant

www.ptit.edu.vn

Y str M constant

Explanation nh ngha on ngn xp nh ngha on d liu

Syntax .stack stack_size .data

Example .stack 100 .data X db 1FH .code


TS. H HI NAM

nh ngha on m Tn chng

.code 6

KHOA CNG NGH THNG TIN 1

Lnh di chuyn d liu (1)


MOV Syntax: MOV <destination>, <source> Example: MOV AL, 100 MOV [BX], AH MOV DS, AX IN Syntax: IN <register>, < input port address> Example: IN AL, 038H; AL MOV DX, 02F8H ; value >255, port num must be stored in DX IN AL, DX
7
TS. H HI NAM

www.ptit.edu.vn

Tn chng

KHOA CNG NGH THNG TIN 1

Lnh di chuyn d liu (2)


OUT Syntax: OUT <output port address>, <source> Example: OUT 0F8H, AL MOV DX, 02F8H ; value >255, port num must be stored in DX OUT DX, AL

www.ptit.edu.vn

So snh
Java x = 10 Y = 42 Assembly mov x,10 mov y,42
TS. H HI NAM

Tn chng

KHOA CNG NGH THNG TIN 1

Cc lnh s hc (1)
ADD Syntax: ADD <destination>, <source> Example: ADD AX, BX ADD AL, 10 ADD [BX], AL FLAGS affected: C, Z, S, P, O, A SUB Syntax: SUB <destination>, <source> Example: SUB AX, BX SUB AL, 10 SUB [BX], AL FLAGS affected: C, Z, S, P, O, A

www.ptit.edu.vn

Tn chng

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cc lnh s hc (2)
MUL Syntax: MUL <source> <source> phi l mt thanh ghi hoc nh Nu <source> l mt s 8 bit AX<- AL* <source> Nu <source> l mt s 16 bit DX AX<- AX* <source> Example: Tnh 20*15 MOV AL, 20 MOV BL, 15 MUL BL FLAGS affected: Z, S, P
10
TS. H HI NAM

www.ptit.edu.vn

Tn chng

KHOA CNG NGH THNG TIN 1

Cc lnh s hc (3)
DIV Syntax: DIV <source> <source> must be a register or a memory location If <source> is a 8-bit number: AX: divisor, AL: quotient, AH: remainder If <source> is a 16-bit number DX AX:source, AX: quotient, DX: remainder Example: Tnh 100/30 MOV AX, 100 MOV BL, 30 DIV BL FLAGS affected: Z, S, P
11
TS. H HI NAM

www.ptit.edu.vn

Tn chng

KHOA CNG NGH THNG TIN 1

Cc lnh s hc (4)
INC Syntax: INC Example: MOV AX, 100 INC AX ; AX++ FLAGS affected: O, Z, S, A, P DEC Syntax: DEC Example: MOV AX, 100 DEC AX ; AX-FLAGS affected: O, Z, S, A, P
12
TS. H HI NAM

www.ptit.edu.vn

Tn chng

KHOA CNG NGH THNG TIN 1

Cc lnh logic (1)


NOT Syntax: NOT <source> o bt ca ton hng <source> Example:

www.ptit.edu.vn

MOV AL, 80H ; 80H-10000000 NOT AL ; 7FH-01111111


FLAGS affected: Z, S, P

Tn chng

13

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cc lnh logic (2)


AND Syntax: AND <destination>, <source> Example: Xa bt th 3 ca AL AND AL, F7H ; F7H :11110111 FLAGS affected: Z, S, P OR Syntax: OR <destination>, <source> Example: Thit lp bt th 3 ca AL OR AL, 08H ; 08H :00001000 FLAGS affected: Z, S, P
14
TS. H HI NAM

www.ptit.edu.vn

Tn chng

KHOA CNG NGH THNG TIN 1

Cc lnh logic (3)


XOR Syntax: XOR <destination>, <source> Example: XOR AL, AL XOR BX, BX FLAGS affected: Z, S, P

www.ptit.edu.vn

Tn chng

15

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cc lnh logic (4)

www.ptit.edu.vn

Tn chng

16

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cc lnh logic (5)

www.ptit.edu.vn

Tn chng

17

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cc lnh iu khin lung chng trnh (1)


Unconditional Jump Syntax: JMP <label> Example: START: ADD AX, BX SUB BX, 1 ...... JMP START

www.ptit.edu.vn

Tn chng

18

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cc lnh iu khin lung chng trnh (2)


Conditional Jump Syntax: JE <label> JZ <nhn> JNE <nhn> JNZ <nhn> JL <nhn> JG <nhn>

www.ptit.edu.vn

Tn chng

19

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cc lnh iu khin lung chng trnh (3)


Repetition Syntax: LOOP <label> Thi hnh cc lnh ngay sau nhn <label> Gim CX i mt n v Example: Calculate the sum of the numbers from 1 to 20
Start: MOV AX, 0 MOV CX, 20 START: ADD AX, CX LOOP START

www.ptit.edu.vn

Tn chng

20

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cc lnh khc
Bit Processing STD STC STI CLD CLC CLI No operation NOP Halt the program HALT

www.ptit.edu.vn

Tn chng

21

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cc lnh iu khin h thng (1)


Comparison
Syntax: CMP Dng: CMP <destination>, <source> Case destination > source destination = source destination < source C 0 0 1 Z 0 1 0 S 0 0

www.ptit.edu.vn

Tn chng

22

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cc lnh iu khin h thng (2)


Stack Instructions
PUSH

www.ptit.edu.vn

Syntax: PUSH <source> <Source> must be a 2-byte operand SP SP + 2 ; {SP} source Example: PUSH AX
POP

Syntax: POP <destination> <destination> must be a 2-byte operand destination {SP} SP SP - 2 ; Example: POP BX
23
TS. H HI NAM

Tn chng

KHOA CNG NGH THNG TIN 1

Cu trc IFTHEN (1)

www.ptit.edu.vn

Tn chng

24

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cu trc IFTHEN (2)

www.ptit.edu.vn

Tn chng

25

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cu trc lp FOR

www.ptit.edu.vn

Tn chng

26

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Cu trc lp REPEAT UNTIL

www.ptit.edu.vn

Tn chng

27

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Thc hnh
iu khin thit b hin th LED iu khin ng c bc (Step Motor) iu khin robot

www.ptit.edu.vn

Tn chng

28

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

Tng kt
Tp lnh : CISC, RISC Cc loi lnh hp ng Xy dng cu trc iu khin lung chng trnh:
IF . . . THEN FOR . . . REPEAT . . . UNTIL

www.ptit.edu.vn

Tn chng

29

TS. H HI NAM

KHOA CNG NGH THNG TIN 1

You might also like