الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

mismatch in operand sizes متى يظهر

بدأه sahraoui dhelim في 25 ديسمبر 2012 · 5 رد · 832 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخوكم ضيف من قسم الجافا فلابد ان تكرموني smile.gif

اريد كتابة برنامج يقوم بمعرفة اﻻعداد اﻻولية بطريقة الجدول

ان نصنع جدول و نقوم بوضع 1 في جميع الجدول

ثم نبدئ i=2

i=i+2

table=0

i=i+2

table=0

i=i+2

table=0

.....الخ

ثم i=3

i=i+3

table=0

i=i+3

table=0

.....

ثم i=4

.....الخ

في النهاية نتحصل على جدول يحتوي علي 0 في اﻻعداد غير اولية اي مثل

table[4]

table [8] ......

و على 1 في الاعداد اولية مثل table [7]

....

و هذه محاولتي

مبدائا عملت جدول حجمه 20 للتجريب فقط

section .data
table  TIMES 20 db 1
i db 2
n db 20

section .text
   	global  _start

_start: 
y: 
mov cx,
mov bx,table
mov ax,cx
x:
add ax,cx
add bx,ax
mov [bx],BYTE 0
mov bx,table
cmp ax,n
jle x
inc BYTE 
cmp i,n
jl y

يعطيني خطا mismatch in operand sizes في السطرين 17 و 18

الرجاء المساعدة يا شباب

ﻻنى تعبت معه و سبب لي مشاكل نفسية رغم اته سهل

للعلم ان استعمل nasm على ubuntu 11.10

تم تعديل هذه المشاركة بواسطة sahraoui dhelim في 25 ديسمبر 2012 في 18:30

#2

اي رد يا شباب

#3

ما هذا القحط يا شباب

معقول لا يوجد من يساعدني في هذا البرنامج البسيط

#4

اين انتم ؟

#5

تم حل المشكل

بلمناسبة هذا اضعف قسم في المنتدى

#6

كما ترى فإن طرح تساؤل ومن ثم عندما تجد إجابتك عليه ولا تقوم بوضعها في الموضوع، فإن هذا لأمر غير جيّد :)

 

وبالنسبة لتعقيبك الأخير: مرحباً بك في قسم الأسمبلي، هل كنت تعتقد أنك تتعامل مع جافا أو لغة أخرى ما تزال رائجة إلى اليوم؟

 

في السطر 17: أنت تحاول نقل بايت واحد إلى عنوان في الذاكرة دون تحديد الحجم.

في السطر 18: من غير المعروف ما الذي تحاول فعله، هل نقل قيمة من table أم نقل إزاحة table.

 

في MASM كنت لأكتب:

mov byte ptr [bx], 0
mov bx,offset table

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

مواضيع مشابهة