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