نمایش نتایج 1 تا 5 از 5

نام تاپیک: جمع دو عدد در مبنای 16 (هگزادسیمال)

  1. #1

    جمع دو عدد در مبنای 16 (هگزادسیمال)

    سلام
    من یک ماکرو دارم که برای جمع دو عدد در مبنای ده هست و میخواهم این ماکرو رو به جمع دو عدد در مبنای 16 تغییر بدهم. لطفا راهنمایی بفرمایید.

    enterword macro n
    local l1,l2

    mov ax,0
    mov n,ax

    l1:
    mov ah,7
    int 21h

    cmp al,13
    je l2

    cmp al,'0'
    jb l1

    cmp al,'9'
    ja l1

    mov cl,al
    sub cl,'0'
    mov ch,'0'

    mov dl,al
    mov ah,2
    int 21

    mov ax,n
    mov bx,10
    mul bx
    add ax,cx
    mov n,ax

    jmp l1

    l2:
    nextline
    endm

  2. #2

    نقل قول: جمع دو عدد در مبنای 16 (هگزادسیمال)

    ماکرو شما چند مشکل جزئی داشت که اصلاح کردم

    enterword macro n
    local l1,l2

    mov ax,0
    mov n,ax

    l1:
    mov ah,7
    int 21h

    cmp al,13
    je l2

    cmp al,'0'
    jb l1

    cmp al,'9'
    ja l1

    mov cl,al
    sub cl,'0'
    mov ch,0

    mov dl,al
    mov ah,2
    int 21h

    mov ax,n
    mov bx,10
    mul bx
    add ax,cx
    mov n,ax

    jmp l1

    l2:
    ;nextline
    endm


    باید در شرط هاتون a-f = 10-15 رو هم در نظر بگیرین و ضرب هاتون 16 میشه

    16^3 = 4,096 , 16^2=256 , 16^1=16, 16^0=1

    your number=126h

    1*256 + 2*16 + 6*1 = 294d

    موفق باشی

  3. #3

    نقل قول: جمع دو عدد در مبنای 16 (هگزادسیمال)

    با تشکر از راهنماییتون فقط من هر چی دقت کردم این کدی که شما در پست تون قرار دادید هیچ تغییری نکرده و درست مثل کد اولیه هست، من متوجه نشدم کجاشو تغییر دادید.

    موفق باشید

  4. #4

    نقل قول: جمع دو عدد در مبنای 16 (هگزادسیمال)

    فقط من هر چی دقت کردم این کدی که شما در پست تون قرار دادید هیچ تغییری نکرده و درست مثل کد اولیه هست، من متوجه نشدم کجاشو تغییر دادید.
    همونطور که در پست 2 گفتم
    ماکرو شما چند مشکل جزئی داشت که اصلاح کردم
    برنامه شما چند مشکل جزئی برای ورودی و تبدیل مبنا 10 داشت!
    برای مبنای 16 هم راهنمایی کردم و در برنامه ای که در این تاپیک با نام بخشی از یک اسمبلر با اسمبلی 8086 نوشته ام پروسیجری برای تبدیل هگز وجود دارد که میتونید استفاده کنید.
    موفق باشید

  5. #5

    نقل قول: جمع دو عدد در مبنای 16 (هگزادسیمال)

    ممنونم من الان اون قسمت رو که فرمودید رو مطالعه میکنم

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •