Блок-схема основной программы. Линейная и графическая схемы основной программы. Линейная и графическая схемы процедуры вычитания. Реализация ввода с клавиатуры числа, длиной не более 128 символов. Размещение числа в выделенной оперативной памяти.
Аннотация к работе
Цикла Сети Петри. Листинг программы Введение Подпрограмма преобразования 128-разрядного СЧ в УЧ. Анализ В окончательной версии программы реализован ввод с клавиатуры числа, длиной не более 128 символов, проверка его на корректность ввода, преобразование из символьного представления в УЧ, размещение полученного числа в выделенной оперативной памяти. Tabl db 0123456789 - таблица для проверки корректности ввода данных flag db 0 - искусственный флаг dlina_1 db 0 - хранит длину числа buf dw 0 - буфер BLOCK_SEG1 dw 0 - хранит адрес блока выделенной ОП для числа Блок-схема основной программы Линейная схема основной программы 0. Аксиоматическая семантика Множества Z- множество целых чисел R- множество регистров L-множество меток Операции сложить - вычесть неравно = равно := присвоить выполнить действия за стрелкой, если выполняются условия до стрелки @ обратиться по адресу ( ) извлечь содержимое & логическое и … e4: xor ax, ax ;(ax)=0 xor bx, bx ;(bx)=0 xor si, si ;(si)=0 mov al, a 1 ; (al)=(@(a1) 1) mov si, ax ;(si)=(ax) xor di, di ;(di)=0 mov di, si ;(di)=(si) xor ax, ax ;(ax)=0 dec di ; (di)t = (di)(t-1)-1 … ClrScr proc push bp ; ((sp):=(sp)-2)&((@(ss) (@(sp)))=(bp)) mov bp, sp ;(bp)=(sp) push ax ; ((sp):=(sp)-2)&((@(ss) (@(sp)))=(ax)) mov ah, 0 ;(ah)=0 mov al, 2 ;(al)=2 int 10h ; (sp)t=(sp)(t-1)-2, (sp)=(Flags), (sp)t=(sp)(t-1)-2, (sp)=(ip), (ip)=(132) pop ax ;((ax)=(@(ss) (@(sp))))&((sp):=(sp) 2) pop bp ;((bp)=(@(ss) (@(sp))))&((sp):=(sp) 2) ret ; RET ClrScr endp Верификация 1.