1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài tập thực hành Assembler pptx

8 262 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 23,07 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài tập thực hành Assembler 6Bài 6.1.. Viết chương trình xuất ra màn hình một số dòng.. Ví dụ: De chay duoc 1 CT hop ngu ban can thuc hien cac buoc sau: Dich file ASM thanh file OBJ Lien

Trang 1

Bài tập thực hành Assembler 6

Bài 6.1 Viết CT nhập vào 1 ký tự, xuất ra ký tự đó

Ví dụ:

Moi ban nhap 1 ky tu: b

Ky tu vừa nhập: b

Bài 6.2 Viết chương trình xuất ra màn hình một số dòng.

Ví dụ:

De chay duoc 1 CT hop ngu ban can thuc hien cac buoc sau:

Dich file ASM thanh file OBJ

Lien ket file OBJ thanh file EXE

Chay file EXE

Bài 6.3 Viết CT nhập vào 1 ký tự, xuất ra ký tự liền trước và liền sau.

Ví dụ:

Moi ban nhap 1 ky tu: b

Ky tu lien truoc: a

Ky tu lien sau: c

Bài 6.4 Viết CT nhập vào 1 ký tự thường In ra ký tự Hoa

Ví dụ:

Moi ban nhap 1 ky tu: b

Ky tu Hoa: B

Bài 6.5 Viết CT nhập vào 1 ký tự hoa In ra ký tự thường

Ví dụ:

Moi ban nhap 1 ky tu: B

Ky tu thường: b

Bài 6.6 Viết chương trình nhập vào 2 số nguyên dương x1, x2 (1 ≤ x2 < x1 < 9) Xuất ra kết quả các phép tính: x1-1, x1 +2, x1+x2, x1-x2

Ví dụ:

x1 = 5

x2 = 3

x1 – 1 = 4

x1 + 1 = 6

x1 + x2 = 8

x1 – x2 = 7

Bài 6.1 Viết CT nhập vào 1 ký tự, xuất ra ký tự đó

Ví dụ:

Moi ban nhap 1 ky tu: b

Ky tu vừa nhập: b

===================== Giải 6.1: ========================

.model small

.stack 100h

.data

Msg1 DB 9,10,13,"- Moi ban nhap 1 ky tu:$"

1

Trang 2

Msg2 DB 9,10,13,"- Ky tu vua nhap:$"

b DB ?

.code

mov AX,@data

mov DS,AX

mov DX,OFFSET Msg1

mov AH, 9

int 21h

mov AH,1

int 21h

mov b,AL

mov DX,OFFSET Msg2

mov AH, 9

int 21h

mov DL,b

mov AH,2

int 21h

mov AH,4Ch

int 21h

end

===================== END 6.1 ========================

Bài 6.2 Viết chương trình xuất ra màn hình một số dòng.

Ví dụ:

De chay duoc 1 CT hop ngu ban can thuc hien cac buoc sau:

Dich file ASM thanh file OBJ

Lien ket file OBJ thanh file EXE

Chay file EXE

===================== Giải 6.2: ========================

.model small

.stack 100h

.data

Msg DB 10,13, "De chay duoc 1 CT hop ngu ban can thuc hien cac buoc sau:"

DB 10,13,9,"- Dich file ASM thanh file OBJ."

DB 10,13,9,"- Lien ket file OBJ thanh file EXE."

DB 10,13,9,"- Chay file EXE.$"

.code

mov AX,@data

mov DS,AX

mov DX,offset Msg

Trang 3

mov AH,9

int 21h

mov AH,4Ch

int 21h

end

===================== END 6.2 ========================

Bài 6.3 Viết CT nhập vào 1 ký tự, xuất ra ký tự liền trước và liền sau.

Ví dụ:

Moi ban nhap 1 ky tu: b

Ky tu lien truoc: a

Ky tu lien sau: c

===================== Giải 6.3 ========================

.MODEL SMALL

.STACK 100H

.DATA

Msg1 DB "Nhap vao ky tu: $"

Msg2 DB "Ky tu lien truoc la: $"

Msg3 DB "Ky tu lien sau la: $"

XuongDong DB 10,13, "$"

.CODE

MOV AX, @DATA

MOV DS, AX

MOV DX, offset Msg1

MOV AH, 9

INT 21h

;nhap 1 ky tu

MOV AH, 1

INT 21h

mov BH,AL ; luu ky tu vua nhap vao BH

mov DX, offset XuongDong

mov AH, 9

int 21h

;xuat ky tu lien truoc

mov DX, offset Msg2

mov AH, 9

int 21h

mov AH,BH

DEC AH

mov DL, AH ; ky tu xuat dc luu trong DL

3

Trang 4

mov AH,2

int 21h

mov DX, offset XuongDong

mov AH, 9

int 21h

;xuat ky tu lien sau

mov DX, offset Msg3

mov AH, 9

int 21h

mov AH,BH

INC AH

mov DL, AH ; ky tu xuat dc luu trong DL

mov AH,2

int 21h

mov DX, offset XuongDong

mov AH, 9

int 21h

;ket thuc chuong trinh

mov AH, 4Ch ; thoat chuong trinh

int 21h

end

===================== END 6.3 ========================

Bài 6.4 Viết CT nhập vào 1 ký tự thường In ra ký tự Hoa

