1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập lớn môn kiến trúc máy tính ngành công nghệ thông tin

4 525 1

Đ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 4
Dung lượng 350,5 KB

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

Nội dung

I Viết chương trình Chương trình cho phép nhập vào một chuỗi ký tự và in ra chuỗi nghịch đảo. Chương trình sử dụng cả 3 đoạn mã lệnh, dữ liệu, ngăn xếp. 1.code chương trình TITLE DAOCHUOI .MODEL SMALL .DATA M1 DB NHAP VAO 1 CHUOI : M2 DB CHUOI NGICH DAO LA: .CODE MAIN PROC MOV AX,DATA MOV DS,AX ;HIEN CHUOI M1 RA MAN HINH MOV AH,9 LEA DX,M1 INT 21H ;KHOI TAO VONG LAP BAN DAU CX=0 MOV CX,0 NHAP: ;DOC KY TU TU BAN PHIM MOV AH,1 INT 21H CMP AL,0DH ;SO SANH AL VOI ENTER JE INRA ;NHAN ENTER THI NHAY DEN INRA XOR AH,AH ;AH=0 PUSH AX ;DAY AX VAO NGAN XEP INC CX ;TANG CX LEN 1 JMP NHAP ;QUAY LAI NHAP INRA: ;HIEN CHUOI M2 RA MAN HINH MOV AH,9 LEA DX,M2 INT 21H LAP: POP AX ;LAY NOI DUNG RA KHOI NGAN XEP MOV DL,AL MOV AH,2 INT 21H ;HIEN KY TU LOOP LAP CALL THOAT ;GOI THU TUC MAIN ENDP THOAT PROC MOV AH,4CH INT 21H RET THOAT ENDP END MAIN ..........................................

Trang 1

BÀI TẬP LỚN : MÔN KIẾN TRÚC MÁY TÍNH

Họ và tên : PHẠM HỮU THANH

Lớp : 50th2

MSSV :0851061208

**************************** ***************************

I/ Viết chương trình

Chương trình cho phép nhập vào một chuỗi ký tự và in ra chuỗi nghịch đảo Chương trình sử dụng cả 3 đoạn mã lệnh, dữ liệu, ngăn xếp

1.code chương trình

TITLE DAOCHUOI

.MODEL SMALL

.DATA

M1 DB 'NHAP VAO 1 CHUOI :$'

M2 DB 'CHUOI NGICH DAO LA:$'

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

;HIEN CHUOI M1 RA MAN HINH

MOV AH,9

LEA DX,M1

INT 21H

;KHOI TAO VONG LAP BAN DAU CX=0

MOV CX,0

NHAP:

;DOC KY TU TU BAN PHIM

MOV AH,1

INT 21H

CMP AL,0DH ;SO SANH AL VOI ENTER

JE INRA ;NHAN ENTER THI NHAY DEN INRA

XOR AH,AH ;AH=0

PUSH AX ;DAY AX VAO NGAN XEP

INC CX ;TANG CX LEN 1

JMP NHAP ;QUAY LAI NHAP

INRA:

;HIEN CHUOI M2 RA MAN HINH

MOV AH,9

LEA DX,M2

INT 21H

LAP:

POP AX ;LAY NOI DUNG RA KHOI NGAN XEP

MOV DL,AL

MOV AH,2

INT 21H ;HIEN KY TU

LOOP LAP

CALL THOAT ;GOI THU TUC

MAIN ENDP

Trang 2

THOAT PROC

MOV AH,4CH

INT 21H

RET

THOAT ENDP

END MAIN

*************************** ***************************

2.Chạy chương trình:

KHI CHẠY NHAN.EXE TA ĐƯỢC CHƯƠNG TRÌNH NHƯ SAU:

NHẬP VÀO CHUỖI ASDFG TA ĐƯỢC:

KẾT QUẢ THU ĐƯỢC: GFDSA

Trang 3

II/ Dùng debug giám sát chương trình:

Bước đầu tiên sau khi vào dùng debug để vào chương trình, ta dùng lệnh r để xem nội dung của các thanh ghi trong bài dưới dạng hex

a)Xác định giá trị cặp thanh ghi:

-Đoạn chứa phần mã lệnh CS=13EF

-Đoạn chứa phần mã lệnh IP= 0000

-Đoạn chứa phần mã lệnh DS= 13DF

-Đoạn chứa phần mã lệnh SI=0000

-Đoạn chứa phần mã lệnh SS =13EF

-Đoạn chứa phần mã lệnh SP= 0000

-Dòng thứ ba của chương trình chứa địa chỉ segment : offset, mã máy và dạng hợp ngữ Các cặp chữ ở cuối dòng thứ hai là các trạng thái hiện thời của cờ ( bao gồm cờ trạng thái và cờ điều khiển) Và ở đây chỉ có cờ ngăt được thiết lập còn các cờ khác như cờ tràn, cờ định hướng, cờ dấu, cờ zero và cờ nhớ phụ, cờ chẵn lẽ, cờ nhớ đều được xóa

b)Xác định vị trí bắt đầu và kết thúc của các đoạn:

Trang 4

- Chương trình bắt đầu tại 0000h và kết thúc tại 0012h Nhìn vào sơ đồ hình vẽ dưới ta có thể thấy được điểm kết thúc, còn các phần còn lại là các kí tự đi kèm theo mã assembly do chương trình debug tạo ra

Tiếp đến để hiển thị chương trình ta gõ _U 0000 0012 để hiện thị chương trình

Chương trình sẽ tự động dịch ngược các lệnh từ cuối 0012 lên

-MÃ LÊNH:

+Vị trí bắt đầu

+Vị trí kết thúc

-DỮ LIỆU

+Vị trí bắt đầu

+Vị trí kết thúc

-NGĂN XẾP

+Vị trí bắt đầu

+Vị trí kết thúc

-Vị trí địa chỉ logic segment:

-Vị trí địa chỉ vật lý:

*So sánh

c)Dịch ngược

Ngày đăng: 02/06/2015, 10:35

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w