30/09/2018, 17:07

Xin 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!!!

Mai Anh Dũng viết 19:10 ngày 30/09/2018

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$ 
Itachi Citus viết 19:23 ngày 30/09/2018

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…

Minh Hoàng viết 19:23 ngày 30/09/2018

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

Mai Anh Dũng viết 19:23 ngày 30/09/2018

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

*grab popcorn* viết 19:11 ngày 30/09/2018

en.wikipedia.org

Comparison of assemblers | x86 assemblers

1.List of assemblers running on S100 bus hardware, including CP/M hosted assemblers for 8080 and Z80


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)

Son0nline viết 19:24 ngày 30/09/2018

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

Mai Anh Dũng viết 19:15 ngày 30/09/2018

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

Never is too late! viết 19:07 ngày 30/09/2018

Để 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

Sáng Béo viết 19:16 ngày 30/09/2018

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

Nguyễn Văn Dũng viết 19:13 ngày 30/09/2018

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.

Nguyễn Văn Dũng viết 19:18 ngày 30/09/2018

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.

Mai Anh Dũng viết 19:21 ngày 30/09/2018

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

Sáng Béo viết 19:15 ngày 30/09/2018

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

Trịnh Minh Cường viết 19:21 ngày 30/09/2018

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 :’(

Nguyen Ca viết 19:16 ngày 30/09/2018

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 . Mà 6 năm rồi version cũ thôi.

Trịnh Minh Cường viết 19:15 ngày 30/09/2018

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

明玉 viết 19:19 ngày 30/09/2018

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.

Đặng Trần Thủy viết 19:08 ngày 30/09/2018

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 !

ntd viết 19:22 ngày 30/09/2018

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 . Mà 6 năm rồi version cũ thôi.

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 !

Nguyen Ca viết 19:18 ngày 30/09/2018

format ổ đĩa, nên ko con nữa bạn

Bài liên quan
0