Syscall

Sep. 19th, 2005 07:02 pm
nw_wind: (Default)
[personal profile] nw_wind
Внезапно подумалось, какой syscall мне больше всего запомнился, как-то оставил след в душе...
Думаете fork како-ньть? Нет! QIOW$... Есть в живых, кто помнит что это такое? :-)

PS. Это не совсем syscall. Это макрос. Вызывается оно через DIR$, но это не принципиально... Там все было не так как сейчас в моде.

Date: 2005-09-19 08:36 am (UTC)
From: [identity profile] owssrmn.livejournal.com
НЕ ДОЖДЕТЕСЬ!

Date: 2005-09-19 08:37 am (UTC)
From: [identity profile] http://users.livejournal.com/_dms/
Тебе, наверно, просто нравилось его произносить :)

да,

Date: 2005-09-19 08:38 am (UTC)
From: [identity profile] owssrmn.livejournal.com
я правильно понимаю что ты про это?
.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
[Error: Irreparable invalid markup ('<cx.h>') in entry. Owner must fix manually. Raw contents below.]

я правильно понимаю что ты про это?
.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

и, кстати,

Date: 2005-09-19 08:40 am (UTC)
From: [identity profile] owssrmn.livejournal.com

; 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

Date: 2005-09-19 08:49 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Рад, что ты жив!

Date: 2005-09-19 08:49 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Я даже не знаю как оно произносится.

Re: да,

Date: 2005-09-19 08:50 am (UTC)

Re: и, кстати,

Date: 2005-09-19 08:50 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Музыка...

Re: и, кстати,

Date: 2005-09-19 08:57 am (UTC)
From: [identity profile] owssrmn.livejournal.com
вы, наверное, будете смеяться, но.. эээ..
в свое время, убив _кучу_ времени на то, чтобы найти хоть один учебник по ассемблеру для pdp-11, как-то упустил из виду про 8ричную систему счисленияи долго недоумевал почему R2=7, INC R2 дает 10
а когда понял - ну просто как по маслу
песня а не язык

(ох лудук, молчи лучше. а то я вспомню "зеленый огонек ярко светится" и как мы с ралдугиным нажрались у тебя коньяка где-то в жопе мира на охте или металлистов?)

Date: 2005-09-19 09:14 am (UTC)
From: [identity profile] http://users.livejournal.com/_dms/
мы звали его куЁв :)

Date: 2005-09-19 09:58 am (UTC)
From: [identity profile] junt.livejournal.com
синтаксис странный
с какого-то момента смена поколений программистов пошла очень быстрыми темпами

Re: и, кстати,

Date: 2005-09-19 10:15 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Мне было очень непривычно воспринимать 16ричную систему, принятую в писюках.

Re: и, кстати,

Date: 2005-09-19 10:16 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Ох! Вспомни...
Жрали на ул. Тухачевского на Пискаревке.

Date: 2005-09-19 10:17 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Ну, на этом странном синтаксисе выросло поколение целое :-)

Date: 2005-09-19 10:22 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Где еще, какому процу, можно сказать:

mov @10(R0)+,-(sp) ; положить в стек слово по адресу, который за десять (8ричных) от адреса, что лежит в регистре R0. После этого R0 увеличится на 2 (размер слова). Если мувнут 0, то это еще отловить можно условным пероеходом.

Date: 2005-09-19 10:24 am (UTC)
From: [identity profile] nw-wind.livejournal.com
А мы квиов :-)

Re: и, кстати,

Date: 2005-09-19 10:28 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Я вспоминаю как мы с Ролдугиным приперлись к тебе с пивом пойнта получать, а ты был крутой гуру, настоящий провайдер - у тебя было несколько модемов скрученных в пачку скотчем. Причем все пиво высосал Ролдугин, по-моему...
Я тогда ничего не понял, но почувствовал просветление.

Date: 2005-09-19 10:42 am (UTC)
From: [identity profile] tnt23.livejournal.com
По-моему, TMS370. Более точно нужно в PDF лезть, а лень :)

Date: 2005-09-19 11:01 am (UTC)
From: [identity profile] junt.livejournal.com
мда... звучит очень похоже на х86... а ты попробуй написать компилятор, который это реально использует. или соптимизировать конвейер, на который пойдут инструкции, исполняющиеся от 2-х до 12-ти циклов и длиной до 8 байт

нафиг-нафиг... в первой архитектуре, с которой я нормально работал, слова были по 32 бита, команды 16 бит и замечательный теневой регистровый файл для обработки очень быстрых прерываний

Date: 2005-09-19 11:13 am (UTC)
From: [identity profile] nw-wind.livejournal.com
То есть, народ не забыл былое? :-)

