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

هل ينتمي 8085 الي عائلة 8086

مغلق
بدأه فارس2005 في 29 سبتمبر 2005 · 1 رد · 1,217 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندي كتاب عن برمجة المايكروبروسيسور 8085 والحقيقة هو طبعة 1996 وكنت اشتريته علي اساس انه 8086 ولم الحظ رقم 5 الاخير ولكن شد انتباهي الرقم والصدفة وان الكتاب ممتاز في شرحه ولكن من التصفح السريع وجدت ان له اسمبلي مختلف عن اسمبلي 8086 ولكن معلوماتي قليلة عنه فهل هو يتبع عائلة 8086 ام يتبع عائلة آخرى؟؟؟

اريد من لديه خبره اعطائي بعض المعلومات المتختصرة المفيدة عنه

وشكرا

#2

الكلام عن 8086

It was based on the design of the 8080 and 8085 (it was assembly language source-compatible with the 8080) with a similar register set, but was expanded to 16 bits.

الرابط

و ايضا

From 8080/8085 to 8086 
The intel 8086 CPU was derived from intel 8080/8085 CPU and inherited 16-bit ideas from it. Although being 16-bit and somewhat compatible with 8080/8085, the 8086 CPU has an enhanced memory addressing mechanism, which isn't condemned to the 16 lines of the address bus, instead the 8086 has a 20 lines-wide address bus. So, unlike 8080/8085 (which could address up to 216 = 65536 bytes of memory, i.e. 64 KB), the 8086 can address up to 220 = 1048576 bytes of memory, i.e. 1 MB. 

Now, let's see how intel implemented memory addressing... 

An 8080/8085 would access its worth of 64 KB memory using direct and indirect forms of address specifications in the CPU instructions. 

For example: 

Instruction  Action  
LDA 2050H  Load A (8-bit accumulator register) with byte from memory location 2050H.  
LHLD 0A00H  Load HL (16-bit register) with word from memory location 0A00H (byte at 0A00H would go to L (least signigicant half of HL) and byte at 0A01H would go to H (most significant half of HL)).  
MOV A, M  Load A (8-bit accumulator register) with byte from memory location specified in the 16-bit register HL (M designates accessing memory indirectly thru the HL register).  
LDAX B  Load A (8-bit accumulator register) with byte from memory location specified in the 16-bit register BC.  

Hence, it's very simple with 8080/8085. Either the 16-bit address is a constant value encoded in the CPU instruction and the memory location is accessed directly by using the encoded address (this is direct addressing) or the 16-bit address is contained in a 16-bit register of the CPU (BC or HL in our examples) and this address is read from the register before accessing a memory location by this address (this is indirect addressing). 

Now, the 8086 can do the same thing... 

Instruction  Action  
MOV AL, [2050H]  Load AL (least significant half of 16-bit accumulator register AX) with byte from memory location 2050H.  
MOV BX, [0A00H]  Load BX (16-bit register) with word from memory location 0A00H (byte at 0A00H would go to BL (least signigicant half of BX) and byte at 0A01H would go to BH (most significant half of BH)).  
MOV AL, [BX]  Load AL (least significant half of 16-bit accumulator register AX) with byte from memory location specified in the 16-bit register BX.  
LODSB  Load AL (least significant half of 16-bit accumulator register AX) with byte from memory location specified in the 16-bit register SI.  

Same thing. 
Almost...

الرابط

39_22.gif

تزود من التقوى فإنك لا تدري *** إذا جن ليل هل تعيش إلى الفجر

فكم من فتى أمسى وأصبح ضاحكاً *** وقد نسجت أكفانه وهو لا يدري

لقراءة القرآن الكريم و سماعه و تفسيره ........

ماذا يعني انني مسلم سني؟

قصة غريبة

ConflictResolution.gif

هذا الموضوع مغلق.

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