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

نام تاپیک: چاپ مورب رشته

  1. #1
    کاربر دائمی آواتار Reza,M
    تاریخ عضویت
    تیر 1389
    محل زندگی
    ايران سراي من است
    پست
    412

    چاپ مورب رشته

    با سلام اگه بخوام رشته رو مورب چاپ كنم به چه صورت بايد عمل كرد ؟
    مثلا Rez

     
    z
    e
    R

  2. #2
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: چاپ مورب رشته

    برای این کار :
    1 - کدی رو که یک کاراکتر رو چاپ میکنه رو بنویسید
    2 - کدی رو که اشاره گر رو به محل x , y میبره بنویسید.
    3- با استفاده از کدهای بالا رشته رو از اول تا آخر بخون و در محل xو y با تغییر در x و y بنویسید.(البته این قسمت باید بررسی بشه تا در محل درست عمل چاپ انجام بگیره)

  3. #3
    کاربر دائمی آواتار Reza,M
    تاریخ عضویت
    تیر 1389
    محل زندگی
    ايران سراي من است
    پست
    412

    نقل قول: چاپ مورب رشته

    من اين كد رو نوشتم اما از بالا به پايين چاپ ميكنه ولي من ميخوام از پايين به بالا و بصورت مور چاپ كنه !


    ; multi-segment executable file template.
    data segment
    n db "Enter your Name : $"
    n1 db 20
    n2 db ?
    n3 db 21 dup(?)
    i db ?
    k dw ?
    ends
    stack segment
    dw 128 dup(0)
    ends
    code segment
    start:
    ; set segment registers:
    mov ax, data
    mov ds, ax
    mov es, ax
    lea dx,n
    mov ah,09h
    int 21h
    lea dx,n1
    mov ah,0ah
    int 21h
    mov i,1
    l1: mov al,n2
    mov ah,0
    cmp k,ax
    jnl l2
    mov dl,i
    mov dh,i
    mov bh,0
    mov ah,02h
    int 10h
    lea dx,n3
    add dx,k
    mov cx,1
    mov bx,1
    mov ah,40h
    int 21h
    inc k
    inc i
    jmp l1
    l2:
    mov ah, 1
    int 21h
    mov ax, 4c00h ; exit to operating system.
    int 21h
    end start ; set entry point and stop the assembler.



  4. #4
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: چاپ مورب رشته


    datas segment
    n db "Enter your Name : $"
    n1 db 20
    n2 db ?
    n3 db 21 dup(?)
    i db ?
    k db ?
    x db 40
    y db 5
    datas ends
    stacks segment
    dw 128 dup(0)
    stacks ends
    codes segment
    begin:
    assume ss:stacks, ds:datas, cs:codes
    ; set segment registers:
    mov ax, datas
    mov ds, ax
    mov es, ax
    ;----------------------------------------
    lea dx,n
    mov ah,09h
    int 21h
    lea dx,n1
    mov ah,0ah
    int 21h
    mov i,0
    mov al, n2
    mov k, al
    l1:
    mov dl,i
    mov dh,k
    mov bh,0
    add dl, x
    add dh, y
    mov ah,02h
    int 10h
    lea dx,n3
    xor ax,ax
    mov al,i
    add dx,ax
    mov cx,1
    mov bx,1
    mov ah,40h
    int 21h
    dec k
    inc i
    cmp k, 0
    jne l1
    ;----------------------------------------
    mov ax, 4c00h ; exit to operating system.
    int 21h
    codes ends
    end begin ; set entry point and stop the assembler.


  5. #5

    نقل قول: چاپ مورب رشته

    نقل قول نوشته شده توسط Reza,M مشاهده تاپیک
    من اين كد رو نوشتم اما از بالا به پايين چاپ ميكنه ولي من ميخوام از پايين به بالا و بصورت مور چاپ كنه !


    ; multi-segment executable file template.
    data segment
    n db "Enter your Name : $"
    n1 db 20
    n2 db ?
    n3 db 21 dup(?)
    i db ?
    k dw ?
    ends
    stack segment
    dw 128 dup(0)
    ends
    code segment
    start:
    ; set segment registers:
    mov ax, data
    mov ds, ax
    mov es, ax
    lea dx,n
    mov ah,09h
    int 21h
    lea dx,n1
    mov ah,0ah
    int 21h
    mov i,1
    l1: mov al,n2
    mov ah,0
    cmp k,ax
    jnl l2
    mov dl,i
    mov dh,i
    mov bh,0
    mov ah,02h
    int 10h
    lea dx,n3
    add dx,k
    mov cx,1
    mov bx,1
    mov ah,40h
    int 21h
    inc k
    inc i
    jmp l1
    l2:
    mov ah, 1
    int 21h
    mov ax, 4c00h ; exit to operating system.
    int 21h
    end start ; set entry point and stop the assembler.


    سلام میشه خطوط کدهای بالا رو توضیح بدید؟

  6. #6
    کاربر دائمی آواتار masoud.8086
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    نيشابور
    پست
    230

    نقل قول: چاپ مورب رشته

    با سلام
    اصلا نیازی به پیچوندن سوال نیس
    ابتدا با وقفه int 21h/ah,02 بیاین ی حروفو در مختصات مورد نظر چاپ کنید با استفاده از وفغه int 10h/ah,02 و بعد مقدار ستون رو یکی و مقدار سطر رو هم یکی اضافه کنید تکه کد اصلی برنامه رو پایین براتون مینویسم موفق باشید
    i db 10
    j db 20
    'str db 'a','b','c
    //////////////
    mov si,0
    mov cx,3
    :k

    mov ah,02
    mov ,dh,i
    mov dl,j
    int 10h

    mov ah,02
    [mov dl,str[si
    int 21h
    inc si
    inc i
    inc j
    loop k

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

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