Ví dụ:

Moi ban nhap 1 ky tu: b

Ky tu Hoa: B

===================== GIẢI 6.4 ========================

.Stack 100

.Data

Msg1 db 'moi ban nhap 1 ky tu: $'

Msg2 db 'Ky tu Hoa: $'

.Code

Main Proc

mov ax, @Data

mov ds, ax

mov ah, 9

lea dx, TB1

int 21h

mov ah, 1

int 21h

mov bl, al

mov ah, 2

Trang 5

mov dl, 10

int 21h

mov dl, 13

int 21h

mov ah, 9

lea dx, TB2

int 21h

mov ah, 2

mov dl, bl

sub dl, 20h

int 21h

mov ah,4Ch

int 21h

Main EndP

End Main

===================== END 6.4 ========================

Bài 6.5 Viết CT nhập vào 1 ký tự hoa In ra ký tự thường

Ví dụ:

Moi ban nhap 1 ky tu: B

Ky tu thường: b

===================== Giải 6.5 ========================

.MODEL small

.STACK 100h

.DATA

Msg1 DB 13,10,"Moi ban nhap 1 ki tu: $"

Msg2 DB 13,10,"Ki tu thuong : $"

KTT DB ?

.CODE

; lay dia chi data dua vao DS

MOV AX,@data

MOV DS,AX

; xuat Msg1

MOV AH,9

MOV DX,offset Msg1

INT 21h

; nhap 1 ki tu tu ban phim va luu vao AL

MOV AH,1

INT 21h

; chuyen thanh ki tu thuong va dua vao KTT

ADD AL,20h ; hoac ADD AL,32

MOV KTT,AL

5

Trang 6

; xuat Msg2 va KTT

MOV AH,9

MOV DX,offset Msg2

INT 21h

MOV AH,2

MOV DL,KTT

INT 21h

; ket thuc chuong trinh

MOV AH,4Ch

INT 21h

END

===================== END 6.5 ========================

Bài 6.6 Viết chương trình nhập vào 2 số nguyên dương x1, x2 (1 ≤ x2 < x1 < 9) Xuất ra kết quả các phép tính: x1-1, x1 +2, x1+x2, x1-x2

Ví dụ:

x1 = 5

x2 = 3

x1 – 1 = 4

x1 + 1 = 6

x1 + x2 = 8

x1 – x2 = 7

===================== Giải 6.6 ========================

.MODEL small

.STACK 100h

.DATA

Msg1 DB 13,10,"x1 = $"

Msg2 DB 13,10,"x2 = $"

KetQua1 DB 13,10,"x1 - 1 = $"

KetQua2 DB 13,10,"x1 + 1 = $"

KetQua3 DB 13,10,"x1 + x2= $"

KetQua4 DB 13,10,"x1 - x2= $"

So1 DB ?

So2 DB ?

.CODE

;Lay dia chi data dua vao DS

MOV AX,@data

MOV DS,AX

; Xuat Msg1 & nhap So1 tu ban phim

MOV AH,9

MOV DX,offset Msg1

INT 21h

MOV AH,1

Trang 7

INT 21h

MOV So1,AL

; Xuat Msg2 & nhap So2 tu ban phim

MOV AH,9

MOV DX,offset Msg2

INT 21h

MOV AH,1

INT 21h

MOV So2,AL

; Chuyen ki tu thanh so

SUB So1,48

SUB So2,48

; Xuat KetQua1 va ket qua phep tinh So1 - 1

MOV AH,9

MOV DX,offset KetQua1

INT 21h

MOV BH,So1 ; Dua So1 vao thanh ghi BH

DEC BH ; Thuc hien phep tinh So1 - 1

ADD BH,48 ; Chuyen ket qua tu So sang Ky tu

MOV AH,2

MOV DL,BH

INT 21h

; Xuat KetQua2 va ket qua phep tinh So2 + 1

MOV AH,9

MOV DX,offset KetQua2

INT 21h

MOV BH,So2 ; Dua So2 vao thanh ghi BH

INC BH ; Thuc hien phep tinh So2 + 1

ADD BH,48 ; Chuyen ket qua tu So sang Ky tu

MOV AH,2

MOV DL,BH

INT 21h

; Xuat KetQua3 va ket qua phep tinh So1 + So2

MOV AH,9

MOV DX,offset KetQua3

INT 21h

MOV BH,So1 ; Dua So1 vao BH

ADD BH,So2 ; Thuc hien phep tinh So1 + So2

ADD BH,48 ; Chuyen ket qua tu So sang Ky tu

MOV AH,2

7

Trang 8

MOV DL,BH

INT 21h

; Xuat KetQua4 va ket qua phep tinh So1 - So2

MOV AH,9

MOV DX,offset KetQua4

INT 21h

MOV BH,So1 ; Dua So1 vao BH

SUB BH,So2 ; Thuc hien phep tinh So1 - So2

ADD BH,48 ; Chuyen ket qua tu So sang Ky tu

MOV AH,2

MOV DL,BH

INT 21h

; ket thuc chuong trinh

MOV AH,4Ch

INT 21h

END

===================== END 6.6 ========================

Ngày đăng: 12/08/2014, 17:20

TỪ KHÓA LIÊN QUAN

w