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

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

минув час актуальності


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

Додатки 1

Перегляд контактної інформації доступний тільки зареєстрованим користувачам.

Зробити ставку!

Замовник не бажає робити передплату? Запропонуйте оплату через Сейф, щоб уникнути можливого шахрайства.
  1. 10 $
    Ihar Areshchankau
     40 

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

    Вот решение:
    ...
    ;===========================
    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 перегляди
Способи оплати