![]() |
Помогите изменить код в Assembler
Здравствуйте, я сейчас обучаюсь и мне дали вот такое задание, нужно изменить код программы!!!
Цель работы: Освоить процесс ввода и вывода данных, преоброзование их из ASCII-формата в двоичный и обратно. Данный код программы считает среднее арифметическое 2 чисел!!! Надо изменить код программы, что бы он считал площадь треугольника. codesg SEGMENT PARA 'code' ASSUME ds:datasg, ss:ctacksg, cs:codesg ORG 100h begin MULT10 DW 1 BINVAL DW 0 ASCVAL DB ? ASCVAL2 DB ? bin1 dw 1 BINVALUME2 dw 1 mov ah,00 ;=>cls mov al,03 int 10h nam db 'S= $' mov ah,09h lea dx,nam int 21h namepar label byte; =>begin enter maxlen db 20 asclen db ? namefld db 20 dup('$') mov ah,0ah lea dx,namepar int 21h ;=>end enter ;//////////////////// ;=ASC TO BIN MOV CX,10;+++ LEA SI,asclen MOV AX,[SI] xor bx,bx MOV Bl,Al LEA SI,namefld-1 mov BINVAL,0 b20: mov AL,[si+bx] and ax,00fh mul mult10 add BINVAL,ax mov ax,mult10 mul cx mov mult10,ax dec bx jnz b20 ;//////////////////////////////////// ;S=2 CX=B=3 BX=A=1 ;S=28 CX=B=42(2A) BX=A=14(E) MOV Bx,BINVAL MOV AX,6 MUL BX MOV BX,4 DIV BX MOV CX,AX ;=> CX=B MOV BIN1,CX MOV BX,3 DIV BX MOV BX,AX ;=> BC=A MOV BINVALUME2,BX ;/////////////////////////////// XOR AX,AX XOR BX,BX XOR CX,CX XOR DX,DX XOR SI,SI MOV CX,0010 LEA SI,ASCVAL-2 MOV AX,BIN1 ; CHISLO BIN MOV BX,3 C20: CMP Ax,0010 JB C30 OR DX,DX DIV CX OR DL,30H MOV [SI+BX],DL DEC BX JMP C20 C30: OR AL,30H ` MOV [SI+BX],AL ;///////////////////////////// mov ah,02 mov bh,00 mov dh,02 mov dl,00 int 10h bkmz db 'A= $' mov ah,09h lea dx,bkmz int 21h mov [ASCVAL+2],'$' lea si,ascval mov ah,09h LEA dx,[SI] int 21h ;***************************************** XOR AX,AX XOR BX,BX XOR CX,CX XOR DX,DX XOR SI,SI MOV CX,0010 LEA SI,ASCVAL2-2 MOV AX,BINVALUME2 ; CHISLO BIN MOV BX,3 A20: CMP Ax,0010 JB A30 OR DX,DX DIV CX OR DL,30H MOV [SI+BX],DL DEC BX JMP A20 A30: OR AL,30H ` MOV [SI+BX],AL ;///////////////////////////// mov ah,02 mov bh,00 mov dh,03 mov dl,00 int 10h bkmz2 db 'B= $' mov ah,09h lea dx,bkmz2 int 21h mov [ASCVAL2+2],'$' lea si,ascval2 mov ah,09h LEA dx,[SI] int 21h mov ah,00;=>pause int 16h int 20h end begin codesg ENDS |
Ну, и? Изменяйте, учитесь. А иначе — как научитесь?!
|
Вся проблема в том, что я немного припозднился с выполнением этого задания, а уже разбирать его нету времени. В противном случаи я бы сюда не обратился
|
dogkenel321, тогда Вы явно не туда обратились. Здесь, преимущественно, помогают и учат, а не просто делают домашку за других нахаляву. Нет, если, конечно, у кого бессонница будет, и совсем нечем заняться — может быть, и напишут. Но лучше Вам с этим на какие-нибудь freelance-сайты пойти, там всегда найдётся куча народа, готового за скромное вознаграждение снять тяжесть с души своего брата-студента.
|
Я нет прошу все сделать за меня. Вы можете указать на тот кусочек программы, который нужно изменить
|
Время: 23:01. |
Время: 23:01.
© OSzone.net 2001-