YOMEDIA
ADSENSE
Bài tập lập trình LC3 - Nguyễn Phước Lộc
1.276
lượt xem 72
download
lượt xem 72
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài tập lập trình LC3 bao gồm các bài tập lập trình LC3 có gợi ý cách thực hiện. Đây là tài liệu tham khảo dành cho sinh viên và giảng viên ngành Lập trình.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài tập lập trình LC3 - Nguyễn Phước Lộc
- Nguyễn Phước Lộc MSSV: 40901457 EXERCISES 1. Write an LC-3 Assembly language to input a character. Check if this character is ‘A’, display the letter ‘Y’ on screen. 2. Write an LC-3 Assembly language to input a character. Check if this character is ‘A’, change it to ‘a’, then display this letter on screen. 3. Write an LC-3 Assembly language to input a character. Check if this character is a small letter (‘a’ to ‘z’ with the ASCII codes x61 to x7A), change it to the capital, then display this letter on screen. 4. Write an LC-3 Assembly language to input two values from 1 to 4. Compute the summation of these two values and display the result on screen. loc.plsoft@gmail.com 1
- Nguyễn Phước Lộc MSSV: 40901457 Bài 1: Load data R1= mem[3008] Yes R0=0? Load data R0 = mem[3009] Input char from keybd Print ‘Y’ (TRAP x23) No (TRAP x21) R0 = R0 + R1 HALT (Trap x25) Chương trình viết bằng hợp ngữ: ; CHƯƠNG TRÌNH 1 ; Lấy giá trị đảo của ’A(-mã ASCII của A) cộng với giá ; trị nhập vào, nếu = 0 thì in ra ‘Y’ .ORIG x3000 LD R1, NOT_A GETC ADD R0, R0, R1 BRZ KETQUA HALT KETQUA: LD R0, Y OUT HALT NOT_A .FILL x-41 Y .FILL x59 .END Chương trình viết bằng ngôn ngữ máy: loc.plsoft@gmail.com 2
- Nguyễn Phước Lộc MSSV: 40901457 Bài 2: Load data Yes R1= mem[3008] R0=0? Change ‘A’ to ‘a’ R0 = mem[3009] Input char from keybd Print ‘a’ (TRAP x23) No (TRAP x21) R0 = R0 + R1 HALT (Trap x25) Chương trình viết bằng hợp ngữ: ; CHƯƠNG TRÌNH 2 .ORIG x3000 LD R1, NOT_A GETC ADD R0, R0, R1 BRZ KETQUA HALT KETQUA: LD R0, TH OUT HALT NOT_A .FILL x-41 TH .FILL x61 .END Chương trình viết bằng ngôn ngữ máy: loc.plsoft@gmail.com 3
- Nguyễn Phước Lộc MSSV: 40901457 Bài 3 Input char from keybd (TRAP x23) Load data R1= mem[3005] change it to the capital R0 = R0 + R1 Print R0 (TRAP x21) HALT (Trap x25) Chương trình viết bằng hợp ngữ: ; CHƯƠNG TRÌNH 3 ; Theo bảng mã ASCII ta biết chữ hoa ;và chữ thường cách nhau 20h ; Code chương trình viết bằng ASM .ORIG x3000 GETC LD R1, GIAM ADD R0, R0, R1 OUT HALT GIAM .FILL x-20 .END Chương trình viết bằng ngôn ngữ máy: loc.plsoft@gmail.com 4
- Nguyễn Phước Lộc MSSV: 40901457 Bài 4: R2= mem[300F] No R0>=0? R1 = R0 + #5 Input char from keybd Yes Input char (TRAP x23) from keybd (TRAP x23) R0 = R0 + R2 HALT Yes R0 >=0? (Trap x25) No R0 = R0 + R2 R0 = R0 + #5 Giải thích thuật toán: Để chuyển đổi các kí tự ‘0’ – ‘9’ thành R0 = R0 + R1 số 0 – 9 chỉ cần thực hiện phép trừ đi Print R0 30h (mã của ‘0’), nhưng do điều kiện (TRAP x21) số nhập vào từ 1 – 4 nên ta thực hiện R3 = mem[3010] phép trừ đi 35h. Nếu kết quả của phép trừ >=0 có nghĩa là số nhập vào >4 ta thoát chương trình, ngược lại ta R0 = R0 + R3 cộng thêm 5h cho số vừa trừ để trả về đúng số vừa nhập. Thực hiện 2 lần công việc trên và cộng lại 2 số đó ta được kết quả. loc.plsoft@gmail.com 5
- Nguyễn Phước Lộc MSSV: 40901457 Chương trình viết bằng hợp ngữ ; CHƯƠNG TRÌNH 4 .ORIG x3000 LD R2, GIAM GETC ADD R0,R0,R2 BRzp THOAT ADD R1,R0, X5 GETC ADD R0, R0, R2 BRzp THOAT ADD R0,R0,X5 ADD R0,R1,R0 LD R3, TANG ADD R0, R0, R3 OUT HALT THOAT HALT GIAM .FILL x-35 TANG .FILL x30 .END Chương trình viết bằng ngôn ngữ máy: loc.plsoft@gmail.com 6
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn