Professional Documents
Culture Documents
Cài đặt
Đối với vài hệ điều hành Windows, truy cập vào administrative là cần thiết để cài đặt
phần mềm. MPLAB IDE phải được cài đặt lên ổ cứng máy tính, không thể chạy từ máy
chủ.
Cài đặt bằng CD-ROM:
Cho đĩa CD vào ổ đĩa. Theo hướng dẫn trên màn hình để cài đặt MPLAB IDE. Nếu
không thấy, dùng Explorer để tìm và mở file MPxxx.exe (xxx là phiên bản của phần
mềm) trong thư mục gốc của CD
Cài đặt bằng Download:
Từ trang web của Microchip (www.microchip.com), double-click vào tập tin download
để cài đặt.
Chú ý: Đối với Win NT, Microsoft khuyến cáo hãy cài đặt lại service pack sau khi cài
đặt bất kì phần mềm hay driver nào.
Cấu hình tối thiểu:
• Tương thích với hệ thống Intel Pentium
• Hỗ trợ hệ điều hành Windows (xem danh sách dưới)
• 32 MB bộ nhớ (đề nghị 128 MB)
• 85 MB ổ cứng trống
• Internet Explorer 5.0 trở lên để cài đặt và trợ giúp trực tiến
Lưu ý khi cài đặt:
Hệ điều hành:
• Windows 98 SE
• Windows ME
• Windows NT 4.0 SP6a Wordstations (NOT Servers)
• Windows 2000 SP2
• Windows XP Home and Professional
Những thiết bị làm việc với MPLAB IDE có thể không hỗ trợ cùng hệ điều hành như
MPLAB IDE. Xem file README để biết thêm chi tiết
Gọi MPLAB IDE với 1 dòng lệnh
MPLAB IDE có thể được gọi bằng 1 dòng lệnh như sau:
Mplab [<file>] [/<option>]
Mở vùng làm việc <file> trong MPLAB IDE. Bất kỳ project nào trong vùng làm việc
cũng được mở. Không muốn nhìn thấy màn hình khởi động ? gõ như sau :
Mplab myproj.mcw /nosplash
Workspace sẽ được mở mà không có màn hình khởi động ( splash screen)
Các mục cần kiểm tra để bắt đầu với MPLAB IDE
• Khi sử dụng emulators, in-circuit debuggers hay programmers, phải đảm bảo đã
cài đúng driver và trình tự cấp nguồn được tiến hành chính xác (xem Help, phần
Getting Started cho từng loại)
• Đảm bảo thiết bị (chip) thích hợp được chọn trong Configure>Select Device
• Đảm bảo bộ công cụ ngôn ngữ hoạt động và chỉ đến đúng vị trí của bộ công cụ
(Project>Set Language Toolsuite).
• Sử dụng Project Wizard để tạo một project.
• Đặt đường dẫn và thư mục mặc định cho các thành phần language tool bằng cách
sử dụng Project Wizard hoặc Project>Set Language Tool Locations.
• Dùng file mẫu hoặc file code trước đó để bắt đầu đoạn code mới.
• Double-click lên dòng lỗi trong cửa sổ Output để sửa sai
• Phải đảm bảo configuration bits được chỉnh đúng để gỡ lỗi
(Configure>Configuraion Bits). Để gỡ lỗi, WDT (Watchdog Timer) thường nên
đặt về Disabled. Những mục này có thể set trong mã nguồn (source code) với chỉ
thị _config
• Nếu gặp sự cố, chọn hỗ trợ trực tuyến “Limitaions” cho bộ xử lý và trình gỡ rối
được sử dụng (trong đoạn Troubleshooting của trợ giúp trực tuyến cho mỗi công
cụ), còn có thể chọn file README
Các nguồn trợ giúp
Nếu gặp vấn đề với thao tác MPLAB IDE, tham khảo mục Troubleshooting của phần trợ
giúp và hướng dẫn sử dụng MPLAB IDE. Truy cập trang www.microchip.com để:
• Được hỗ trợ trực tuyến
• Download các công cụ mở rộng, data sheets, ghi chú ứng dụng, hướng dẫn sử
dụng, bài báo và chương trình mẫu mới nhất
• Thảo luận qua mạng, các mẹo thiết kế và những lỗi của thiết bị
• Hệ thống thông báo các thay đổi của Microchip (Microchip Change Notification
System) - tự gởi những bản tin thông báo mới về silicon và thiết bị mới mở rộng
cho người đăng ký
• Thông tin về phát triển hệ thống và hỗ trợ kỹ thuật:
1-800-755-2345 (Mỹ và Canada)
1-480-792-7302 (các nước còn lại)
Giao tiếp nối tiếp
Các công cụ hỗ trợ : MPLAB ICD 2, PICSTART Plus và PRO MATE II.
• Không dùng cổng COM hay cổng ngắt để giao tiếpvới thiết bị khác (ngoài những
thiết bị đã nêu) ,nếu không có khả năng gây thiệt hại cho thiết bị đó.
• Không dùng driver giao tiếp của hãng khác.
• Tắt FIFO’s (First In First Out) và thay đổi Điều khiển luồng (Flow Control) phần
cứng. Khởi động lại máy trước khi giao tiếp với công cụ.
• Bảo đảm cổng COM chọn trong phần mềm (COM1, COM2, v.v…) phù hợp với
kết nối thực của phần cứng
• Bảo đảm tốc độ máy của cổng COM chọn trong phần mềm phù hợp với tốc độ
khả dĩ của cổng phần cứng. Nếu tốc độ máy 57600 không hoạt động, hãy thử
chuyển sang 19200
• MPLAB ICD 2: Nếu dùng target clock và/hoặc power, bạn phải chắc chắn nó tồn
tại ( vậy mới được chớ !)
Giao tiếp qua USB:
Công cụ hỗ trợ: MPLAB ICD 2, PICkit 1, MPLAB ICE 4000
• Cài đặt MPLAB IDE trước khi cắm thiết bị USB.
• Nếu dùng target clock và/hoặc power, bạn phải chắc chắn nó tồn tại ( vậy mới
được chớ !)
• Windows NT không hổ trợ USB
Cảnh báo:
Phải sử dụng driver được hỗ trợ trong MPLAB ICE (trong thư mục con …MPLAB
IDE\DriversXX với XX là version của Windows trên máy đang sử dụng). MPLAB ICD 2
sẽ không hoạt động nếu không có driver này và cũng không thể cài đặt driver đúng nếu
không xóa driver USB không phù hợp ( vào Control Panel để thực hiện). PICkit 1 sử
dụng driver USB chuẩn của Windows.
Wizard, Walk-Throughs và Tutorials:
Dưới đây là một vài mục được khảo sát khi bắt đầu với MPLAB IDE. Xem xét các đặc
điểm sau để quen thuộc chương trình hơn:
• MPLAB IDE Walk-Through (MPLAB IDE Help, Quick Start)
• Project Wizard (Project>Project Wizard)
• Hướng dẫn MPLAB SIM (MPLAB SIM Help)
• Hướng dẫn MPLAB30 SIM (MPLAB SIM30 Help)
• MPLAB ICD 2 Setup Wizard (Debugger> MPLAB ICD 2 Setup Wizard)
• MPLAB ICE Complex Trigger Walk-Through (MPLAB ICE Help)
Thông báo và cảnh báo (Hướng dẫn sử dụng MPASM-trang 51):
Những thông báo và cảnh báo lỗi của MPASM có thể kiểm soát bằng 2 cách:
1. Hộp thoại “Project>Build Options Categories”
2. Thư mục MPASM ERRORLEVEL trong mã nguồn. khi sử dụng vi điều khiển
(MCU) PICmicro loại trung bình, thông thường thông báo bank che khuất các
thông báo lỗi khác, nếu vậy dòng lệnh sau có thể được sử dụng:
ERRORLEVEL -302
Dưới đây là những số liệu thông dụng để điều khiển ERRORLEVEL (chọn các mức độ
hiển thị thông báo):
0 - tất cả các thông báo và cảnh báo
1 - cảnh báo và lỗi
2 - chỉ có lỗi
-306 - không hiển thị trang thông báo
-302 - không hiển thị thông báo bank
-202 - không hiển thị thông báo dãy đối số
Có thể sử dụng nhiều số liệu cùng lúc như ví dụ:
ERRORLEVEL -302, - 306, - 202
Conditional Assembly (MPASM hướng dẫn sử dụng)
Conditional Assembly được dùng để kiểm soát việc lựa chọn vùng mã nguồn nào sẽ được
biên dịch. Chỉ phần TRUE của biểu thức được biên dịch còn phần FALSE bị bỏ qua.
Điều này cho phép các biến điều khiển cách mà cùng mã nguồn có thể được sửa lỗi, kiểm
tra và cuối cùng là lập trình cho chip. IF và ELSE không thể được sử dụng trong suốt quá
trình chạy (không giống như ngôn ngữ C) để xác định sự kiện xảy ra khi chương trình
thực thi – IF/ELSE/ENDIF/IFNDEF/ENDIF chỉ được nhận ra khi đoạn code được biên
dịch và không tồn tại như những điều kiện trong đoạn mã đối tượng cuối cùng.
Variable temp=1
IF temp=0
Movlw 0x0A
ELSE
Movlw 0x1E
ENDIF
#define test
IFDEF test
Movlw 0x01
IFNDEF test
Movlw 0x02
ENDIF
Macros
Macros là những đoạn code ngắn. Đỡ hơn là phải gõ những đoạn code tương tự nhau,
một Macros có thể được định nghĩa để tạo ra mã nguồn và điền nó vào những chỗ khác
nhau với những tên biến đã được sử dụng ở những điểm khác nhau trong mã. Giống như
cấu trúc biên dịch có điều kiện IF, ELSE, Macros không hoạt động đồng bộ với chương
trình và chỉ được đánh giá và bung ra trước khi đoạn mã được biên dịch. Không giống
như lệnh WHILE trong C, Macro “while” được sử dụng để bung mã vào những dòng
khác nhau trước khi mã được dịch.
Multiply macro argl, dest_hi,
Local i=0
movlw argl
Movwf mulplr
While i <8
Addwf dest_hi
; đặt mã lập lại i lần ở đây
i+=1
endw
endm
Sắp xếp dữ liệu
Truy cập dữ liệu có thể linh động và được xếp một cách độc lập bằng cách sử dụng
hướng dẫn bankse1 Trong cấu trúc của PIC 18XXX, SFRs và các biến trong vùng truy
xuất không cần hướng dẫn bankse1 . Bankse1 sẽ được set tất cả các bit bất chấp Bank
đang được chọn, và nó chỉ cần khi truy xuất một biến mà nó không có trong bank được
chọn hiện thời.
bankse1 temp1
movf temp1
Paging
Bộ vi điều khiển PICmicro khác với dòng PIC 18XXX có thể có nhiều hơn một trang nhớ
chương trình.Cái hướng dẫn linh động và tiện lợi có thể chuyển qua lại việc thực thi từ
trang này tới trang khác. Những đoạn mã chuyển từ PICmicro qua PIC 18XXX sẽ bỏ qua
các chỉ dẫn pagese1. Pagese1 đặt tất cả các bit không phụ thuộc trang hiện hành và chỉ
cần thiết khi sử dụng lệnh CALL và GOTO mà đích của lệnh không thuộc trang hiện
hành.
pagese1 boot_routine
goto boot_rountine
Radix
Khi dùng MPASM, các số có thể được biên dịch trong một số các “nền” ( number bases).
Mặc định cho file nguồn có thể được set bằng chỉ dẫn Radix:
Radix dec
Bên trong nguồn, giá trị mã có thể được nhập vào cơ sở số hơn là để mặc định bằng cách
sử dụng cấu trúc sau:
D ‘123’ .123 ; thập phân
H ‘1AF’ 0x1F ; thập lục phân
O ‘777’ ; bát phân
B ‘00111001’ ; nhị phân
0B00111001 ; nhị phân
‘A’ ‘C’ ; 7-bit ASCII
dt ‘This is a string’ ; dãy ASCII
Template files (file mẫu)
File mẫu cho tất cả vi điều khiển của Microchip được đặt trong thư mục cài đặt MPLAB
IDE:
C:\Program Files\MPLAB IDE\MCHIP_Tools\Template\Code
C:\Program Files\MPLAB IDE\MCHIP_Tools\Template\Object
Thư mục Object chứa 1 mẫu cho những file sử dụng MPASM và MPLINK. Thư mục
Code thì cho những file MPASM mà không có MPLINK. Những file này như những ví
dụ dưới đây, nhưng hoàn chỉnh hơn với giải thích và ví dụ. Chúng có thể được sử dụng
để bắt đầu một project. Một file mẫu code sẽ được dựng với MPASM mà không có bất kỳ
thay đổi nào. Một file mẫu Object cần một linker nguyên mẫu add vào cái project để
build nó. Đoạn mã ví dụ sau đây tương tự với file mẫu nhưng đơn giản hơn.
Mã mẫu cho project với MPLINK
Khi dự án (project) sử dụng hợp ngữ với MPLINK, thì mẫu lệnh hơi khác với việc sử
dụng MPASM mà không có linker. Thay vì sử dụng lệnh ORG, những đoạn được định
nghĩa trong linker script xác định vị trí đoạn code. Trong đoạn trích code sau đây,
UDATA tạo vùng nhớ cho biến temp_count. EEDATA được định nghĩa bằng việc đặt
đoạn code lên 0xF00000 cho con PIC18xxx (0x2100 cho tất cả vi điều khiển PICmicro
khác) và sử dụng chỉ dẫn “de”. Những đoạn được set up cho chương trình thực tế sử dụng
chỉ dẫn CODE và đặt code này trong những vùng nhớ chương trình khác nhau của thiết bị
đích.
List p=16f877a
Include <p16f877a.inc>
_CONFIG CP_OFF &……& _LVP_ON
CODE 0x2100 ; EEDATA
De 1,2,3,5,8,13,21
UDATA 0x020 ; RAM
Temp_count RES 4 ; dành 4 byte bộ nhớ RAM cho biến tempcount 32-bit
RESET_VECTOR CODE 0x0000
GOTO START
INT_VECTOR CODE 0x004
; ….mã ngắt ở đây.
RETFIE
MAIN CODE
Start Clrf temp_count+3
;…mã chương trình chính ở đây.
Nop
END
Đoạn Code thí dụ cho một Project không có MPLINK
Code viết bằng MPASM của một Project không có MPLINK thường là
Code “kế thừa” . Hầu hết code mới sẽ được viết sử dụng Linker, vì
những tiện ích gỡ rối của MPLAB có thể dùng biến cục bộ ( local
variables) và cấu trúc lệnh của ngôn ngữ C. Nếu MPASM được dùng
mà không có MPLINK thì tên file phải ngắn hơn 62 kí tự. Đối với chip
PIC 18XXX, ngắt cao ( HIGH interrupts) được ưu tiên ngắt trước một
ngắt khác. Điểm có lợi ở đây là ngắt cao dùng một ngăn chồng – 3
byte ( three byte stack) để tự động cất và lưu trữ STATUS , BSR và
WREG. (Cứ tưởng tượng Stack là một chồng sách và dữ liệu của bạn
là những cuốn sách , bạn cất sách vào từ trên và lấy ra cũng từ trên
cùng , đúng không ?)
LIST P=18F452
#include <P18F452.INC>
__CONFIG CONFIG1H, _OSCS_OFF_1H & _HS_OSC_1H
__CONFIG CONFIG7H, _EBTRB_OFF_7H
QUEUESIZE EQU 0x10
CBLOCK 0x080 ; RAM
STATUS_TEMP, WREG_TEMP,BSR_TEMP
queue: QUEUE_SIZE
ENDC
ORG 0xf00000 ; EEDATA
DE "Test Data",0,1,2,3,4,5
ORG 0x0000
goto Main
ORG 0x0008
bra HighInt
LowInt
ORG 0x0018
movff STATUS,STATUS_TEMP
movff WREG,WREG_TEMP
movff BSR,BSR_TEMP
…
movff BSR_TEMP,BSR
movff WREG_TEMP,WREG
movff STATUS_TEMP,STATUS
retfie
HighInt:
movlw 0xFF
;…
retfie FAST
Main:
clrf REG_TEMP
END
Dữ liệu trong không gian nhớ của chương trình
MPLAB SIM
Click Debugger Select tool để chọn công cụ , sau đó chọn MPLAB SIM .Đây là
công cụ giả lập dùng để giả lập tín hiệu điện của các chân và trạng thái các
thanh ghi của con chip được dùng. Có hai loại : đồng bộ và không đồng bộ.
• Đồng bộ : tín hiệu được giả lập đồng bộ với những vòng lệnh của chip.
• Không Đồng bộ : tín hiệu được áp đặt bởi người dùng trong thời gian thực
( real time) khi MPLAB SIM đang chạy.
File giả lập của MPLAB SIM ( có đuôi là .fsti , .ssti , .rsti )
Để có thể giả lập giống thực hơn, MPLAB SIM cung cấp một công cụ gọi là
Stimulus
• Một Synchronous Stimulus File (*.fsti ) được tạo ra từ 1 hay nhiều file
đồng bộ .
• Một Asynchronous Stimulus File ( *.ssti) chứa thông tin trong Triggers
được dùng cho cả chân PIC lẫn thanh ghi của nó. Muốn tạo ra các file này
, bạn click lên Debugger Stimulus , sau đó click tab Stimulus. Một khi file
Stimulus đã được tạo ra, nó sẽ giả lập như chương trình đang chạy với
MPLAB IDE.Và những “sự kiện” sẽ xảy ra ( sự kiện có thể hiểu là trạng
thái cao hay thấp về logic của các chân) khi Triggers hoạt động.
Tần
số bộ Cho ghi / Chỉ đọc
Check
xử lý Sum
STATUS BAR
• (*) Suỵt , có thể bạn không hiểu Break trong “cho phép break toàn
cục” có nghĩa gì . Break có thể hiểu là ngắt , nhưng đừng nhầm nó với
ngắt interrupts .Break là ngắt của con trỏ chương trình , khi nó “run”
đến điểm có break , nó sẽ dừng tại đó, chờ lệnh từ người dùng .Tức là
Break xảy ra khi bạn debug chương trình chứ không như Interrupts ,
xảy ra khi đang cho PIC “run” thật sự. Nếu bạn còn muốn tìm hiểu
thêm về Break thì nên xem chi tiết trong Help.
• (**) Thang trạng thái ( Status bar , đừng nhầm với thanh ghi Status của
PIC nha !) nằm dưới đáy màn hình MPLAB và cập nhật thông tin liên tục
cho ta về trạng thái ( dĩ nhiên ) của MPLAB .Khi có một ứng dụng nào
đó đang chạy , nó hiện ra “running” và một thanh Progress cho ta biết
quá trình “chạy” của ứng dụng ( còn bao lâu nữa thì xong).Còn nếu
không có ứng dụng nào chạy ? thanh Status sẽ chỉ cho ta biết những
thông tin trên thôi. Nó có thể giúp mình làm việc dễ dàng hơn.Cứ lâu
lâu nhìn xuống cho nó mừng , mình lại biết là không xài lộn chip chẳng
hạn ! ( he he).
Meïo&Thuû thuaät: toác ñoä
. Khi söû duïng MPLAB ICE hay MPLAB ICD2 ,caùc cöûa soå ñang
ñöôïc söû duïng seõ ñöôïc laøm töôi taïi moãi ñieåm ngaét,Ñeå taêng
toác khi böôùc töøng böôùc moät ,ta phaûi ñoùng taát caû nhöõng
cöûa soå khoâng can thieát.Caùc ñieåm ngaét seõ nhanh hôn neáu
caùc bieán maø ta quan taâm ñöôïc add vaøo moät Watch Window hôn
la ñöôïc xem ôû File register hoaëc SFR Window.
.Khi söû duïng emulator hay MPLAB ICD2 vôùi nhöõng thieát bò coù
boä nhôù chöông trình lôùn,haõy chon theû naïp chöông trình
Configure>Settings vaø uncheck “Clear Memory after successfully
building a project”(xoaù boä nhôù sau khi xaây doing thaønh coâng döï
aùn).Toác ñoä taêng leân vì nhöõng ñoaïn coù khaû naêng lôùn cuûa
boä nhôù khoâng bò xoùa ñi neáu nhöõng loãi xaây doing bò baét
gaëp.
.Khi xem files geristers haõyclick phaõi vaø de-select”full memory
update”.
- nhöõng thanh ghi ñöôïc hieån thò ñöôïc caäp nhaät,thaäm chi
ñang cuoän.
-nhöõng thanh ghi ñaõ thay ñoåi thì hieän leân trong maøu ñoû.
Meïo&Thuû thuaät:Trình soaïn thaûo vaø Files
.Add Header files maø coù trong caùc files nguoàn(source
files)vaøo döï aùn ñeå chuùng cuõng coù trong “find in project”search.
(tìm kieám döï aùn)
.Khi söû duïng “find in files”nhöõng muïc ñöôc tìm kieám coù theå
ñöôïc double- clicked ñeå môû file nguoàn tai doøng ñoù.
.Nhöõng neùt ñaïc tröng cuûa trình soan thaûo naâng cao thì coù
saün trong thöïc ñôn nut chuoät phaûi.
.Mot files hieän taïi coù theå ñöôïc add vaøo caùc döï aùn mieãn
laø noù ñöôïc löu(save)ít nhaát moät laàn.
.Neáu chæ moät file nguoàn MPASM ñöôïc tieán haønhvaø
lieân keát khoâng ñöôïc söû duøng,ñöôøng daån thö muïc toång vaø
teân file khoâng ñöôïc quùa 62 kí töï.Söû duïng multiple source
files(files ña nguoàn) hay söû duïng kieân keát ñeå xoùa boû söï haïn
cheá naøy.
Meïo&Thuû thuaät:Shortcuts
.Baät saùng nhöõng teân bieán trong maõ nguoàn vaø keùo(drag) vao
watch window
.Ñoåi choã moät teân bieán baèng con chaïy hay thanh ghi haøm ñaëc
bieät trong file nguoàn ñeå hieän thò giaù trò hieän tai cuûa bieán ñoù
hay thanh ghi haøm ñaëc bieät.
.click vao PC treân thanh traïng thaùi ñeå ñeå ñöa ra hoäp hoäi
thoaïi”chang programe counter”.
.Trong nhieàu cöûa soå,döõ lieäu caàn ñöôïcthay ñoåi baèng caùch
choïn tröôøng döõ lieäu vaø ñaùnh vaøo nhöõng giaù trò môùi.Thanh
ghi file,Thanh ghi haøm ñaëc bieät vaø nhöõng chæ leänh boä nhôù
chöông trình coù theå ñöôc thay ñoåi baèng caùch choïn giaù trò hieän
taïi cuûa chæ leänh vaø ñaùnh vaøo giaù trò môùi
Meïo&Thuû thuaät:Caûnh baùo vaø loãi
.Doudle ckick vao moät thoâng baùo loãi trong output window ñeå môû
file nguoàn taïi doøng coù loãi.
.Nhöõng caûnh baùo cuûaMPLAB ICD2 coù theå ñuôïc xoaù boû moät
caùch ñoäc laäp trong theû caûnh baùo Debugger>Setting .
.Neáu nhöõng vaán ñeà bò baét gaëp ,haõy ñoïc nhöõng giôùi haïn
cuûa Debugger>Setting ñeå baûo ñaûm raèng nhöõng haøm mong
muoán khoâng phaûi laø nhöõnggì ñoù maøcoù nhöõng loãi khoâng
bieát
Double click leân nhöõng caûnh baùo cuûa MPLAB ICD2 hay nhöõng
thoâng baùo loãi trong output window ñeå coù theâm thoâng tin veá
nhöõng caûnh baùo hay nhöõng loãi cuï theå.
Meïo&Thuû thuaät:Nhöng
.Nhöõng thanh ghi haøm ñaëc bieät coù theå ñöôïc saép xeáp baèng
ñòa chæ ,teân hay giaù trò baèng caùch double click vaøo tieâu ñeà
coät
.Keùo vaø thaûtoaøn coät trong SFR window vaø Watch Window ñeå
saép ñaët laïi döõ lieäu.click phaûi vaøo tieâu ñeø coät ñeå aån/hieän
caùc coät,
.Khi lam vieäc vôùi nhöõng loaïi PÍC16C9XX choïn View>LCD Pixel ñeå
ñöa ra moät hieån thò ñieåm LCD maø chuùng ta coù theå söû duïng
ñeå moâ phoûngLCD
.Khi laøm vieäc vôùi nhieàu döï aùn trong moät vuøng laøm vieäc,haõy
tôùi theû naïp chöông trình Configure>Setting ñeå uncheck “clear
programe memory upon loading a programe”(xoaù boä nhôù chöông
trình sau khi naïp chöông trình),ñaëc bieät khi laøm vieäctreân nhöõng
chöông trình maø caàn xaây döng va naïp rieâng reõ vaøo boä
nhôù,Neáu chæ moät döï aùn ñöôïc naïp vaøo boä nhôù taïi moät
thôøi ñieåm,thì cuõng nen xoaù boä nhôù
.Söû duïng MPLINK ñeå xaây doing döï aùn hôn laø chæ duøng
MPASM.Vì ñieàu naøy giuùp gôû roái toát hôn,vaø noù cuõng khong co
nhöõng han cheá nhö laø chieàu daøi ñöôøng daãn.
Meïo&Thuû thuaät:Thöïc ñôn trình soaïn thaûo
chuoät phaûi
Trong cöûa soå trình soaïn thaûo,click vaøo nuùt chuoät phaûi ñeå
ñua ra moät heä thoáng shortcuts: