Главная » Файлы » Лабораторные работы » Лабораторные работы |
«системне програмування»
[ Скачать с сервера (32.5 Kb) ] | 04.04.2017, 11:12 |
Виконання 1. program as7_1; uses crt; label loop_this,loop_exit; var arr: array [1..10] of integer; len: integer; Nums: integer; i: integer; begin clrscr; len:=10; for i:=1 to 10 do begin writeln('vvedit element [',i,']'); readln(arr[i]); end; asm mov bx,0 mov ax,0 mov si,0 mov cx,word ptr len loop_this: add ax,word ptr arr[si] cmp ax,100 ja loop_exit inc bx add si,2 loop loop_this loop_exit: mov word ptr Nums,bx end; writeln('kolichestvo elementov:',Nums); readln; end. Виконання 2. program as7_2; uses crt; var arr: array [1..10] of integer; len: integer; Nums: integer; i: integer; {$L la.obj} {$F+} function NumBe100(len: integer; var arr): integer; external; {$F-} begin clrscr; len:=10; for i:=1 to 10 do begin writeln('vvedit element [',i,']'); readln(arr[i]); end; Nums:=NumBe100(len,arr); writeln('k-st do 100:',Nums); readln; end. .386 _Text segment word public 'text' use16 assume cs: _text NumBe100 proc far public NumBe100; @len equ [bp+10] @arr equ [bp+6] push bp mov bp,sp lds bx, @arr mov si,0 xor ax,ax xor dx,dx mov cx,@len start: add dx, word ptr [bx][si] cmp dx,100 ja exit inc ax add si,2 loop start exit: mov sp,bp pop bp ret 6 NumBe100 endp _text ends End Висновок. Під час лабораторної роботи було закріплено вміння застосовувати асемблерні вставки у програмах мовою Паскаль. | |
Просмотров: 438 | Загрузок: 10 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |