Professional Documents
Culture Documents
Tra Loi Bai Tap lc3 2182
Tra Loi Bai Tap lc3 2182
Tra Loi Bai Tap lc3 2182
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 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
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 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
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]
Print R0
(TRAP x21)
HALT
(Trap x25)
; 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
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
No
R0 = R0 + R2
R0 = R0 + #5
loc.plsoft@gmail.com 5
Nguyễn Phước Lộc MSSV: 40901457
; 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
loc.plsoft@gmail.com 6