
BÁO CÁO T P L NHẬ Ệ
L u ý:ư
Tr c tiên ta c n tìm hi u v l i v khí ni m “ướ ầ ể ề ạ ề ệ Thanh ghi tr ng thái - SREG ạ
(STATUS REGISTRY).”
Thanh ghi SREG ch a 8 bit c (flag) ch tr ng thái c a b x lí, t t c các bitứ ờ ỉ ạ ủ ộ ử ấ ả
này đu b xóa sau khi reset, các bit này cũng có th đc đc và ghi b i ch ng ề ị ể ượ ọ ở ươ
trình. Ch c năng c a t ng bit đc mô t nh sau:ứ ủ ừ ượ ả ư
Bit 0 – C (Carry Flag: C nh )ờ ớ : là bit nh trong các phép đi s ho c logic,ớ ạ ố ặ
ví d thanh ghi R1 ch a giá tr 200, R2 ch a 70, chúng ta th c hi n phép c ngụ ứ ị ứ ự ệ ộ
có nh : ADC R1, R2, sau phép c ng, k t qu s đc l u l i trong thanh ghiớ ộ ế ả ẽ ượ ư ạ
R1, trong khi k t qu th c là 270 mà thanh ghi R1 l i ch có kh năng ch aế ả ự ạ ỉ ả ứ
t i đa giá tr 255 (vì có 8 bit) nên trong tr ng h p này, giá tr l u l i trong R1ố ị ườ ợ ị ư ạ
th c ch t ch là 14, đng th i c C đc set lên 1 (vì 270=100001110, trong đóự ấ ỉ ồ ờ ờ ượ
8 bit sau 00001110 =14 s đc l u l i trong R1).ẽ ượ ư ạ
Bit 1 – Z (Zero Flag: C 0)ờ: c này đc set n u k t qu phép toán đi sờ ượ ế ế ả ạ ố
hay phép Logic b ng 0.ằ
Bit 2 – N (Negative Flag: C âm)ờ: c này đc set n u k t qu phép toánờ ượ ế ế ả
đi s hay phép Logic là s âm.ạ ố ố
Bit 3 – V (Two’s complement Overflow Flag: C tràn c a bù 2)ờ ủ : ho t đngạ ộ
c a c này có v s khó hi u cho b n vì nó liên quan đn ki n th c s nhủ ờ ẻ ẽ ể ạ ế ế ứ ố ị
phân (ph n bù), chúng ta s đ c p đn khi nào th y c n thi t.ầ ẽ ề ậ ế ấ ầ ế
Bit 4 – S (Sign Bit: Bit d u)ấ: Bit S là k t qu phép XOR gi a 1 c N và V,ế ả ữ ờ
S=N xor V.
Bit 5 – H (Half Carry Flag: C nh n a)ờ ờ ữ : c H là c nh trong 1 vài phépờ ờ ớ
toán đi s và phép Logic, c này hi u qu đi v i các phép toán v i sạ ố ờ ệ ả ố ớ ớ ố
BCD.
Bit 6 – T (Bit Copy Storage): đc s d ng trong 2 Instruction BLD (Bitượ ử ụ
LoaD) và BST (Bit STorage). Tôi s gi i thích ch c năng Bit T trong ph nẽ ả ứ ầ
gi i thi u v BLD và BST.ớ ệ ề
Bit 7 – I (Global Interrupt Enable) : Cho phép ng t toàn b : Bit này ph iắ ộ ả
đc set lên 1 n u trong ch ng trình có s d ng ng t. Sau khi set bit này,ượ ế ươ ử ụ ắ
b n mu n kích ho t lo i ng t nào c n set các bit ng t riêng c a ng t đó. Haiạ ố ạ ạ ắ ầ ắ ủ ắ
instruction dùng riêng đ Set và Clear bit I là SEI và CLI.ể
I. Ký hi u dùng trong báo cáo:ệ
Rd : Đi m đn (và ngu n) đăng ký trong File Đăng kýể ế ồ

Rr : Ngu n đăng ký trong S đăng ký t p tinồ ổ ậ
R : K t qu sau khi d y đc th c thiế ả ạ ượ ự
K : d li u liên t cữ ệ ụ
k : H ng s đa chằ ố ị ỉ
b : Bit trong File Đăng ký ho c I / O Register ( 3 - bit)ặ
s : Bit trong Status Register ( 3 - bit)
X , Y , Z : Gián ti p Đa ch Đăng kýế ị ỉ
( X = R27 : R26 , Y = R29 : R28 và Z = R31 : R30 )
A: I / O đa ch đa đi mị ỉ ị ể
q : Displacement cho đa ch tr c ti p ( 6 - bit)ị ỉ ự ế
II. Các lênh:
1. Các l nh chuy n d li u:ệ ể ữ ệ
+ MOV: Copy d li u ngu n đn đich MOV đich, ngu n. Trong đó toán h ng đích ữ ệ ồ ế ồ ạ
và g c có th tìm theo các đa ch khác nhau, nh ng ph i có cùng đ dài.ố ể ị ỉ ư ả ộ
Operation: Rd Rr
Syntax: MOV Rd,Rr
Operands: 0 d 31, 0 r 31 ( c u trúc có 5 ch d 2^5 = 32)ấ ữ
Program Counter: PC PC + 1
+ LOAD: N p d li u t b nh đn b x lý.ạ ữ ệ ừ ộ ớ ế ộ ử
LD (T i tr c ti p t không gian d li u đ đăng ký s d ng Index X ):ả ự ế ừ ữ ệ ể ử ụ
LD (T i tr c ti p t không gian d li u đ đăng ký s d ng Index Y)ả ự ế ừ ữ ệ ể ử ụ
LDD (T i tr c ti p t không gian d li u đ đăng ký s d ng Index Y)ả ự ế ừ ữ ệ ể ử ụ
LDD (T i tr c ti p t không gian d li u đ đăng ký s d ng ch s Z)ả ự ế ừ ữ ệ ể ử ụ ỉ ố
LDI (T i ngay)ả
Operation: Rd K
Syntax: LDI Rd,K
Operands: 16 d 31, 0 K 255
Program Counter: PC PC + 1
LDS (T i tr c ti p t không gian d li u)ả ự ế ừ ữ ệ

LDS ( 16 - bit) (T i tr c ti p t không gian d li u)ả ự ế ừ ữ ệ
+ STORE: C t d li u t b x lý đn b nhấ ữ ệ ừ ộ ử ế ộ ớ
ST (C a hàng gián ti p T Đăng ký đ s d ng d li u không gian Index X)ử ế ừ ể ử ụ ữ ệ
ST ( STD ) - Store gián T Đăng ký đ s d ng d li u không gian Index Yừ ể ử ụ ữ ệ
ST ( STD ) - Store gián T Đăng ký đ s d ng d li u không gian Index Zừ ể ử ụ ữ ệ
STS - L u tr tr c ti p đn không gian d li u.ư ữ ự ế ế ữ ệ
+ EXCHANGE: Trao đi n i dung c a ngu n và đích.ổ ộ ủ ồ
+ CLEAR: Chuy n các bit 0 vào toán h ng đích.ể ạ
CLC – Clear Carry Flag
CLH – Clear Half Carry Flag

CLI – Clear Global Interrupt Flag
CLR – Clear Register
CLN – Clear Negative Flag
CLS – Clear Signed Flag
CLT – Clear T Flag

CLV – Clear Overflow Flag
CLZ – Clear Zero Flag
+ SET: Chuy n các bít 1 vào toán h ng đíchể ạ
T ng t trên có các SE C -> Z.ươ ự
+ PUSH: C t n i d ng toán h ng ngu n vào ngăn x p.ấ ộ ụ ạ ồ ế
+ POP: L y n i dung c a đnh ngăn x p đa lên toán h ng đích.ấ ộ ủ ỉ ế ư ạ
2. Các l nh s h c:ệ ố ọ
+ ADD: C ng hai toán h ngộ ạ

