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

Tài liệu Hợp ngữ assembly phần Đại cương pdf

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 (302.78 KB, 15 trang )

H
H


P NG
P NG


Nguyn Minh Tun
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
2
T
T
à
à
i Li
i Li


u Tham Kh
u Tham Kh


o
o
1.
Peter Norton's Assembly Language Book for The
IBM PC
Peter Norton's & Johns Socha - Prentice Hall
Press - 1986
2. Programmer's Guide to The IBM PC


Peter Norton - Microsoft Press
3. Turbo Assembler Bible
Gary Syck - SAMS – 1991
4. Assembly Programming Language & IBM / PC
Ythayu & Charles Marut
5. The Pentium Microprocessor
James L.Antonakos – Prentice-Hall, Inc. - 1997
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
3
H
H


P NG
P NG


1.
i Cng v Hp Ng
2. Kiu nh V và C
3. Lnh Nhy và Lp
4. Ngn Xp và Th Tc
5. Nhp Xut S H 2/16
6. Nhp Xut S H 10
7. Lnh Chui
8. Bàn Phím và Màn Hình
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
4
1.
1.





i Cng v
i Cng v


H
H


p Ng
p Ng


1.1. T Chc B Nh CPU Intel 80x86
1.2. T ChcThanh Ghi
1.3. Máy Ng & Hp Ng
1.4. Cu Trúc Chng Trình Hp Ng
1.5. Mt S Lnh n Gin
1.6. To Chng Trình Hp Ng
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
5
1.1. T
1.1. T


Ch
Ch



cB
cB


Nh
Nh


CPU Intel
CPU Intel

n v nh: Byte.
 CPU S bit Dung lng nh
đa ch
– 8086/8088 20 bit 1 MB
– 80286 24 bit 16 MB
– 80386  32 bit 4096 MB (4 GB)
 Ch đ hot đng:
–Thc: b nh1 MB (8086/88 )
–Bo v: b nh16MB (286), 4GB (386 )
Mc nhiên
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
6
1.1. T
1.1. T


Ch

Ch


cB
cB


Nh
Nh


CPU Intel (tt)
CPU Intel (tt)

1134:1023  tuyt đi:
1134  1134
0
1023  01023
12363
 4A37B 
– a ch ô tng ng vi đon 40FF:
4A37B
- 40FF
0
0938B đa ch ô = 938B
– a ch đon tng ng vi ô 123B:
4A37B
-0 123B
4 9140 đa ch đon = 4914
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03

7
1.2. T
1.2. T


Ch
Ch


c Thanh Ghi
c Thanh Ghi

Gm 4 nhóm:
– Thanh ghi đon
– Thanh ghi đa dng
– Thanh ghi con tr và ch s
– Thanh ghi c và con tr lnh.
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
8
1.3. M
1.3. M
á
á
y Ng
y Ng


& H
& H



p Ng
p Ng



Lnh Dng máy ng Dng hp ng
1 B4 02 MOV AH, 02h
2 80 C2 30 ADD DL, 30h
350 PUSHAX
 Dch chng trình:
Trình ngun
(hp ng)
Trình đích
(máy ng)
Trình
hp dch
(Assembly language) (Assembler) (Machine language)
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
9
1.4. C
1.4. C


uTr
uTr
ú
ú
c ChngTr
c ChngTr

ì
ì
nh H
nh H


p Ng
p Ng



T chc chng trình đn gin
.MODEL SMALL
; Kiu chng trình
.STACK ; Khai báo ngn xp
.DATA ; Phn d liu
…………………
.CODE ; Phn lnh
…………………
END
; Lnh cui cùng
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
10
1.5. M
1.5. M


t S
t S



L
L


nh n Gi
nh n Gi


n
n

Cách vit s:
–Thp phân: 123, -54, 123d
–Thp lc: 12Ah, 0Ah
–Nh phân: 1011b
 Cách vit ký t / chui:

‘A’, “A”, ‘Hello!’, “Hi!”
– ”Don’t forget me!”, ‘”Forget me not!”’
– ’Don’’t forget me!’
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
11
1.5. M
1.5. M


t S
t S



L
L


nh n Gi
nh n Gi


n (tt)
n (tt)

Khai báo bin / vùng nh:
Tên DB Tr1, Tr2,… ; Kiu Byte
Tên DW Tr1, Tr2,… ; Kiu Word
 Ví d:
BVar1 DB 5
BVar2 DB ?
BArr DB 10, 11, 12
WVar1 DW 10
WVar2 DW 1234h
Str1 DB ‘ABC’
Str2 DB 13, 10, ‘Hello!’, 10, ‘$’
Sco DB 6 DUP(0)
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
12
1.5. M
1.5. M



t S
t S


L
L


nh n Gi
nh n Gi


n (tt)
n (tt)

nh ngha hng:
Tên EQU Hng
Ví d:
CR
EQU 0Dh
LF
EQU 0Ah
MESS
EQU ‘Du lieu nhap sai!’
STR1 DB CR, LF, MESS, ‘$’
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
13
1.5. M
1.5. M



t S
t S


L
L


nh n Gi
nh n Gi


n (tt)
n (tt)
$!OLLEHS
DS:DX
MOV AH, 9
MOV BX, SEG S
MOV DS, BX
MOV DX, OFFSET S
INT 21h
HELLO!
S DB ‘HELLO!$’
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
14
1.6. T
1.6. T



o Ch.Tr
o Ch.Tr
ì
ì
nh H
nh H


p Ng
p Ng



Qui trình:
1. Son chng trình (ngun)
2. Dch chng trình (ngun)
3. Liên kt chng trình (đi tng)
4. Chy chng trình (đích)
NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03
15
1.6. T
1.6. T


o Ch.Tr
o Ch.Tr
ì
ì
nh H
nh H



p Ng
p Ng


(tt)
(tt)
Trình ngun
mov ah, 2…
Trình son tho
Notepad,…
Trình ngun
CT.ASM
Trình hp dch
C>TASM CT
Trình liên kt
C>TLINK CT
Trình đích
C>CT
Tp đi tng
CT.OBJ
Trình đích
CT.EXE
Kt qu
???

×