این کد برای پردازنده های x86 نوشته شده و با استفاده از اسمبلر NASM برای محیط لینوکس اجرا میشه
section .bss
num resb 1 ; متغیری برای ذخیره عدد ورودی
section .data
msg db 'Enter a number (0-9): ', 0
msg_len equ $-msg
msg2 db 'You entered: ', 0
msg2_len equ $-msg2
section .text
global _start
_start:
; چاپ پیغام ورودی
mov eax, 4 ; شماره فراخوانی سیستم برای sys_write
mov ebx, 1 ; فایل دسکریپتور 1 (خروجی استاندارد)
mov ecx, msg ; اشارهگر به پیغام
mov edx, msg_len ; طول پیغام
int 0x80 ; فراخوانی سیستم
; خواندن ورودی از کاربر
mov eax, 3 ; شماره فراخوانی سیستم برای sys_read
mov ebx, 0 ; فایل دسکریپتور 0 (ورودی استاندارد)
mov ecx, num ; اشارهگر به بافر
mov edx, 1 ; تعداد بایتها برای خواندن
int 0x80 ; فراخوانی سیستم
; چاپ پیغام خروجی
mov eax, 4 ; شماره فراخوانی سیستم برای sys_write
mov ebx, 1 ; فایل دسکریپتور 1 (خروجی استاندارد)
mov ecx, msg2 ; اشارهگر به پیغام
mov edx, msg2_len ; طول پیغام
int 0x80 ; فراخوانی سیستم
; چاپ عدد وارد شده
mov eax, 4 ; شماره فراخوانی سیستم برای sys_write
mov ebx, 1 ; فایل دسکریپتور 1 (خروجی استاندارد)
mov ecx, num ; اشارهگر به عدد وارد شده
mov edx, 1 ; طول عدد
int 0x80 ; فراخوانی سیستم
; پایان برنامه
mov eax, 1 ; شماره فراخوانی سیستم برای sys_exit
xor ebx, ebx ; کد خروج (0)
int 0x80 ; فراخوانی سیستم
خلاصه که اسمبلی اونقدرم که میگن سخت نیست
#assembly
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡16🔥5❤🔥3😁2
EMU8086: انتخاب برتر برای یادگیری زبان اسمبلی با شبیهسازی دقیق پردازندههای x86 🥸
🖥 زبان اسمبلی به دلیل سطح پایین و پیچیدگیهای خاص خود، نیاز به ابزارهای تخصصی دارد. انتخاب یک محیط توسعه (IDE) مناسب میتواند به بهبود تجربه برنامهنویسی و افزایش کارایی کمک کند. در این مقاله، به بررسی یکی از IDE های مناسب برای این زبان می پردازیم.
🌕 برای مشاهده کامل مقاله کلیک کنید.
#پست_پیشنهادی
#assembly #emu8086 #ide #programming
☕️ @CodeExplore
#پست_پیشنهادی
#assembly #emu8086 #ide #programming
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡24🔥10❤🔥5💔1