


Preview text:
lOMoAR cPSD| 59908026
PHIẾU GHI KẾT QUẢ QUAN SÁT
LAB 2: TẠO MỘT MACHINE MỚI VỚI CPUSIM Ngày: 23/10/2023
Họ và tên sinh viên: Phùng Thị Thu Huyền Lớp: 64CNTT1
Máy (Machine) mặc định: Machine-new.cpu
Chương trình (Text): Prog-new.a
Nhiệm vụ của sinh viên:
- Chạy chương trình trong file Prog-new.a ở chế độ từng lệnh vi lệnh
- Quan sát nội dung các thanh ghi của CPU, nội dung của các ngăn nhớ trong RAM,
vùng cửa sổ 3 và 5, mục Fetch Sequence
- Ghi nội dung quan sát được vào bảng sau Lệnh hợp ngữ Địa chỉ của Lệnh mã máy Vi lệnh hợp ngữ các ngăn nhớ chứa lệnh Read 0000 0000 0000 0011
pc->mar // Địa chỉ của 0000 0001 0000 0000 lệnh đưa qua mar 0000 0010 0000 0000 Main[mar]->mdr // 0000 0011 0000 0000 Lệnh read từ bộ nhớ đưa qua mdr mdr->ir // Mã lệnh read từ mdr đưa vào ir inc4-pc // Tăng pc lên 4 decode-ir // Giải mã lệnh read input-int->acc // Nhập 1 số nguyên và truyền vào acc End jmpn Done 0000 0100 0000 1011 pc->mar Main[mar]- (acc>=0) 0000 0101 0000 0000 >mdr 0000 0110 0000 0000 0000 0111 0001 0100 mdr->ir inc4- pc decode-ir if(acc>=0) skip-1 // Nếu acc >= 0 thì bỏ qua 1 lệnh (ir(8-31)> pc ) End lOMoAR cPSD| 59908026 1 jmpn Done 0000 0100 0000 1011 pc->mar Main[mar]- (acc<0) 0000 0101 0000 0000 >mdr 0000 0110 0000 0000 0000 0111 0001 0100 mdr->ir inc4-pc decode-ir if(acc>=0) skip-1 ir(8-31)->pc //Truyền địa chỉ lệnh vào pc End add sum 0000 1000 0000 0101 pc->mar Main[mar]- 0000 1001 0000 0000 >mdr 0000 1010 0000 0000 mdr->ir inc4- 0000 1011 0010 0000 pc decode-ir ir(8-31) -> mar // Truyền địa chỉ (8-31) trong ir vào mar Main[mar]->mdr acc+mdr->acc // acc
cộng giá trị của acc và mdr rồi truyền vào acc End store sum 0000 1100 0000 0010 pc->mar Main[mar]- 0000 1101 0000 0000 >mdr 0000 1110 0000 0000 mdr->ir inc4-pc 0000 1111 0010 0000 decode-ir ir(8-31)- >mar acc->mdr // Đưa dữ liệu của arr vào mdr mdr- >Main[mar] End jump Start 0001 0000 0000 1001 pc->mar Main[mar]- 0001 0001 0000 0000 >mdr 0001 0010 0000 0000 mdr->ir inc4- 0001 0011 0000 0000 pc decode-ir ir(8-31)->pc End lOMoAR cPSD| 59908026 load sum 0001 0100 0000 0001 pc->mar Main[mar]- 0001 0101 0000 0000 >mdr 0001 0110 0000 0000 mdr->ir inc4-pc 0001 0111 0010 0000 decode-ir ir(8- 31)->mar Main[mar]- >mdr mdr->acc 2 End Write 0001 1000 0000 0100 pc->mar Main[mar]- 0001 1001 0000 0000 >mdr 0001 1010 0000 0000 mdr->ir inc4-pc 0001 1011 0000 0000 decode-ir output-acc- >int // Viết kết quả ra màn hình End Stop 0001 1100 0000 0000 pc->mar Main[mar]- 0001 1101 0000 0000 >mdr 0001 1110 0000 0000 mdr->ir inc4- 0001 1111 0000 0000 pc decode-ir set-halt-bit End
Địa chỉ của 4 byte dữ liệu mà tổng được lưu trữ (4-byte location where sum is stored): 0010 0000 0010 0001 0010 0010 0010 0011
Giá trị nhị phân của tổng được lưu trong bộ nhớ: 0000 0000 0000 0000 0000 0000 0000 1011
Thông báo trong cửa sổ hiển thị (Console) 3