Внезапно подумалось, какой syscall мне больше всего запомнился, как-то оставил след в душе...
Думаете fork како-ньть? Нет! QIOW$... Есть в живых, кто помнит что это такое? :-)
PS. Это не совсем syscall. Это макрос. Вызывается оно через DIR$, но это не принципиально... Там все было не так как сейчас в моде.
Думаете fork како-ньть? Нет! QIOW$... Есть в живых, кто помнит что это такое? :-)
PS. Это не совсем syscall. Это макрос. Вызывается оно через DIR$, но это не принципиально... Там все было не так как сейчас в моде.
no subject
Date: 2005-09-19 08:36 am (UTC)no subject
Date: 2005-09-19 08:49 am (UTC)no subject
Date: 2005-09-19 08:37 am (UTC)no subject
Date: 2005-09-19 08:49 am (UTC)no subject
Date: 2005-09-19 09:14 am (UTC)no subject
Date: 2005-09-19 10:24 am (UTC)да,
Date: 2005-09-19 08:38 am (UTC).TITLE QIOW Queue I/O Request and Wait
.IDENT "V1.2"
.ENABL LC
.PSECT C$CODE
;+
; Index QIOW Queue I/O Request and wait
;
; Usage
;
; #include
.TITLE QIOW Queue I/O Request and Wait
.IDENT "V1.2"
.ENABL LC
.PSECT C$CODE
;+
; Index QIOW Queue I/O Request and wait
;
; Usage
;
; #include <cx.h>
; #include <qiofun.h> /* I/O Function codes */
; #Include <qioret.h> /* I/O Status return codes */
; word func; /* I/O function code */
; word lun; /* Logical unit number */
; word eflag; /* Event flag number */
; word iosb[2]; /* I/O status block */
; {typ} astsrv(); /* AST service routine */
; int devpar[6]; /* Array of 6 parameters */
; word status; /* Returned DSW */
;
; status = qiow(func,lun,eflag,iosb,astsrv,devpar);
;
; Notes
;
; #include <qiottd.h> for FDX/HDX terminal driver
; function, subfunction and return status codes.
;
; A Non-zero event flag number must be supplied or the
; function will return prior to completion of the I/O
; request (i.e., the wait will fail).
;-
; Edits:
; V1.0 12-Jun-80 RBD Initial Edit
; V1.1 08-Sep-80 RBD Restore r1 from stack
; V1.2 20-Oct-82 RBD Change P-Section. Fix documentation.
;
.mcall qiow$s
qiow::
mov r1,-(sp) ;save r1
mov sp,r0 ;r0 --> stack frame
mov 16(r0),r1 ;r1 --> device dependent parameters
qiow$s 4(r0),6(r0),10(r0),,12(r0),14(r0),<(r1),2(r1),4(r1),6(r1),10(r1),12(r1)>
mov $dsw,r0 ;return dsw
mov (sp)+,r1 ;01
return
.end
Re: да,
Date: 2005-09-19 08:50 am (UTC)Re: да,
Date: 2005-09-20 04:55 am (UTC)и, кстати,
Date: 2005-09-19 08:40 am (UTC); Hello World in Assembler for the DEC PDP-11 with the
; RSX-11M-PLUS operating system
;
.title Hello
.ident /V0001A/
.mcall qiow$s, exit$s
.psect $code,ro,i
start: qiow$s #5,#5,,,,<#str, #len, #40>
exit$s
.psect $data,ro,d
str: .ascii / Hello World!/
len=.-str
.end start
Re: и, кстати,
Date: 2005-09-19 08:50 am (UTC)Re: и, кстати,
Date: 2005-09-19 08:57 am (UTC)в свое время, убив _кучу_ времени на то, чтобы найти хоть один учебник по ассемблеру для pdp-11, как-то упустил из виду про 8ричную систему счисленияи долго недоумевал почему R2=7, INC R2 дает 10
а когда понял - ну просто как по маслу
песня а не язык
(ох лудук, молчи лучше. а то я вспомню "зеленый огонек ярко светится" и как мы с ралдугиным нажрались у тебя коньяка где-то в жопе мира на охте или металлистов?)
Re: и, кстати,
Date: 2005-09-19 10:15 am (UTC)Re: и, кстати,
Date: 2005-09-19 10:16 am (UTC)Жрали на ул. Тухачевского на Пискаревке.
Re: и, кстати,
Date: 2005-09-19 10:28 am (UTC)Я тогда ничего не понял, но почувствовал просветление.
Re: и, кстати,
Date: 2005-09-20 04:48 am (UTC)а кстати да, получается дал тебе путевку в жысть.
Re: и, кстати,
Date: 2005-09-20 05:18 am (UTC)no subject
Date: 2005-09-19 09:58 am (UTC)с какого-то момента смена поколений программистов пошла очень быстрыми темпами
no subject
Date: 2005-09-19 10:17 am (UTC)no subject
Date: 2005-09-19 10:22 am (UTC)mov @10(R0)+,-(sp) ; положить в стек слово по адресу, который за десять (8ричных) от адреса, что лежит в регистре R0. После этого R0 увеличится на 2 (размер слова). Если мувнут 0, то это еще отловить можно условным пероеходом.
no subject
Date: 2005-09-19 10:42 am (UTC)no subject
Date: 2005-09-19 11:13 am (UTC)no subject
Date: 2005-09-19 10:46 pm (UTC)А я толком PDP-11 и не знал никогда. Году в 1985 на УПК "Красная заря" в Петергофе нам читали курс системного программирования замечательные люди - Володя Киселев и Володя Ардашов. Программировали с пульта. Молодость, молодость :)
no subject
Date: 2005-09-20 12:14 am (UTC)no subject
Date: 2005-09-19 11:01 am (UTC)нафиг-нафиг... в первой архитектуре, с которой я нормально работал, слова были по 32 бита, команды 16 бит и замечательный теневой регистровый файл для обработки очень быстрых прерываний
no subject
Date: 2005-09-19 11:16 am (UTC)Какие конвееры? В 80х годах-то... :-)
Это проц от DEC PDP-11, DEC Professiional и LSI. По-русски: СМ, ДВК, Электроника-60 и Электроника-85.
no subject
Date: 2005-09-19 11:40 am (UTC)no subject
Date: 2005-09-19 10:48 pm (UTC)no subject
Date: 2005-09-19 11:15 pm (UTC)если уж говорить про большие процессоры, то там ассемблер встретишь только в стартап коде (ну и оптимизированная математика)
no subject
Date: 2005-09-20 12:05 am (UTC)Однажды я заполучил компилятор С (Decus-85) и сказал ему сгенерить ассемблерный код сначала. Почитав код, я понял, что написал бы так же и стал писать на сях. 1988г.
no subject
Date: 2005-09-20 12:19 am (UTC)no subject
Date: 2005-09-20 12:44 am (UTC)no subject
Date: 2005-09-20 01:24 am (UTC)no subject
Date: 2005-09-20 01:32 am (UTC)no subject
Date: 2005-09-20 10:05 am (UTC)no subject
Date: 2005-09-20 12:03 am (UTC)no subject
Date: 2005-09-20 12:23 am (UTC)no subject
Date: 2005-09-20 12:45 am (UTC)no subject
Date: 2005-09-20 12:02 am (UTC)