Professional Documents
Culture Documents
Lop : Tin A 52
Bai tap mon Vi xu ly va lap trinh Assembly
De bai : Nhap 1 chu cai tu ban phim . Chuyen chu thuong thanh chu hoa
va nguoc lai .
Bai lam
MODEL SMALL
STACK 100H
DATA TB1 DB “ Nhap vao ki tu thuong $”
TB2 DB 10,13, “Ki tu hoa”
CHR DB ? , “S”
CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
; In ra thong bao nhap ki tu
LEA DX, TB1
INT 21H
; Nhap vao tu ban phim 1 ki tu thuong
MOV AH , 1
INT 21H
; Doi ki tu thuong thanh ki tu hoa
SUB AL, 20H
MOV CHR, AL
; In ra man hinh ki tu hoa
LEA DX, TB2
MOV AH, 9
INT 21H
; Doi ki tu hoa thanh ki tu thuong
SBB AL, 20H
MOV CHR, AL
; In ra man hinh ki tu thuong
LEA DX, TB1
MOV AH,9
INT 21H
; Tro ve DOS
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
Đề bài: Nhập 2 số dạng nhị phân, tính tổng 2 số đó
Ở đây giả thiết làm việc trên môi trương DOS nên các số đều là 16bit (2 bytes)
TITLE BAI2
.MODEL SMALL
.STACK 100H
.DATA
CR EQU 0DH
LF EQU 0AH
.CODE
MAIN PROC
;khởi tạo DS (data segment)
MOV AX,@DATA
MOV DS,AX
;nhập số thứ 2
XOR BX,BX
MOV AH,1
INT 21H
WHILE_2:
CMP AL,CR
JE END_WHILE_2
AND AL,0FH
SHL BX,1
OR BL,AL
INT 21H
JMP WHILE_2
END_WHILE_2:
MOV NUM2,BX
;cộng 2 số
MOV AX,NUM2
ADD NUM1,AX
;quay về DOS
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
ở phần hiển thị kết quả, ta dùng hàm nhảy JAE để kiểm tra trạng thái của cờ CF (nếu CF = 0 thì
hàm nhảy đc thực hiện => xem thêm chương 6 để rõ hơn)
code này các pác xem ở chương 7 ấy, code này kô kiểm tra lỗi, nếu muốn kiểm tra lỗi thì xem thêm
chương 9
công nhận cái này trâu thật, bài này lam trong C chắc mấy dòng :))