banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận việc định hướng [Nhờ tư vấn] Học Assembly trong thời điểm hiện nay.  XML
  [Question]   [Nhờ tư vấn] Học Assembly trong thời điểm hiện nay. 26/09/2008 12:59:28 (+0700) | #1 | 153018
VaT
Member

[Minus]    0    [Plus]
Joined: 04/09/2008 00:17:52
Messages: 87
Offline
[Profile] [PM]
- Cho em hỏi Assembly 16bit và 32 bit khác nhau chỗ nào.
- Và nếu bây giờ em mới bắt đầu học Assembly thì nên học bắt đầu học như từ đâu và với Assembly 16 bit hay 32 bit.
- IDE hoặc trình biên dịch/thông dịch nào phù hợp với người mới học Assembly như em?
- Nếu khi em nhúng Assembly vào C++ với VS C++ 2008 thì sẽ dùng Assembly 16bit hay 32 bit?
- Thật là hữu ích nếu anh chị có thể giới thiệu một số ebook hoặc tài liệu về Assembly 16 bit hoặc 32 bit mà các anh chị cho là súc tích, dễ hiểu và cơ bản nhất cho người mới bắt đầu học Assembly như em.

Xin cảm ơn.
[Up] [Print Copy]
  [Question]   Re: [Nhờ tư vấn] Học Assembly trong thời điểm hiện nay. 26/09/2008 14:10:49 (+0700) | #2 | 153025
StarGhost
Elite Member

[Minus]    0    [Plus]
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
[Profile] [PM]
The Art of Assembly Language. Read http://oopweb.com/Assembly/Documents/ArtOfAssembly/Volume/toc.html.
Mind your thought.
[Up] [Print Copy]
  [Question]   Re: [Nhờ tư vấn] Học Assembly trong thời điểm hiện nay. 27/09/2008 01:55:18 (+0700) | #3 | 153063
[Avatar]
Bubbly
Member

[Minus]    0    [Plus]
Joined: 13/09/2008 07:21:10
Messages: 21
Offline
[Profile] [PM]
mình cũng đang quan tâm về assembler. hợp ngữ...
trên mạng thì nhiều tài liệu quá smilie
có đọc mấy bài trên HVA những cũng chưa rõ lắm. Sử dụng phần mềm gì ??? và đọc ở đâu smilie
[Up] [Print Copy]
  [Question]   Re: [Nhờ tư vấn] Học Assembly trong thời điểm hiện nay. 01/10/2008 11:43:54 (+0700) | #4 | 153495
jforum3000
Member

[Minus]    0    [Plus]
Joined: 26/08/2007 02:53:39
Messages: 1172
Offline
[Profile] [PM]
Về trình dịch assembly có hỗ trợ môi trường IDE, bạn có thể thử RosAsm xem sao, cái này free
Code:
http://betov.free.fr/RosAsmFull.zip


Cho em hỏi Assembly 16bit và 32 bit khác nhau chỗ nào.
 

Assembly 32bit có thêm các thanh ghi mở rộng Extended (EAX,EBX,ECX,EDX) còn 16bit thì ko có "E".
[Up] [Print Copy]
  [Question]   [Nhờ tư vấn] Học Assembly trong thời điểm hiện nay. 01/10/2008 21:40:07 (+0700) | #5 | 153523
[Avatar]
computerline
Member

[Minus]    0    [Plus]
Joined: 30/03/2007 13:46:50
Messages: 144
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]

VaT wrote:
- Cho em hỏi Assembly 16bit và 32 bit khác nhau chỗ nào.
- Và nếu bây giờ em mới bắt đầu học Assembly thì nên học bắt đầu học như từ đâu và với Assembly 16 bit hay 32 bit.
- IDE hoặc trình biên dịch/thông dịch nào phù hợp với người mới học Assembly như em?
- Nếu khi em nhúng Assembly vào C++ với VS C++ 2008 thì sẽ dùng Assembly 16bit hay 32 bit?
- Thật là hữu ích nếu anh chị có thể giới thiệu một số ebook hoặc tài liệu về Assembly 16 bit hoặc 32 bit mà các anh chị cho là súc tích, dễ hiểu và cơ bản nhất cho người mới bắt đầu học Assembly như em.

Xin cảm ơn. 

