Tìm công cụ lập trình Assembly

Mình đọc qua một số bài viết về Assembly và mình thấy rất hay. Vì vậy mình đã quyết định tìm hiểu về nó. Nhưng mình không thể tim thấy công cụ hỗ trợ lập trình Assembly. Mong được mọi ng giúp đỡ. Xin cảm ơn!!!

1 Like

Bạn có thể dùng một editor bất kỳ để code, về compiler Đạt nghĩ là dùng gcc là được rồi, Bạn có thể download MinGW để có thể gọi gcc trên Windows. Đạt mới làm thử một ví dụ copy trên mạng, thấy chạy ổn.

ltd@office:~/workspace/tmp$ cat hello.s 
.data
.globl hello
hello:
.string "Hello, World\n"

.text
.global main
main:
    pushq   %rbp
    movq    %rsp,       %rbp
    movq    $hello,     %rdi
    call    puts
    movq    $0,         %rax
    leave
    ret
ltd@office:~/workspace/tmp$ gcc hello.s -o hello
ltd@office:~/workspace/tmp$ ./hello 
Hello, World

ltd@office:~/workspace/tmp$ 
6 Likes

Theo mình biết thì hợp ngữ nhiều loại lắm bạn, bạn muốn học hợp ngữ nào đã thì tìm mới ra công cụ được, chẳng hạn như trường mình hồi trước dạy MIPS, intel có bộ hợp ngữ riêng (x86 hay gì đấy) v.v…

compiler như nào nhỉ? em đang dùng sublime
anh Đạt hướng dẫn một khóa assembly cơ bản luôn anh ơi :smile:

Em cài Codeblock vào là có luôn cái MinGW luôn đấy. Em mở Powershell lên, gõ gcc -v sẽ biết được là có gcc chưa. Đây là máy anh Windows 8.1

PS C:\Users\Admin\Dropbox\workspace\daynhauhoc> gcc -v
Using built-in specs.
COLLECT_GCC=C:\Program Files (x86)\Haskell Platform\2013.2.0.0\mingw\bin/realgcc.exe
COLLECT_LTO_WRAPPER=C:/Program Files (x86)/Haskell Platform/2013.2.0.0/mingw/bin/../libexec/gcc/mingw32/4.5.2/lto-wrappe
r.exe
Target: mingw32
Configured with: ../gcc-4.5.2/configure --enable-languages=c,c++,ada,fortran,objc,obj-c++ --disable-sjlj-exceptions --wi
th-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-r
untime-libs --disable-werror --build=mingw32 --prefix=/mingw
Thread model: win32
gcc version 4.5.2 (GCC)

Cách cài Codeblock có MinGW ở đây: https://www.youtube.com/playlist?list=PLyiioioEJSxEXbzan8Ot3BWl1D3rp9SVK

Cách xài Powershell ở đây: https://www.youtube.com/playlist?list=PLyiioioEJSxEh_S_XFvG0d2xKRMSWLfN_

P/S: Mới kiểm tra thử thì thấy MinGW không compile được code ở trên :frowning:

2 Likes


Vào link trên xem những Assember nào có chữ Active (thật ra 1 số ngỏm mà Wiki chưa update)
Ưu tiên dùng: FASM, NASM, GAS (GNU Assembler)

2 Likes

có hello world thôi mà dài dòng dữ :smiley:

Ngày xưa học cái này làm bài cộng hai con số mà thức đêm đỏ hết cả mắt :frowning:

6 Likes

Để lập trình essembly bạn có thể lên tải phần mềm emu 8086. Mình thấy phần mềm đó ai học về essembly cũng hay dùng :smiley:

1 Like

có ai rành về Ass 8086 không ạ? ở trường e đang học phần này mà khó hiểu quá ạ :frowning:

Bạn có thể nói rõ 1 chút được không? Mình có GCC nhưng mà coppy code của bạn vào thì khi dịch bị lỗi. :frowning:

Các bạn có thể tư vấn cho mình 1 cuốn sách để học ngôn ngữ này đc không? Có mỗi cái công cụ lập trình thôi mà mình đã thấy mệt mỏi với ngôn ngữ này rồi. :frowning:

Windows không chạy được cái này, mình compile ở trên máy Ubuntu mới được.

1 Like

có phần mềm emu8086 chạy trên windows mà a.

Tình hình là em cũng đang học tới môn Kiến trúc máy tính và hợp ngữ… :’( , nhưng cũng chẳng biết dùng công cụ gì để code assembly :’(

1 Like

emu 8086 (window)đó bạn, lấy không? Mình còn giữ trên máy với 1 đống bài tập :smiley: . Mà 6 năm rồi version cũ thôi.

1 Like

thanks bạn nhưng mà mình mới tìm đước cái MARS simulator :slight_smile: dùng cũng được lắm

Visual Studio cũng có thể lập trình ASM (32 bit và 64 bit) được (biên dịch thông qua C++)
VS thì có 2 cách: inline asm trong C++ hoặc viết ra file riêng, link này bày cách viết ra file riêng.

Series clip này ghi là 64 bit, nhưng thực ra mấy clip đầu toàn là 32 bit, sau đó mới cao hơn.

1 Like

Bạn có thể dùng EMU8086 để lập trình Assembly. Còn giáo trình thì có quyển “Assembly Language for x86 Processor” cũng hay !

Cho mình xin đống bài tập của bạn nhé ! Mình đang rất cần bài tập về assembly !

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?