Tài liệu tham khỏa: Lập trình hợp ngữ

109 24 0
Tài liệu tham khỏa: Lập trình hợp ngữ

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lập trình hợp ngữ là ngôn ngữ bậc thấp Các VXL chỉ làm việc với các chỉ thị lệnh ở dạng nhị phân và đang ở trong bộ nhớ chính của hệ thống vi xử lý. Các ngôn ngữ bậc cao (chỉ mang tính tương đối ) như Pascal, C, java,... dễ hiểu và dễ viết tuy nhiên 1 chương trình ở ngôn ngữ bậc cao ngắn gọn có thể tạo ra 1 chương trình ở dạng nhị phân chiếm nhiều không gian ở bộ nhớ chính và chương trình được thực hiện chậm hơn....

LẬP TRÌNH HỢP NGỮ Ngơn ngữ lập trình • Ngơn ngữ lập trình – Phương tiện để viết chương trình cho máy tính – Hàng trăm ngơn ngữ lập trình khác – Những quy định cú pháp (syntax) & ngữ nghĩa (semantic) – Máy tính hiểu • Phân chia làm nhóm – Ngơn ngữ máy - Machine languages • Ngơn ngữ máy tính - CPU – Hợp ngữ - Assembly languages – Ngôn ngữ cấp cao - High-level languages Ngôn ngữ máy - Machine languages • Ngơn ngữ máy tính (CPU) hiểu trực tiếp • Được xác định tập lệnh CPU – – – – Phụ thuộc vào máy tính cụ thể Dạng nhị phân {0,1}* Rất khó đọc hiểu Khó có khả viết chương trình trực tiếp • Khó nhớ hàng chục ngàn lệnh dạng {0,1}* • Rất khó xác định & sửa lỗi • Khơng sử dụng thực tế để viết chương trình • Nền tảng xây dựng hợp ngữ Hợp ngữ - Assembly Languages • Sử dụng từ khóa tiếng Anh cho lệnh hay nhóm lệnh mã máy • Được dịch sang mã máy thực • Chuyển đỗi nhanh chóng • Dễ đọc dễ hiểu • Vẫn tương đối khó sử dụng – Các lệnh đơn giản nên phải dùng nhiều lệnh – Chưa có cấu trúc điều khiển thuận tiện – Khả tìm sửa lỗi chưa thuận tiện • Nền tảng xây dựng ngơn ngữ cấp cao Ngơn ngữ cấp cao • Một câu lệnh diễn tả nhiều động thái • Có cấu trúc ngày giống ngơn ngữ tự nhiên (tiếng Anh) • Được dịch sang assembly hay mã máy chương trình dịch trước thực thi – Source code & Executed code • Được phân làm nhiều lớp – Lập trình goto – Lập trình cấu trúc – Structured – Lập trình hướng đối tượng – Object Oriented – Các dạng khác Học ngơn ngữ lập trình • Học ngữ pháp – Quy tắc ngữ pháp – Từ vựng – Cấu trúc câu • Ngữ nghĩa lệnh • Các “thành ngữ” • Học ngơn ngữ lập trình VS Học ngôn ngữ tự nhiên – Quy tắc ngữ pháp đơn giản – Từ vựng ít, tự quy định – Cấu trúc câu đơn giản • Hạn chế khó khăn sử dụng ngơn ngữ lập trình Chương trình dịch • Dùng để dịch từ ngơn ngữ lập trình sang ngơn ngữ lập trình khác • Mục tiêu cuối dịch sang mã máy để có executed code –> chương trình thực thi • Phân loại: – Intepreter – thông dịch – Compiler – biên dịch – Intepreter vs Compiler • Cơng cụ phát triển – Integrated Development Environment (IDE) – Soạn thảo – Dịch sửa lỗi chương trình – Chạy thử sửa lỗi Một số khái niệm khác • Lỗi sửa lỗi – Syntax error – lỗi ngữ pháp – Semantic error- lỗi ngữ nghĩa – Runtime error - Lỗi thực thi • Debug – Tìm sửa lỗi • Dữ liệu, kiểu liệu – Các kiểu liệu • integer, long, character, byte, … • Real (double, float) • Kiểu khác: string – Kiểu liệu có cấu trúc: array, string, record, • Biến (Variable) & Hằng (Constant) • Giải thuật: khái niệm, cơng cụ biểu diễn • Flow chart – lưu đồ Cấu trúc điều khiển If then Statement; If then Statement else Statement 2; Case of value : Statement 1; ……… value n : Statement n; else : Statement end; While Statement; Repeat Statement until ; For counter=start value to end value Statement; For counter=start value downto end value Statement Chu kỳ sống phần mềm • Thu thập yêu cầu • Phân tích thiết kế • Phát triển chương trình - codeing – Xác định giải thuật – Viết code dịch thử , hiệu chỉnh lỗi syntax • Thử nghiệm - Testing – Chạy thử với liệu mẫu để kiểm tra lỗi semantic runtime • Vận hành bảo trì • Phát triển theo u cầu Ví dụ : Dùng vịng lặp in hàng 80 dấu ‘*’ MOV MOV MOV TOP: INT LOOP CX,80 AH,2 DL,’*’ ; CX chưá số lần lặp ; hàm xuất ký tự ;DL chưá ký tự ‘*’ 21h ; in dấu ‘*’ TOP ; lặp 80 lần Vòng WHILE • Vòng WHILE phụ thuộc vào điều kiện Nếu điều kiện thực vịng WHILE Vì điều kiện sai vịng WHILE khơng thực Ví dụ : Viết đoạn mã để đếm số ký tự nhập vào hàng MOV DX,0 MOV AH,1 INT 21h ; DX để đếm số ký tự ;hàm đọc ký tự ; đọc ký tự vào AL WHILE_: CMP JE INC INT JMP END_WHILE : AL,0DH ; có phải ký tự CR? END_WHILE ; , thoát DX ;tăng DX lên 21h ; đọc ký tự WHILE_ ; lặp Vịng REPEAT • Cấu trúc REPEAT repeat statements until condition • Trong cấu trúc repeat mệnh đề thi hành đồng thời điều kiện kiểm tra Nếu điều kiện vịng lặp kết thúc Ví dụ : viết đoạn mã để đọc vào ký tự gặp ký tự trống MOV AH,1 ; đọc ký tự REPEAT: INT 21h ; ký tự AL ;until CMP AL,’ ’ ; AL=‘ ‘? JNE REPEAT Lập trình với cấu trúc cấp cao • • Bài tốn: Viết chương trình nhắc người dùng gõ vào dòng văn Trên dòng in ký tự viết hoa ký tự viết hoa cuối theo thứ tự alphabetical Nếu người dùng gõ vào ký tự thường , máy thông báo ‘No capitals’ Kết qủa chạy chương trình sau : Type a line of text : truong dAi hoc sU pham First capital = A Last capital = U Để giải toán ta dùng kỹ thuật lập trình TOP-DOWN , nghĩa chia nhỏ toán thành nhiều toán Có thể chia tốn thành tốn sau : Xuất chuỗi ký tự ( lời nhắc) Đọc xử lý dòng văn In kết qủa Bước 1: Hiện dấu nhắc MOV AH,9 ; hàm xuất chuỗi LEA DX,PROMPT ; lấy địa chuỗi vào DX INT 21H ; xuất chuỗi Dấu nhắc mã hố đoạn số liệu: PROMPT DB ‘Type a line of text :’,0DH,0AH,’$’ Bước : Đọc xử lý dòng văn Read a character WHILE character is not a carrige return DO IF character is a capital (*) THEN IF character precedes first capital first capital= character End_if IF character follows last character last character = character End_if END_IF Read a character END_WHILE Then Then Trong dịng (*) có nghĩa điều kiện để ký tự hoa điều kiện AND IF ( ‘A’ LAST ? JNG END_IF ; chương trình thực thi

Ngày đăng: 11/05/2021, 01:47

Mục lục

  • LẬP TRÌNH HỢP NGỮ

  • Ngơn ngữ lập trình

  • Ngơn ngữ máy - Machine languages

  • Hợp ngữ - Assembly Languages

  • Ngơn ngữ cấp cao

  • Học ngơn ngữ lập trình

  • Một số khái niệm khác

  • Cấu trúc điều khiển cơ bản

  • Chu kỳ sống của phần mềm

  • Một số ngơn ngữ lập trình

  • Lập trình hợp ngữ

  • Trường Tên ( Name Field)

  • Các kiểu số liệu trong chương trình hợp ngữ

  • Nhắc lại phương pháp định địa chỉ

  • Thanh ghi đa dụng

  • Thanh ghi cờ (Flag)

  • Chuỗi các ký tự ( character strings)

  • Cấu trúc của một chương trình hợp ngữ

  • Các kiểu bộ nhớ ( memory models)

  • Cấu trúc chương trình

Tài liệu cùng người dùng

Tài liệu liên quan