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

أخذ اسم من المستخدم؟؟؟؟؟

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

السلام عليكم ورحمة الله وبركاته

أريد أن أعمل برنامج يأخذ الأسم من المستخدم ويقارنه بأسم مخزن مسبقا

والمشكله لدي هي كيف آخذ اسم هذا المستخدم وأخزنه؟؟؟؟

المحاوله:

في الملف المرفق

وخدمه أخيره ياليت تدلوني على برامج محلوله ليس عن برنامجي انما عن أي برنامج وشكرا.

P2.txt

#2

اي كود 16بت في اي موضوع 16بت في المنتدى ينفع.

بالنسبة للحصول على اسم المستخدم استخدم مقاطعة مثل 21h خدمة 06h منها.

اما بخصوص الكود فعليك بتغييره الى:

CHAR         DB        20 DUP (?)

كما ترى, عليك ان تقوم بتحديد طول معين للمخزن المراد.

ايضا تنبيه اخير, بخصوص المقاطعة 21h/06h فهي يتم تنفيذها مع كل حرف يتم ادخاله في الـ console بالتالي عند كل حرف تستطيع اخذه وحفظه في بايت في المخزن.. نظرا لمحدودية 16بت من الصعب الحصول على الاسم كما هو مدخل مباشرة. ايضا عليك الاحتراس لربما المستخدم اراد ان يقوم بالتراجع عن حرف ما فعليك افراغه من ذلك المخزن..

راجع سؤال الاخ Gsalah بخصوص مصفوفة الاعداد وترتيبها.

Do as I say, not as I do

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

#3

يا سلام عليك يا استاذ Xacher

لدي بعض المساعدة لك اخي ابو عباس

DSEG    SEGMENT 'DATA'
      username db 10 dup(0)
      msg db "please enter your name : $"
DSEG    ENDS

SSEG    SEGMENT STACK   'STACK'
      db   256  DUP(0)
SSEG    ENDS

CSEG    SEGMENT 'CODE'
   START   PROC    FAR
     ; set segment registers:
      MOV AX, DSEG
      MOV DS, AX
      MOV ES, AX
      
      mov dl , offset msg
      mov ah , 9h
      int 21h
      
      
     ;mov di , offset name
      lea di , username
      getc:
         mov dx,0FFH
         mov ah,6
         int 21h
         je getc
         
         mov ah ,0
        ;print the digit
         mov dx , ax
         mov ah,6
         int 21h
         
        ;check for enter key
         cmp al,0DH
         je stop
         
        ; store char
         mov [di] , al
         inc di
         
         jmp getc
         
                 
       stop:
         
         
         
      MOV AX, 4C00h; exit to operating system.
      INT 21h    
   START   ENDP
CSEG    ENDS
END    START   ; set entry point.
7asbi.gif

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

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