ورود

View Full Version : سوال: جمع دو عدد صحیح 256 بایتی در emu8086



persianboy1993
دوشنبه 24 اسفند 1394, 09:34 صبح
با سلام و احترام

این برنامه ای که هست فقط می تونه دو عدد تک رقمی رو با هم جمع کنه : چطور می تونم طوری تغییرش بدم که دو عدد صحیح 256 بایتی رو با هم جمع کنه ؟

ممنون



.model small
.stack 100h
.data
msg1 db "Enter First Decimal Number : $"
msg2 db ,0dh,0ah,"Enter Second Decimal : $"
msg3 db ,0dh,0ah,"SUM of Entered Numbers = $"
num1 db ?;
num2 db ?,;
ans db ?,"$"
.code
main proc

mov ax,@data ;initiaize ds
mov ds,ax
mov dx,offset msg1 ;load and display msg1
mov ah,09
int 21h
mov ah,1h ;read first initial
int 21h
sub al,30h
mov num1,al
mov dx,offset msg2 ;load and display msg2
mov ah,9
int 21h
;read second initial
mov ah,1h
int 21h
sub al,30h
mov num2,al
mov dx,offset msg3
mov ah,9 ;load and display msg3
int 21h
mov al,num1 ;add num1 and num2
add al,num2
add al,30h ;moves value into ans
mov ans,al
mov dx,offset ans ;load and display msg3
mov ah,9
int 21h
;returns control to dos
mov ah, 4ch
int 21h
main endp
end main

masoud.8086
سه شنبه 25 اسفند 1394, 12:31 عصر
سلام
برای نوشتن این برنامه باید اول بیاد با استفاده از وقفه int 21h //ah,0ah از ورودی دریافت کنید بعد بیاد طول رشته ورودی رو مشخص کنید و در ادامه باید رشته رو به عدد به کمک ارزش گداری تبدیل کنید ( برایه هر دو عدد و بعد با استفاده از دستور add مجموع دو عدد رو محاسبه کرد و برای چاپ باید دوباره عددو به رشته تبدیل کرد ( با استفاده از تقسیم به 10 به ثورت متوالی) و بعد هر بار باقیمانده رو به خروجی ببری و چاپ کنی (با استفاده از int 21//ah,02)
موفق باشید

Delphi Coder
یک شنبه 08 فروردین 1395, 20:21 عصر
اگر این یک پروژه دانشجویی باشه احتمالا نظر استاد گرفتن عدد 256 بایتی از ورودی نیست چون به فرض اگر اینطور باشه تبدیل این عدد از مبنای 10 و قرار دادنش در حافظه برای عملیات بعدی مثلا جمع کار ساده ای نیست. به نظر میاد هدف پیاده سازی الگوریتم جمع دو عدد با استفاده از carry flag و تقریبا به شکلی که عمل جمع روی کاغذ انجام میگیره هست که در اینصورت تشابه چندانی بین برنامه ای که گذاشتید با چیزی که میخواید بهش برسید وجود نداره.

persianboy1993
جمعه 13 فروردین 1395, 14:25 عصر
بله این یک پروژه دانشجویی هستش