TH C T P<br />
<br />
N i dung 1<br />
Tìm hi u và s d ng các ph n m m CPUZ,<br />
Portable Everest, HDtune ki m tra t ng<br />
quát máy tính<br />
<br />
1<br />
<br />
N i dung 2<br />
Tìm hi u và s d ng b mô ph ng máy tính<br />
MARIE<br />
Dùng h p ng MARIE vi t chương trình<br />
Ch y chương trình<br />
Theo dõi ho t ng<br />
<br />
Máy MARIE (the Machine Architecture<br />
that is Really Intuitive and Easy )<br />
Các thu c tính ki n trúc:<br />
Binary, bi u di n data theo s bù 2.<br />
Stored program, ch th và data có chi u dài (words) c<br />
nh.<br />
B nh chính a ch hóa theo word, dung lư ng 4K words.<br />
data word có chi u dài 16-bit.<br />
16-bit instructions, 4-bit cho opcode và 12-bit cho a ch .<br />
16-bit arithmetic logic unit (ALU).<br />
Có b y thanh ghi i u khi n và d li u<br />
<br />
2<br />
<br />
Các thanh ghi trong MARIE<br />
Accumulator, AC, 16-bit , lưu toán t i u ki n<br />
(ví d “nh hơn”) hay m t toán h ng c a các<br />
ch th có hai toán h ng.<br />
MAR, 12-bit, lưu a ch b nh c a ch th hay<br />
toán h ng.<br />
MBR, 16-bit, lưu data sau khi l y t b nh hay<br />
trư c khi ghi vào b nh .<br />
<br />
Các thanh ghi (tt)<br />
Program counter, PC, 12-bit.<br />
Instruction register, IR,<br />
Input register, InREG, 8-bit, lưu data c t<br />
m t thi t b nh p.<br />
Output register, OutREG, 8-bit, lưu data s n<br />
sàng cho thi t b xu t<br />
<br />
3<br />
<br />
4<br />
<br />
Opcode<br />
(Hex<br />
)<br />
<br />
Instruction<br />
<br />
Operand<br />
<br />
Description<br />
<br />
0<br />
<br />
JnS<br />
<br />
<br />
<br />
Jump to subroutine at operand address + 1<br />
(Saves return address at operand address)<br />
<br />
1<br />
<br />
Load<br />
<br />
<br />
<br />
Load contents of operand address into ACCESS-LIST<br />
<br />
2<br />
<br />
Store<br />
<br />
<br />
<br />
Store contents of AC at operand address<br />
<br />
3<br />
<br />
Add<br />
<br />
<br />
<br />
Add contents of operand address to ACCESS-LIST<br />
<br />
4<br />
<br />
Subt<br />
<br />
<br />
<br />
Subtract contents of operand address from ACCESS-LIST<br />
<br />
5<br />
<br />
Input<br />
<br />
<br />
<br />
Input a value from the keyboard into ACCESS-LIST<br />
<br />
6<br />
<br />
Output<br />
<br />
<br />
<br />
Output contents of AC to the display<br />
<br />
7<br />
<br />
Halt<br />
<br />
<br />
<br />
Stop the MARIE machine<br />
<br />
000<br />
Skipcond<br />
<br />
Skip the next instruction when AC < 0<br />
<br />
400<br />
<br />
Skip the next instruction when AC = 0<br />
<br />
800<br />
<br />
8<br />
<br />
Skip the next instruction when AC > 0<br />
<br />
9<br />
<br />
Jump<br />
<br />
A<br />
<br />
Clear<br />
<br />
B<br />
<br />
AddI<br />
<br />
<br />
<br />
Add Indirect<br />
<br />
C<br />
<br />
JumpI<br />
<br />