- Assembly 16 bit và 32 bit khác nhau ở chỗ:
ASM 16 bit sử dụng các thanh ghi 16 bit (AX,BX,CX,DX,IP,CS,DS...) để lưu trữ dữ liệu. Lập trình chế độ 16 bit là lập trình trong chế độ phân đoạn, tức là các khối mã (code), dữ liệu (data) được chia ra thành các phân đoạn (hình như mỗi đoạn có độ dài 64k thì phải).
Các ứng dụng 16 bit như một số ứng dụng chạy trong Dos là ứng dụng 16 bit.
ASM 32 bit sử dụng các thanh ghi mở rộng (EAX,EBX,EXC ....) để lưu trữ dữ liệu, các thanh ghi này có độ dài 32 bit và có thể chứa 32 bit dữ liệu. Các chương trình sử dụng chỉ 1 phân đoạn duy nhất có độ lớn lên đến 4GB, nên không phải lo việc chồng chéo phân đoạn.
Các ứng dụng Win32 như bạn thấy là ứng dụng 32 bit.
Hệ 32 bit có thể mô phỏng hệ 16 bit.
- Nếu bạn bắt đầu học Assembly thì có lẽ là nên tùy vào mục đích của bạn:
Tìm hiểu về hệ thống : Nên học asm 16 bit trước để biết lập trình phân đoạn là thế nào,cách sử dụng các ngắt ra sao, sau đó mới học qua asm 32 bit.
Muốn lập trình có hiệu suất cao hơn, hoặc phân tích các ứng dụng Win32 : Học ASM 32 bit, nhưng thật sự bạn sẽ thấy nó chỉ sử dụng các hàm API của hệ thống và không phải quan tâm nhiều đến phân đoạn (dễ hơn).

- IDE thông dụng : Câu trả lời là không có IDE nào thông dụng cho người mới bắt đầu, hãy bắt đầu bằng Notepad hay bất cứ một trình soạn thảo nào và một trình hợp dịch bằng dòng lệnh : MASM32, NASM32, TASM32 hoặc có thể là trình Debug có sẵn của Windows.

- Các môi trường 32 bit đều sử dụng ASM 32 bit.

- Bạn đọc cuốn Assembly Language Step by Step (Cuốn này được dịch sạng tiếng Việt và được phát hành với tên là Lập trình hợp ngữ trên nền Dos và Linux) hoặc cuốn PC ASM (dùng cho NASM). Thật sự mình cũng đã đọc cuốn The Art of Assembly Language nhưng mình thấy cuốn sách này thật sự không thích hợp cho người bắt đầu và mình cũng chẳng tìm được mấy cái thư viện để chạy chương trình mẫu trong cuốn sách đó, còn các tài liệu về ASM 32 và asm 16 thì nhiều vô kể, bạn hãy sử dụng Google để tìm kiếm.

Không có nghề gì trong xã hội là thấp hèn cả - chỉ có nhân cách mới phân biệt thấp cao
[Up] [Print Copy]
  [Question]   Re: [Nhờ tư vấn] Học Assembly trong thời điểm hiện nay. 03/10/2008 17:45:13 (+0700) | #6 | 153815
StarGhost
Elite Member

[Minus]    0    [Plus]
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
[Profile] [PM]
Đụng đến mấy thứ low-level tốt nhất đừng đọc tài liệu tiếng Việt, nếu không đến lúc chuyển sang đọc tiếng Anh sẽ khó vô cùng. Thà rằng mất thời gian một chút giai đoạn đầu nhưng về sau sẽ nhàn hơn rất nhiều.

Trước khi học Assembly tốt nhất nên học một chút về OS kernel, vd: process address space, paging, scheduler, memory management, etc. Những kiến thức này sẽ giúp cho việc hiểu ASM nhanh hơn và thực tiễn hơn.

Còn compiler ư, quá đơn giản, cứ viết theo kiểu AT&T rồi compile bằng gcc chứ chưa cần đến nasm gì hết.
Mind your thought.
[Up] [Print Copy]
  [Question]   Re: [Nhờ tư vấn] Học Assembly trong thời điểm hiện nay. 08/10/2008 08:52:33 (+0700) | #7 | 154351
[Avatar]
Bubbly
Member

[Minus]    0    [Plus]
Joined: 13/09/2008 07:21:10
Messages: 21
Offline
[Profile] [PM]
Hic hic công nhận học oải thật nếu không hiểu biết nhiều về OS kernel một cách sâu.
Nhưng được mấy lão kể về khả năng đặc biệt mà hợp ngữ có thể làm được mà thích nghiền ạh.


[Up] [Print Copy]
  [Question]   Re: [Nhờ tư vấn] Học Assembly trong thời điểm hiện nay. 08/10/2008 10:22:47 (+0700) | #8 | 154366
nhatanh_fithou
Member

[Minus]    0    [Plus]
Joined: 07/10/2008 21:37:43
Messages: 2
Offline
[Profile] [PM]
Trước tiên bạn nên hiểu về các thanh ghi:
Với MT 16 bit:
Nhóm 1:
1 thanh ghi Cờ 16 bit : Cary,Parity,Auytiary,Zezo,Sign,Trap,Interpt,Direction,Overfloux
Nhóm 2 :
8 thanh ghi làm toán hạng :AX,BX,CX,DX,SI,DI,BP,SP.
Nhóm 3:
1 thanh ghi con trỏ lệnh IP
Nhóm 4:
4 thanh ghi segment:CS chúa mã lệnh,DS-ES chứa dữ liệu,SS chứa ngăn xếp
Với MT 32 bit:Khác với 16 bit o chỗ nhóm 1+2+3 thêm chữ E ở đằng trước và thêm 2 thanh ghi ở nhóm 4 đó là FS và GS hỗ trợ cho DATA.
Cuối cùng quan trọng nhất là bạn phải có chương trình dịch mà cái nay phai mua bản quyền<quan trọng nhất mà bạn chương trình dịch bạn tải trên mạng về ko có là 4 lõi dịch cua ASM>.
bạn có thể vào đây tải về:<bản quyền do thầy của tui cung cấp.hjhj> http://www.nowupload.com/:dcR
< Bạn có thể vào đây,mọi người cũng đang cùng học như bạn,dể được trợ giúp nhìu hơn
http://06b3.friendhood.net/forum.htm >
[Up] [Print Copy]
  [Question]   [Nhờ tư vấn] Học Assembly trong thời điểm hiện nay. 08/10/2008 21:21:36 (+0700) | #9 | 154399
[Avatar]
immortalman
Locked

[Minus]    0    [Plus]
Joined: 29/06/2006 10:10:33
Messages: 9
Offline
[Profile] [PM]

VaT wrote:
- Cho em hỏi Assembly 16bit và 32 bit khác nhau chỗ nào.
- Và nếu bây giờ em mới bắt đầu học Assembly thì nên học bắt đầu học như từ đâu và với Assembly 16 bit hay 32 bit.
- IDE hoặc trình biên dịch/thông dịch nào phù hợp với người mới học Assembly như em?
- Nếu khi em nhúng Assembly vào C++ với VS C++ 2008 thì sẽ dùng Assembly 16bit hay 32 bit?
- Thật là hữu ích nếu anh chị có thể giới thiệu một số ebook hoặc tài liệu về Assembly 16 bit hoặc 32 bit mà các anh chị cho là súc tích, dễ hiểu và cơ bản nhất cho người mới bắt đầu học Assembly như em.
 

Nếu thực sự muốn học món này thì http://reaonline.net là một địa chỉ hữu ích. Cái chính vẫn là tự thân nỗ lực tìm tòi học hỏi.
[Up] [Print Copy]
  [Question]   chia sẻ tài liêu và trình dịch 17/04/2014 10:02:50 (+0700) | #10 | 280348
[Avatar]
echtroi
Member

[Minus]    0    [Plus]
Joined: 09/04/2014 21:27:20
Messages: 7
Offline
[Profile] [PM] [Email]
Chia sẻ các bạn giáo trình và trình dịch (nếu cần) đừng quên like nhé. he
http://tuvantinhoc.vn/tag/assembly/
[Up] [Print Copy]
  [Question]   chia sẻ tài liêu và trình dịch 17/04/2014 10:02:55 (+0700) | #11 | 280349
[Avatar]
echtroi
Member

[Minus]    0    [Plus]
Joined: 09/04/2014 21:27:20
Messages: 7
Offline
[Profile] [PM] [Email]
Chia sẻ các bạn giáo trình và trình dịch (nếu cần) đừng quên like nhé. he
http://tuvantinhoc.vn/tag/assembly/
[Up] [Print Copy]
  [Question]   chia sẻ tài liêu và trình dịch 19/04/2014 22:12:45 (+0700) | #12 | 280383
[Avatar]
kienmanowar
HVA Friend

Joined: 13/07/2004 05:57:34
Messages: 483
Offline
[Profile] [PM] [WWW]

echtroi wrote:
Chia sẻ các bạn giáo trình và trình dịch (nếu cần) đừng quên like nhé. he
http://tuvantinhoc.vn/tag/assembly/ 


Tại sao phải like?
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|