ta chọn New, đặt một cái tên gì đó rồi OK.. Sau đó chọn Close: - Đây là GUI của Soft.. Và vẫn câu nói “nhớ lấy cái thông báo ấy”.những câu nói bất hủ ;... Chọn thẻ RCP và tìm các dòng sa
Trang 1- CT này dùng lưu lại các ngày tháng sinh nhật ta chọn New, đặt một cái tên gì đó rồi OK Sau đó chọn Close:
- Đây là GUI của Soft Để đăng kí nó Click vào chữ Biorhythm phía trên:
Trang 2- Chọn Register…:
- Nhập đại số nào vào, rồi OK CHOẢNG!!! ui da:
- Cứ nghĩ là trên PC mới bị uýnh thế này Nào dè trên Palm cũng bị trúng chiêu
hích hích Và vẫn câu nói “nhớ lấy cái thông báo ấy”.(những câu nói bất hủ ;)) )
Trang 3C- Analyze:
- Giờ quay lại PRCEdit Chọn thẻ RCP và tìm các dòng sau:(có thể chọn Find rồi
gõ “Not registered”)
Vậy ta biết thông báo lỗi này nằm ở Alert có ID là 1100
- Nhấn vào mục Alerts để trổ ra :
- Nhìn vào thì thấy thông báo mà ta muốn là ở ID 1000 Quay lại tab RCP coi nó
chỗ nào:
- Giờ bấ
m vào
ID
110 0
ALERT ID 1100
ERROR
HELPID 0
DEFAULT 0
BEGIN
TITLE "Not registered !"
ALERT ID 1100 ERROR
HELPID 0 DEFAULT 0 BEGIN TITLE "Not registered !"
ALERT ID 1000
INFORMATION
HELPID 0
DEFAULT 0
BEGIN
TITLE "Registered !" Find với từ này
Trang 4cho trổ ra, rồi lại Click mục References trổ ra tiếp:
- Ta cũng thấy rõ vai trò của PilotDis Nếu ko có nó thì ta ko thể tới các tham chiếu này Bây giờ có 2 dòng, một là mũi tên màu xanh trỏ vào, hay là dấu chấm ?Không biết tìm đoạn Code quan trọng ở khúc nào, ta thử từng cái xem sao:
- Dòng đầu tiên, Double-Click vào :(xem cửa sổ Code)
00001c6e 3f3c044c MOVE.W #1100!$44c,-(A7) ; Not registered !
- Lưu ý là trong ASM Motorola, toán hạng đích sẽ nằm ở bên phải, nguồn ở bên trái dấu “phẩy” Ngược hẳn với trật tự trên ASM x8086 Ngoài ra, khi làm việc với
“số”, cần thêm dấu “#” trước số đó
- Còn đây là dòng thứ 2,Double Click vào:
000001fa 0640044c ADDI.W #1100!$44c,D0
- Dòng đầu sẽ đưa số 1100 vào thanh ghi A7, nơi có chuỗi “Not registered !” ,còn dòng lệnh thứ 2 sẽ cộng 1100 vào thanh ghi D0.Vậy dòng đầu là nơi cần đến
- Ta cố hiểu sơ qua các Code này một tí :
00001c6e 3f3c044c MOVE.W #1100!$44c,-(A7) ; Not registered !
00001c6e = line identifier
3f3c044c = lệnh (Move 1100 vào (A7)) trong mã máy
MOVE.W = lệnh dạng ASM 68K (Move, assign)
#1100!$44c, = Giá trị được chép vào, #1100(thập phân) $44c là 1100 dạng Hex
-(A7) = Thanh ghi được chép vào
- Giờ dòm các dòng phía trên xem:
Trang 500001c56 6712 BEQ L222 Nhảy tới nhãn L222
00001c58 1b7c0001ffb5 MOVE.B #1,-75(A5)
00001c5e 3f3c03e8 MOVE.W #1000!$3e8,-(A7) ;Registered
!
sysTrapFrmAlert
00001c66 544f ADDQ.W #2,A7
00001c68 600e BRA L223
00001c6a 422dffb5 L222 CLR.B -75(A5) Nhãn L222
00001c6e 3f3c044c MOVE.W #1100!$44c,-(A7) ; Not
registered !
- Phần nhãn trên máy các lão có thể sẽ khác nhé.BEQ tức là JE- nhảy nếu bằng Vậy nếu điều kiện cho lệnh nhảy này thỏa, ta sẽ nhận được cái thông báo “Not Registered !”.
Còn nếu nó ko nhảy ?? Có thể ta sẽ được “Registered”
D- SouthDebugger ,X-Master & Patching level 1:
- Để thử điều trên Ta nên debug nó, và giờ là lúc móc “Giang Nam Sầu Kiếm” ra đấy bà con
- Bây giờ trong trình Emulator, ta sẽ nạp X-Master vào:(Click phải)
- Okie, giờ đã có X-Master:(nằm dưới cùng list Applications)
Trang 6- Trước khi chạy X-Master, ta cũng phải khởi động trình Debug đã Chạy file
của nó rồi nhấn “Connect” Chọn như hình:
- Chọn thêm cửa sổ Breakpoint:
- Vậy ta đã gọi ra 2 cửa sổ làm việc chính: