20 CLEAR 200,&HF000 40 INPUT"Первое целое число";N1% 50 INPUT"Второе целое число";N2% 60 POKE &HF000,PEEK(VARPTR(N1%)):POKE &HF001,PEEK(VARPTR(N1%)+1) 70 POKE &HF002,PEEK(VARPTR(N2%)):POKE &HF003,PEEK(VARPTR(N2%)+1) 80 DEFUSR=&HF006 90 DATA ED,6B,00,F0 :' ARG1: LD HL,(F000) 100 DATA ED,5B,02,F0 :' ARG2: LD DE,(F002) 110 DATA 06,10 :' LD B,10 120 DATA 4A :' LD C,D ; Пересылка множителя 130 DATA 7B :' LD A,E 140 DATA EB :' EX DE,HL ; Пересылка множимого 150 DATA 21,00,00 :' LD HL,0000 ; Установка частичного результата в исходное состояние 160 DATA CB,39 :' MLOOP:SRL C ; Сдвиг множителя вправо 170 DATA 1F :' RRA ; Наименее значащий разряд к переносу 180 DATA 30,01 :' JR NC,NOADD-S; Если нет переноса, то пропуск суммирования 190 DATA 19 :' ADD HL,DE ; Иначе суммирование множимого в частичный результат 200 DATA EB :' NOADD:EX DE,HL ; Сдвиг множимого влево 210 DATA 29 :' ADD HL,HL ; при умножении на 2 220 DATA EB :' EX DE,HL 230 DATA 10,F5 :' DJNZ MLOOP-S ; Повторение до последнего разряда 240 DATA ED,63,04,F0 :' REZ: LD (F004),HL 250 DATA C9 :' RET 260 FOR T=0 TO 31:READ Z$:POKE &HF006+T,VAL("&h"+Z$):NEXT 270 X=USR(X) 'Выполним умножение чисел N1% и N2% 280 MULT=256*PEEK(&HF005)+PEEK(&HF004) 290 IF MULT>32767 THEN MULT=MULT-65536! 300 PRINT"Ваш результат:";MULT:END