
Сообщение от
form
Даже в SB не будет (впрочем это по сути и есть однозадачный FB). Там выполняется проверка адреса буфера - он не может быть выше программной области.
Ну можно немного модернизировать:
Код:
.TITLE RDROM
.IDENT /V01.00/
.MCALL .SETTO,.ENTER,.WRITW,.CLOSE,.PURGE,.PRINT,.EXIT
START: .SETTO #BUFFER+20000
CMP R0,#BUFFER+20000
BHIS 1$
.PRINT #NOMEM
.EXIT
1$: MOV #BUFFER,R0
MOV #140000,R1
MOV #10000,R2
2$: MOV (R1)+,(R0)+
SOB R2,2$
.ENTER #AREA,#0,#FILNAM,#16.,#0
BCC 3$
.PRINT #ERRENT
BR 5$
3$: .WRITW #AREA,#0,#BUFFER,#10000,#0,#0
BCC 4$
.PURGE #0
.PRINT #ERRWRI
BR 5$
4$: .CLOSE #0
5$: .EXIT
AREA: .BLKW 5
FILNAM: .RAD50 /DK 140000ROM/
NOMEM: .ASCIZ /?RDROM-F-Insufficient memory/
ERRENT: .ASCIZ /?RDROM-F-.ENTER error/
ERRWRI: .ASCIZ /?RDROM-F-.WRITW error/
.EVEN
BUFFER:
.END START