Сообщение от
Trol73
современный компилятор без проблем разберёт
Пример. Язык ассемблера MACRO-11. Штатный компилятор от производителя. Можно макросами сделать так:
Код:
PROCEDURE MULBLK
BEGIN
LET R0 := BLKBEG
LET R2 := CAPTR
LET R3 := ACTCNT
THRU R3 ; blocks count
; INIT
LET R4 := (R2) ; block words count
IF RESULT IS NE THEN
LET R5 := 2(R2) ; first word command pointer
THRU R4
LET (R0)+ := (R5)+ ; copy next block
END
ELSE
LET (R0)+ := #NOP
END
IF APHASE NE #0 THEN ; if not init calculating
; ACTION
LET R4 := 4(R2)
IF RESULT IS NE THEN
LET R5 := 6(R2) ; first word command pointer
THRU R4
LET (R0)+ := (R5)+ ; copy next block
END
END
END
END
LET (R0)+ := (PC) ; and return at end
RETURN
END MULBLK