Цитата Сообщение от andrews Посмотреть сообщение
ни один ассемблер такого сделать не даст.
Э, не понял. Чего не даст? Кусок кода на языке ассемблера MACRO-11:
Код:
  ;
  ; Routine to move byte fields
  ;
  PROCEDURE BMOVE
  BEGIN
    LET  BMC2 := #^O<MOVB+2120>			; Set a MOVB (R1)+, (R0)+
    GOTO BMC1
  END BMOVE

  PROCEDURE BCLEAR
  BEGIN
    LET   BMC2 := #^O<MOVB+0120>		; Set a MOVB R1, (R0)+
    $GOTO BMC1
  END BCLEAR

  PROCEDURE BMC1
  BEGIN
    JSR R4, SAV04				; Saver Regs 0-4

    LET R0 := (R5)+				; Get dest addr
    LET R1 := (R5)+				; Get source
    LET R2 := (R5)+				; Get count

    REPEAT
  BMC2:
      .WORD 0
      LET R2 := R2 - #1				; One byte less
    UNTIL RESULT IS EQ				; Until done
    GOTO UPKNM1
  END BMC1

.....

  PROCEDURE RESR5
  BEGIN

  ENTRY UPKNM1

    CALL RST04					; Restore regs 0-4
    RTS R5					; Done, return
  END RESR5