Date: 2005-09-19 11:16 am (UTC)
From: [identity profile] nw-wind.livejournal.com
На х86 непохоже совсем. Мало общего. Там все команды фиксированной длины, не зависящей от типа адресации итп. Там такой проц, что писать на асемблере одно удовольствие.
Какие конвееры? В 80х годах-то... :-)
Это проц от DEC PDP-11, DEC Professiional и LSI. По-русски: СМ, ДВК, Электроника-60 и Электроника-85.

Date: 2005-09-19 11:40 am (UTC)
From: [identity profile] junt.livejournal.com
ну, что это pdp-11 я уже понял, комментарии прочитал :) просто все эти предекременты с постинкрементами запомнил только по х86. да и кто сейчас еще пишет на ассемблере?

Date: 2005-09-19 10:46 pm (UTC)
From: [identity profile] tnt23.livejournal.com
Ну не такое уж оно былое (TMS с конца восьмидесятых делается вроде). Да много у кого есть развитая система команд.

А я толком PDP-11 и не знал никогда. Году в 1985 на УПК "Красная заря" в Петергофе нам читали курс системного программирования замечательные люди - Володя Киселев и Володя Ардашов. Программировали с пульта. Молодость, молодость :)

Date: 2005-09-19 10:48 pm (UTC)
From: [identity profile] tnt23.livejournal.com
Много кто, как ни странно. Embedded область никуда не делась, и повальным засовыванием джавы в кофемолки не всегда удается добиться оптимальных результатов.

Date: 2005-09-19 11:15 pm (UTC)
From: [identity profile] junt.livejournal.com
даже когда писал код для C167 использовался 99.9% С
если уж говорить про большие процессоры, то там ассемблер встретишь только в стартап коде (ну и оптимизированная математика)

Date: 2005-09-20 12:02 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Дааа... Сейчас уже вирусы на дельфях пишут.

Date: 2005-09-20 12:03 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Мне нравится форт для кофеварок и прочих холодильников.

Date: 2005-09-20 12:05 am (UTC)
From: [identity profile] nw-wind.livejournal.com
На Macro-11 было настолько удобно писать, что я бросил все эти фортраны-паскали и писал на нем.
Однажды я заполучил компилятор С (Decus-85) и сказал ему сгенерить ассемблерный код сначала. Почитав код, я понял, что написал бы так же и стал писать на сях. 1988г.

Date: 2005-09-20 12:14 am (UTC)
From: [identity profile] nw-wind.livejournal.com
На меня произвела впечатление ферритовая память тогда. Жмешь на пульте компутера "останов" и рубишь питание. На следующий день включаешь питание и, когда все раскрутится, отпускаешь "останов" и оно продолжает работать как ни в чем не бывало.

Date: 2005-09-20 12:19 am (UTC)
From: [identity profile] junt.livejournal.com
ага. и я о том же ;)

Date: 2005-09-20 12:23 am (UTC)
From: [identity profile] junt.livejournal.com
один знакомый (старой школы) рассказывал, что написал систему на форте, включая небольшую файловую систему, где хранил все исходники :) интересный подход к контролю версий, а? :) причем весило все это килобайты

Date: 2005-09-20 12:44 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Но до этого момента я писал на Macro-11 и в ус не дул...

Date: 2005-09-20 12:45 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Функциональные языки я любил с детства...

Date: 2005-09-20 01:24 am (UTC)
From: [identity profile] tnt23.livejournal.com
Говорю же - embedded :)

Date: 2005-09-20 01:32 am (UTC)
From: [identity profile] junt.livejournal.com
собственно, я говорю о том же ;) всю жизнь железо программировал

Re: и, кстати,

Date: 2005-09-20 04:48 am (UTC)
From: [identity profile] owssrmn.livejournal.com
в жд-атс на боровой. там был зухель и 4 микрокома чоле? а этажом ниже сидел своебразный такой илья кузнецов.
а кстати да, получается дал тебе путевку в жысть.

Re: да,

Date: 2005-09-20 04:55 am (UTC)
From: [identity profile] syscall.livejournal.com
маньяки :)

Re: и, кстати,

Date: 2005-09-20 05:18 am (UTC)
From: [identity profile] nw-wind.livejournal.com
Типа того...

Date: 2005-09-20 10:05 am (UTC)
From: [identity profile] tnt23.livejournal.com
Ну вот бутовый код, когда еще нет ни памяти, ни стека, ничего - только на ассемблере и можно написать. Какие уж тут ЯВУ :)

June 2017

S M T W T F S
    123
45678910
111213 1415 1617
18192021222324
252627282930 

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 7th, 2026 10:20 am
Powered by Dreamwidth Studios