Hướng dẫn lập trình với assembly

187 472 0
Hướng dẫn lập trình với assembly

Đ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

ĐẠI HỌC QUỐC GIA HN TRUNG TÂM T1IỎNG TIN • TH Ư VIỆN 004/22 V-GO NHÀ XUẤT BẢN KHOA HỌC VÀ KỸ THUẬT LẼ M Ạ N H THẠNH (chu biên) NGUYỄN KIM TUẤN HƯỚNG DẨN LẬP TRÌNH VỚI ASSEMBLY q p NHÀ XUẤT BẢN KHO A HỌC V À KỸ THUẬT HÀ N Ộ I -2001 M ỤC LỰC • * Trang LỜI NÓI DẦU Chương NHẬP MƠN LẬP TRÌNH HỢP NGỮ I Tóm tắt lý th u y ế t 1.1 Cấu trúc chươngtrinh hợpngữ 1.2 Biến khai báo bien 1.3 Giới thiệu số toán tử 1.4 Giới thiệu số hàm củangắt 21h .11 1.5 Các ché độ địa c h ỉ 14 1.6 Một số ví d ụ 15 II Câu hỏi tự kiểm t r a 16 III Bài tập có lời giải 18 Phần giải 19 IV Bài tập không lời g iả i 45 Chương NGĂN XEP & CHƯƠNG TRÌNH CON 46 I Tóm tát lý th u y ết 46 1.1 Ngăn xép (Stack) 46 1.2 Chương trình (Sub-Program) 48 1.3 Truyền tham so cho chương trình 52 II Câu hỏi tự kiểm t r a 53 III Bài tập có lời giải 54 Phần giải 56 IV Bài tập không lời g iả i 87 Chương LẬP TRÌNH THƯỜNG TR Ú 88 I Tóm tắt lý thuyết 88 _ _HƯ ONG DAN LẠP TRINH VO I ASSEMBl EY 1.1 Vector ngắt bảng vector n g t 88 1.2 Kỹ th u ật chặn n g 89 1.3 Kỹ thuật lập trình thuồng tr ú 90 II Câu hỏi tự kiểm tra 91 III Bài tập có lời giải 92 Phần giải 93 IV Bài tập không lời g iả i 132 Chương LẬP TRÌNH TRÊN ĐÌA VÀ TÁP TIN 133 I Tóm tắt lý th u y ế t 133 1.1 Một số khái niệm 133 1.2 Bảng Partition Master Boot 135 1.3 Tổ chức lưu trừ thông tin đ ĩ a 137 1.4 Giới thiệu số hàm/ ngắt cúa D O S 142 II Bài tập có lời g iải 146 Phần giải 147 III Bài tập không lời g iả i 182 PHỤ L Ụ C 183 TÀI LIỆU THAM KHẤO 186 LỊI NĨI ĐẨU Assembly (hợp ngữ) ngơn ngữ lập trình cấp thấp, tiếp cận với co nhiều điều kiện đê hiểu vé cáu trúc máy tính tổ chức hoạt động hệ điều hành mà cụ thê máy tính PC hệ điều hành MS-DOS Do Assembly mơn học bắt buộc đôi với sinh viên thuộc chuyên ngành Cơng nghệ Thơng tin, Tốn - Tin, Điện tử - Tin học, cùa trường Đại học, Cao đẳng nước Hiện tài liệu viết ngôn ngữ Assembly xuất nhiều tài liệu viết hướng dẫn lập trinh Assembly thi Đây trở ngại lớn đôi với sinh viên muốn tiếp cận với lập trình Assembly, phong cách lập trinh Assembly co khác so với ngơn ngữ lập trình cấp cao Mặt khác, để lập trinh dưực VỚI Assembly thi trước hết người lập trình phái có hiểu biết định vè máy tinh hệ điều hành Với lý trên, biên soạn Hướng dan lập trìn h với Assembly Sách dược viết dạng: đưa yêu cầu íđi' tập) lập trình, giới thiệu kiến thức cần thiết chuẩn bị cho lập trinh hướng dân bước thực hiện, cuối đưa mã lệnh đầy đu cứa chương trình Đày tài liêu bơ ích chu muốn tiếp cận VỚI lập trinh Assembly muốn khai thác sâu hệ thống máy tính hệ điều hành ngơn ngữ Assembly Sách gồm bôn chương, chương chia thành ba phần: Tóm tắt lý thuyết, tập hướng dẫn lập trình, bai tập đề nghị Chương hướng dẫn viết chương trình đơn giản nhằm củng cố lại hiểu biết ghi, nhớ, chê độ xác định địa chi nhớ CPU, ngắt Ihàm DOS BIOS, kiến thức bán vể Assemblv Đặc biệt la chương muôn bạn làm quen với cấu trúc chương trinh dạng COM viết cho chương trình biên dịch AS6 (A86.com), trình biên dịch mà dũng đê dịch tất chương trinh viết sách Các chương trình chương nhằm giúp bạn hiểu rõ cấu trúc hoạt động Stack làm quen với cách viết chương trinh Assembly Ngắl, kỹ thuật chặn ngắt kết hợp chặn ngắt lập trình thường trú nhớ mục tiêu chương 3, chương muốn giới thiệu với bạn cấu trúc chương trình b H U Ớ N G DÂN LẬP TRÌNH VĨI ASSEMBLY thường trú điên hình giúp hạn cài đặt bảt kỳ chương trinh thường trú cách đơn giản tránh xung đột với chương trinh khác, cỏ thẻ nói chương chương dành riêng cho đỉa tập tin, chương giúp bạn hiếu rõ vế đĩa tô chức lưu trữ thông tin trẽn đĩa kỹ thuật truy xuất đến khôi thông sô quan trọng đĩa Tuy cô gắng trinh biên soạn sách tránh khỏi thiếu sót, chúng tơi mong nhận nhữĩitĩ ý kiến đóng góp quý báu cúa bạn đồng nghiệp quý độc giả Chúng xin chăn thành cảm ơn quý thầy cô bạn sinh vién Khoa Công nghệ Thông tin, Trường Đại học Khoa học H uế đả giúp đở động viên biên soạn sách Chúng củng xin cảm ơn Nhà xuất bán Khoa học Kỹ thuãt đả giúp đưa sách đến VỚI bạn đọc, đặc biệt đến với sinh viên chúng tỏi Các tác giả CHƯƠNG NHẬP MƠN LẬP TRÌNH HỢP NGỮ • • • I rĨM TẮT l ý t h u y ế t 1.1 c ấ u trú c c ủ a m ộ t ch n g trìn h hdp n g ữ a Cấu trúc CT d n g EXE b Cấu trúc CT d n g COM Model Small Model •Stack lOOh ■Code Sraall Org lOOh •Data ;Các khai báo liệu • : Jmp Code ; Các kha i háo liệu Proc : ;Các lệnh ; Các lệnh Endp End End cStart> Chú ỷ: • Đối với chương trình dạng EXE có khai báo đoạn data, nên viết hai lệnh sau đầu chương trình: mov ax,@data mov ds,ax để đặt địa đoạn đoạn Data vào DS • Đe két thúc chương trình dạng EXE ta dùng hàm 4Ch ngắt 21h Ví dụ: • mou ah,4ch Int 21h Đẻ két thúc chương trình dạng COM ta dùng ngát 20h DOS lệnh RET Ví du: lnt 20h HƯ ỚNG D Ẫ N LẬP TRÌNH VOI ASSEMBLV Ví dụ: Viết chương trình in hinh câu thòng báo Khoa CNTT hai dạng EXE COM D ạng EXE Model Small ■Stack 100h Data TB DB 'Khoa CNTT $ ' ■Code Main Proc mov ax,@data mov ds,ax mov ah,09h lea Int dx,TB 21h mov ah,4ch Int 21h Main endp END D ạng COM Small ■Model •Code ORG lOOh Start: Jmp TB Quadata Quadata DB 'Khoa CNTT $ ' Proc mov ah,09h lea dx,TB Int 21h Int 20h Quadata Endp END S tart C hương L NHẬP M Ó N LẬP TRÌNH HỌP NGŨ 1.2 B iế n v k h a i b o b iế n Bién hợp ngữ có vai trò biến ngón ngữ láp trình khác Mỗi biến có kiểu liệu riêng, đựơc gán địa nhớ Trong hợp ngữ ta dùng toán tử giả sau để khai báo biến: DB khai báo biến kiểu Byte DW khai báo bién kiểu Word DD khai báo biến kiểu Doubleword DQ khai báo bién word DT khai báo biến 10 byte a K hai báo biến kiểu byte DB B_đem DB ; khỏi tạo giá trị B_đem DB ? ; khòng khối tạo giá trị đau TB DB 'Khoa CNTT $' TB DB 0Dh,0Ah,'Khoa CNTT $' Ki_tu DB 'ABC' Ki_tu DB 41h,42h,43h TB DB 'Khoa CNTT',0Dh,0Ah,'$' DW DUP () 10 H U Ớ N G DẪN LẬP TRÌNH V Ó I ASSEMBLY T ác dụng: lặp lại n lần với n đươc xác định bỏi Ta thường dùng toán tử Dup để khai báo dày (mảng) phần tử có kiểu dừ liệu giá trị khỏi đau Ví dụ 1: Mangl DB 10 Dup (0) Khai báo tương đương M angl DB 0, 0, 0, 0,0, 0, 0, 0, 0, Ví dụ 2: Mang2 DB ,3 ,5 Dup (10) Khai báo tương đương Mang2 DB 12, 32, 10, 10, 10, 10, 10 Ví dụ 3: Mang3 DB 5, 4, 2Dup (2, Dup (0), 1) Khai báo tương đương Mang3 DB 5, 4, 2, 0, 0, 0, 1, 2, 0, 0, 0, b Toán tứ PTR Cú p háp: PTR Trong đo: là: Byte, Word, Dword, Near, «cbiểu thức> tương ứng là: Far Bién, Toán hạng nhớ,Nhân T ác dụng: Thay đỗi dạng cbiểu thức> sang Ví dụ: Có khai báo Mov Mov TuKep DD Bang DW AL,Byte PTR Bang BX.Word PTR TuKep ? 500 Dup(?) ;nạp byte đau cùa Bang vào AL ;nạp nội dung byte thâp ;của bién TuKep vào BX Mov ;nạp giá trị 00 vào ô nhớ có địa Byte PTR [BX],0 ;chi xác định BX c Toán tử LABEL LABEL Cú p háp: T ác dụng: Dùng để khai báo biến, khai báo bàng toán tử giúp giải quyét vấn đề m âu thuản kiểu sử dụng Ví dụ TU Label Word TU biến kiểu Word Tu_thap DB lAh Tu_thap biến kiểu Byte Tu_cao DB 45h Tu_cao bién kiểu Byte Chương LÂP TRÌNH TRẼN D ĨA VẢ TẬP TIN _ 173 Trong ta phải ý đen việc xứ lý Passw ord nội dung hình trước sau xuất thơng báo yêu cầu nhập passw ord không bị thay đỗi kể cà vị trí trỏ hình Các thủ tục sử dụng chương trinh: Get_Cursor: lấy lưu lại vị trí thời trỏ hình để khơi phục trỏ lại sau nhập password Set_Cursor: định vị trỏ hinh tai ví trí nhập password Save_Scr: lưu nội dung hình vị trí xuất thơng báo u cẩu nhập password vào biến Buffer Restore: trả lại nội dung hình lưu ó' Out_Text: xuất xâu hinh kỳ thuảt truy cập trực tiếp nhớ hình, thủ tục viết cho nàn hình đón sác 25x80, có địa đoạn 0B800h, Write: ghi xâu hàm 09h/ngăt 21h InputP: nhập xâu password vào biên InPassW ComP_PassW: lấy xâu kí tự pasword nhập vào từ thú tục InputP để kiểm tra vói xâu pasword cho trước chương trinh (love) Đúng password thi trả OK = 0, sai password thi trả OK = InPutPasW: nhập password kiểm tra (gọi Inputp ComP_PassW) New_Int21h: ngát 21h goi với hàm 41h gọi thủ tục InPutPasW để kiểm tra password thông qua biến OK, OK=0: password, cho phép thực việc xoá file; n ếu OK=l: sai password, bỏ qua khơng cho phép xố file Nơi d u n g chương trình: Code Segment Assume CS:Code,DS:Code Org 100h Start: Jm p Init Int21h_Ofs Dw ? Int21h_Seg Dvv ? Password Db 'love' Dem_path Db ¡password 128 Dup(0);dùng để chuắn hóa Path 174 H U Ĩ N G DẪN LẬP TRÌNH VĨ I ASSEMBLY 01d_Cursor Dw ? Mess Db 'Enter Password: InPasW Db 14,0,14 Dup(?) Buffer Db 60 Dup(?) ;lưu hình Ok Db $’ ;ghi xâu lên hình toạ độ ;xác định, xâu kết thúc dấu $ ;Vào: CS:SI = xâu cần ghi ;Ra: khơng có Out_Text Proc Near PushA Push Es,Ds Mov Ax,Cs Mov Ds,Ax Mov Es,0B800h ;địa đoạn nhớ hình Mov Di, 1486 ;offset tương ứng với vị trí ghi Viet: Lodsb Cmp Al,'$' Je Kt_ Mov Byte P tr Es:[DiỊ,Al Mov Byte P tr Es:[Di+l],4Fh Add Di,2 jmp Viet pop Ds,Es Kt: PopA Ret Out_Text Endp ;nhập xâu vị trí Chương LẬP TRÌNH TRÊN Đ ĨA VÀ TẬP TIN ;trỏ (9,38) bàng hàm OAh/' 21h ;Vào: khơng có ;Ra:xâu nhập lưu vào InPassW Input? Proc Near PushA Push Es,Ds Mov Bx,Cs Mov Ds,Bx Mov Dh,9 Mov Dl,38 Call Set_cursor Lea DxJnPassW Mov Ah,0Ah Int Pop 21h Ds,Es Pop A Ret InputP Endp lay vị trí thời trỏ hình Vào: khơng có Ra:01đ_Curror = dòng,cột Cursor Proc Near Mov Ah,3 Mov Bh,0 Int 10b Mov Cs:01d_Cursor,Dx Ret Get_Cursor Enđp đặt lại vị trí trỏ toạ độ (dòng, cột) Vào: DH,DL = cỉòng, cột 175 H U O N G DAN LAP TRINH VO I ASSEMBLY 176 ;Ra: khong co Set_Cursor Proc Near Mov Ah,02 Mov Int Bh,0 lOh Ret Set_Cursor Endp Liiu noi dung man hinh tai tao (10,22) vao Buffer vao: khong co ra: Buffer chiia ket qua Save_Scr Proc Near Mov Bx,Cs Mov Ds,Bx Lea Di,Buffer Mov Cx,30 du 30 ki tu Mov Dh,9 dong 10 Mov D1.22 cot 22 Mov Bh,0 Cld Lap: Call Set_Cursor dinh vi tro Mov Ah,08h doc ki tU tai vi tri Int lOh tro luu vao AX Stosw Inc Dl Loop Lap_ Ret Save_Scr Endp Tra lai noi dung man hinh da lUu trudc d Chương LẬP TRINH TRÊN Đ ĨA VÀ TẬP TIN Restore Proc Near Mov Bx.Cs Mov Ds,Bx Lea Si,Buffer Mov Di,30 Mov Dh,9 Mov Dì,22 Mov Cx,l Call Set_Cursor 177 ;đệm chứa nội dung in Lap: Lodsw Mov Bl,Ah Mov Ah,09h ;in kí tụ AL Mov Bh,0 ;hình vị trí trỏ Int lOh Inc DI Dec Di Jg Lap Ret Restore Endp Count Proc Near Mov Si,Dx Mov Ax,Cs Mov Es,Ax Le a Di,Dem_Path Mov Ah,60h Int 21h Mov Bh.Byte P tr Es: Cmp Bh,0 Doc: Je Dung ;da den cuoi path chua 178 H U O N C DẪN LẬP TRÌNH VO I ASSEMBI Y Inc Di Jm p Doc Dung: Mov Byte P tr Es:[Di],'\' Ret Count Endp Kiểm tra Password Vào:InPasW: chứa xáu password nhập vào (InPasW đươc khai báo theo dạng' 0Ah/21h Ra: Biến OK = 0: Đúng password OK = 1: Sai Password ComP_PassW Proc Near PushA Push Mov Mov Ds.Dx.Es Cs:Ok,l Bl,Byte P tr Ds:InPasW [l j Cmp Bl,4 ;đủ kí tự ? Je Tiep_ ;đủ kiểm tra tiếp Jm p Khong_ Mov Bx,Cs Mov Ds,Bx Mov Es,Bx Lea Si,InPasW Add Si,2 Lea Di,Password Mov Cx,2 Repz Cmpsb Jnz Khong_ Mov Cs:0k,0 Tiep: ¡password nhập ;password c/trình ;đúng password ? ;đúng thi C)K=0 ChMng LẬP TRÌNH TRÊN D ĨA VÀ TẬP TIN ;sai OK=l Khong_: Pop Es,Dx,Ds PopA Ret ComP_PassW Endp ;Nhập PassW kiêm tra InPutPasW Proc Near Push Es Push Ds Call Get_Cursor Call Save_Scr Lea Si,Mess Call Out_Text Call InPutP Call ComP_PassW Call Restore Mov Dx,Cs:01d_Cursor Call Set_Cursor Pop Ds Pop Es Ret InPutPasW Endp New_Int21hProc Near Jm p Short Conti Dw 179 'Bv' Conti: PushA Push Ds Push Es HƯ ÓN G DẦN LẬP TRÌNH VỚI ASSEMBLY 180 Cmp Ah,41h Je KtPassW Jm p Exit KtPassW: Call InPutPasW Cmp Cs:Ok,l Jne Exit ;đúng password cho phép ;thực chức cũ Pop Es Pop Ds PopA Iret Exit: Pop Es Pop Ds PopA Jm p DWord P tr CS:Int21h_Ofs New_Int21h Endp xuất xâu, xâu kết thúc bời $ Vào:DS:DX = đ/chỉ xâu cần xuất Ra: khơng có Write proc near Push Ax Mov Ah,9 Int 21h Pop Ax Ret Write endp ) — — — — — Init: Mov Ax,3521h Chương LẬP TRÌNH TRÊN Đ ĨA VÀ TẬP TIN Int Cmp Je Jm p 21h Word Ptr Es:[Bx+2],'Bv' Uninstall Install Uninstall: Lea Dx,Mess2 Call Write Mov Dx,Es:Int21h_Ofs Mov Ax,Es:Int21h_Seg Mov Ds,Ax Mov Ax,2521h Int 21h Mov Ah,49h Int 21h y Int 20 h Install: Mov Ax,3521h Int 21h Mov Int21h_Ofs,Bx Mov Int21h_Seg,Es y Mov Ax,2521h Lea Dx,New_Int21h Int 21h y Mov Ax,Word P tr [02Ch] Mov Es,Ax Mov Ah,49h Int 2lh y Lea Dx.Messl 181 H U Ớ N G DẪN LẬP TRÌNH VỚ I ASSEMBLY 182 Call Write Mov Dx,Offset Init Int 27h Messl Db TSR Program : Protect Install Db Run me again to Remove.$' Db 'TSR Program : DB Protect U ninstall ',0Ah,0Dh,'$' Mess2 Code Ends End Start III BÀI TẬP KHÔNG LỜI GIẢI B ài : Viết thủ tục sau (đối với đĩa mềm): a In tất thông tin boot sector đĩa mềm b Đọc nội dung entry FAT16 c Trả dãy cluster chứa nội dung file biết cluster d Cho biết đĩa có phải đĩa khởi động hay không B ài 2: Viết thủ tục sau (đối với đĩa cứng) a In thông số đĩa (số byte / sector, số sector/ track) b Nội dung cúa FAT Partition active c Nội dung root directory Partition active d Tổng số cluster bị Bad Partition active e Đĩa chia thành partition Bài 3: Viết chương trình tính in kích thước file EXE (tính theo byte) dựa vào thơng tin header Bài 4: Viết chương trìn h thực chức lệnh Delete DOS Bài 5: Viét chương trình kiểm tra file có phải EXE hay không: a Với tên file nhập vào từ bàn phím b Với tên file đưa vào từ tham số dòng lệnh PHỤ LỤC HƯĨNG DẪN BIÊN DỊCH CHƯONG TRÌNH ASSEMBLY ■ Hiện xuất nhiều chương trình biên dịch dùng để dịch chương trình viết Assembly sang chương trình thực thi (*.EXE/ *.COM) môi trường DOS môi trường Windows, sử dụng Macro Asssembler (masm.exe) kết hợp VỚI Link (link.exe) DOS đê dịch c c chương trình sang dạng EXE A86 (a 86 com) để dịch chương trình sang dạng COM (thực tế ta có thê dùng masm.exe + link.exe + exe bin,com để dịch chương trình sang dạng exe dạng com) Đa số chương trình biên dịch viết cho Assembly khơng có hình soạn thảo riêng cho nó, ta dùng hình soạn thảo viết chương trình NC, Turbo Pascal, c, Chúng tơi khuyên bạn nên sử dụng NC đế soạn thảo chương trình ghi file chương trình với phần mở rộng Asm D ịch cá c ch n g tr ìn h d n g EXE Trước hết chương trình phải viết theo cấu trúc chương trình dạng EXE lưu vào file với phần mở rộng Asm, Quá trình biên dịch chương trình gồm bước: Bước ỉ: Dùng MASM để dịch chương trình Assembly sang file đối tượng ngơn ngữ máy Cú p h áp đơn giản: MASM [đường dẫn] Ví dụ: C:\MASM BTXbaitapl.Asm ; BT\baitapl.Obj • Nếu chương trình khơng có lỗi hình xuất thơng báo: Microsoft (R) Macro Assembler Version 5.0 Copyright (c) Microsoft Corp 1981, 1988 A ll rights reserved Warning Errors Severe Errors thư mục BT xuất tập tin baitapl.O bj ta chuyển sang bưốc 184 H Ư Ớ N G DẪN LẬP TRÌNH V Ớ I ASSEMBLE • Nếu chương trình bị ỉỗi MASM xuất thông báo lỗi V Ớ I sơ thu tự dòng chương trình bị lỗi VỎ1 nội dung lỗi lên hình, thơng báo sau cho biết baitapl.asm bị lỗi dòng 13: Microsoft (R) Macro Assembler Version 5.0 Copyright (c) Microsoft Corp 1981, 1988 All rights reserved Baitapl.asm(3): Error A2009: Symbol no difined: A1 Baitapl.asm(13): Error A2009: Symbol no difined: BK Warning Erros Severe Erros Khi ta phải mở file văn chương trình để tìm sửa lỗi sau lưu file để cập nhật thay đổi thực lại bước Bước 2: Dùng Link để liên kết nhiều file đối tượng thành file thực thi Cú pháp đơn giản: LINK Ví dụ: [đường dẫn]; C:\LINK BT\baitapl.Obj; Nếu việc liên kết khơng có lỗi (đối với chương trình đơn giản có file đối tượng bước thường khơng gây lỗi) hình xuất thơng báo: Microsoft (R) Overlay Linker Version 3.64 Copyright (c) Microsoft Corp 1981, 1988 All right reserved thư mục BT xuất tập tin baitapl.EXE Tới trình biên dịch xem kết thúc Dịch chương trình dạng COM Trước hết chương trình phải viết theo cấu trúc chương trinh dạng COM lưu vào file vối phần mở rộng Asm Sau dùng A86 để biên dịch chương trình trực tiếp sang dạng com Cú pháp đơn giản: A86 Ví dụ: [đường dẫn]; C:\A 86 BTXbaitapl.Asm; • Nếu chương trình khơng có lỗi hình xuất thông báo: A86 Macro Assembler, V3.19 Copyright 1988 Eric Isaacson Source: baitapl.asm Object: baitapl.com Symbol: baitapl.sym thư mục BT xuất tập tin baitapl.COM Tối trình biên dịch xem kết thúc PHU LỤC • Nếu chương trình bị lỗi A86 xuất thơng báo lỗi lên hình A86 Macro Assembler, V3.19 Copyright 1988 Eric Isaacson Source: baitapl.asm Error messages inserted into baitapl.asm Original source renamed as baitapl.old Symbol: baitapl.sym Đồng thời A86 chèn thông báo lỗi sau dòng lệnh bị lỗi văn chương trình, La phải mở file văn chương trình ra, tìm dòng lệnh bị lỗi (dòng lệnh có thơng báo lỗi file sau) để sửa lỗi (khơng cần xóa nội dung thơng báo lỗi) sau lưu file để cập nhật thay đổi thực lại từ đầu Ví dụ: Dòng lệnh trước dịch: Move es, offh ; lỗi tên lệnh Dòng lệnh sau dịch:Move es~Misplaced built in symbol-, offh Chú ý: Sau biên dịch chương trình Assembly thành File EXE COM ta phải thực chạy thử chương trình để kiểm tra, kết không mong muốn ta phải xem thay đổi lại nội dung chương trình sau thực biên dịch trở lại bước TÀI LIỆU THAM KHẢO ■ Ytha Yu & Charles Marut (Quách Tuấn Ngọc, Nguyễn Tiến Dũng, Nguyễn Quang Khải: dịch) Lập trình hựp ngữ máy vi tính IBM-PC Nhà xuất Giáo dục, 1996 Nguyễn Lê Tín Hỗ trỢ kỹ thuật cho Lập trình hệ thống Nhà xuất Đà Nẵng, 1996 Peter Norton (Nguyễn Minh San, Đỗ Phúc: dịch) Cẩm nang lập trình Nhà xuất Giáo dục, 1993 Deborah L D everloping U tilities in Assembly Language Cooper, BPB New Delhi, 1995 LÊ MẠNH THẠNH (chủ biên) - NGUYEN k im t u ấ n HƯỚNG DẪN LẬP TRÌNH VỚI ASSEMBLY Chịu trách nhiệm xuất : Biên tập Sửa bán in Trinh bày bia PGS, TS TÔ ĐẢNG HẢI Đ ỏ THỊ CẢNH LẺ MINH HƯƠNỠ LAN NHÀ XUẤT BẢN KHOA HỌC VÀ KỸ THUẬT 70 TRẦN HƯNG ĐẠO, HÀ NỘI ... hướng dẫn lập trinh Assembly thi Đây trở ngại lớn đôi với sinh viên muốn tiếp cận với lập trình Assembly, phong cách lập trinh Assembly co khác so với ngôn ngữ lập trình cấp cao Mặt khác, để lập trinh... 30 H Ư Ớ N G DẪN LẬP TRÌNH V Ớ I ASSEMBLY B i 8: Bày trình bày cách tra cứu sử dụng hàm/ngát DOS/ BIOS, thao tác rấ t cần thiết đổi với người làm quen với lập trình hợp ngữ Bài trình bày cách... Mặt khác, để lập trinh dưực VỚI Assembly thi trước hết người lập trình phái có hiểu biết định vè máy tinh hệ điều hành Với lý trên, biên soạn Hướng dan lập trìn h với Assembly Sách dược viết dạng:

Ngày đăng: 29/12/2019, 13:09

Từ khóa liên quan

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

Tài liệu liên quan