Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!
15 $

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

истекло время актуальности


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

Приложения 1

Просмотр приложений доступен только зарегистрированным пользователям.

Сделать ставку!

Заказчик не желает делать предоплату? Предложите оплату через Сейф, чтобы избежать возможного мошенничества.
  1. 10 $
    Ihar Areshchankau
     161   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

    ...

    Беларусь Беларусь | 30 мая 2011 |

Заказчик
Проект опубликован
28 мая 2011
182 просмотра
Способы оплаты