Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
15 $

Нужно подправить код в Turbo Assembler

project expired


Вообщем, те кто знают Assembler нет ничего сложного. Есть программа, которая удаляет строчку из массива по заданному номеру, нужно сделать так, чтоб эта программа удаляла столбец по заданному номеру.

Applications 1

Only registered users can view attachments.

Make a proposal!

The client doesn't want to make prepayment? Offer him to make a payment via Safe to avoid possible fraud.
  1. 10 $
    Ihar Areshchankau
     121   1   0

    Надеюсь, эти подпрограммы никогда не будут использованы в реальной системе 😉)) Ибо всё, что там есть сейчас и будет после доработок - подгонка под результат.

    Вот решение:
    ...
    ;===========================
    XOR BX, BX
    BL1:
    XOR CX,CX
    XOR SI, SI
    BL2:

    ;------------------------------------------
    ; Этими командами "пропускаем" i-й столбец
    ;
    CMP CX, i
    JNE BL3
    INC CX
    BL3:
    ;------------------------------------------

    MOV AX, BX
    MUL M ; AX := AX * M (на кол-во столбцов)
    ADD AX,CX
    SAL AX,1 ; AX := AX * 2
    MOV DI, AX ; в BX - номер строки, в CX - номер столбца
    MOV DX,A[DI] ; DX := A[AX, CX]

    ;-------------------------------------------
    ; Эти команды введены для пропуска строки
    ; CMP BX, i ; номер строки = i????
    ; JE BL8 ; да - к BL8
    ;-------------------------------------------

    MOV DI, SI
    SAL DI, 1
    MOV B[DI], DX
    INC SI
    CMP SI, M
    JL BL8

    LEA BP, B
    MOV CX, SI

    DEC CX ; нужно напечатать на 1 элемент меньше, чем длина строки исходного массива
    CALL PRINTMAS


    BL8:
    Inc CX
    cmp CX, M
    jl BL2

    INC BX
    CMP BX, N
    JL BL1

    mov ah,1
    int 21h
    Mov AH,4CH
    Int 21h
    MAIN ENDP

    ...

    Belarus Belarus | 30 May 2011 |

Project published
28 May 2011
182 views
Payment methods