opcodes[]: global scope global { global scope implicit__BlockDevice { } type utf8str: type ucs1str: type ucs2str: type FD: type BlockDevice: void init ( BlockDevice¢ this, NodeType nodetype, ucs1str¢ name, FD_Handlers¢ handlers, uint8 log2blocksize, uint32 totalblocks ) { var BlockDevice¢ this var NodeType nodetype var ucs1str¢ name var FD_Handlers¢ handlers var uint8 log2blocksize var uint32 totalblocks lvar+12+0 "this" ( -- BlockDevice¢& ) peek ( BlockDevice¢& -- BlockDevice¢ ) lvar+10+2 "nodetype" ( -- NodeType& ) peek ( NodeType& -- NodeType ) lvar+8+4 "name" ( -- ucs1str¢& ) peek ( ucs1str¢& -- ucs1str¢ ) lvar+6+6 "handlers" ( -- FD_Handlers¢& ) peek ( FD_Handlers¢& -- FD_Handlers¢ ) call init ( FD¢, NodeType, ucs1str¢, FD_Handlers¢ ) lvar+4+0 "log2blocksize" ( -- uint8& ) peek ( uint8& -- uint8 ) lvar+12+2 "this" ( -- BlockDevice¢& ) peek ( BlockDevice¢& -- BlockDevice¢ ) item+9 "log2blocksize" ( -- uint8& ) poke ( uint8, uint8& -- ) 1 ( -- uint16 ) lvar+4+2 "log2blocksize" ( -- uint8& ) peek ( uint8& -- uint8 ) cast ( uint8 -- int16 ) << ( uint16, int16 -- uint16 ) lvar+12+2 "this" ( -- BlockDevice¢& ) peek ( BlockDevice¢& -- BlockDevice¢ ) item+5 "blocksize" ( -- uint16& ) poke ( uint16, uint16& -- ) lvar+12+0 "this" ( -- BlockDevice¢& ) peek ( BlockDevice¢& -- BlockDevice¢ ) item+5 "blocksize" ( -- uint16& ) peek ( uint16& -- uint16 ) 1 ( -- uint16 ) - ( uint16, uint16 -- uint16 ) lvar+12+2 "this" ( -- BlockDevice¢& ) peek ( BlockDevice¢& -- BlockDevice¢ ) item+7 "blockmask" ( -- uint16& ) poke ( uint16, uint16& -- ) lvar+0+0 "totalblocks" ( -- uint32& ) peek ( uint32& -- uint32 ) lvar+12+4 "this" ( -- BlockDevice¢& ) peek ( BlockDevice¢& -- BlockDevice¢ ) item+10 "totalblocks" ( -- uint32& ) poke ( uint32, uint32& -- ) drop ( uint32 -- ) drop ( uint8 -- ) drop ( FD_Handlers¢ -- ) drop ( ucs1str¢ -- ) drop ( NodeType -- ) drop ( BlockDevice¢ -- ) } uint16 getctl ( BlockDevice¢ fd, uint8 fu ) { var BlockDevice¢ fd var uint8 fu lvar+0+0 "fu" ( -- uint8& ) peek ( uint8& -- uint8 ) cast ( uint8 -- int16 ) switch ( int16 -- ) { 7:L620, 8:L621, 9:L622, dflt:L619, join:L619 } L620: lvar+2+0 "fd" ( -- BlockDevice¢& ) peek ( BlockDevice¢& -- BlockDevice¢ ) item+9 "log2blocksize" ( -- uint8& ) peek ( uint8& -- uint8 ) cast ( uint8 -- uint16 ) jp ( -- ) -> L618 L621: lvar+2+0 "fd" ( -- BlockDevice¢& ) peek ( BlockDevice¢& -- BlockDevice¢ ) item+10 "totalblocks" ( -- uint32& ) lo ( uint32& -- uint16& ) peek ( uint16& -- uint16 ) jp ( -- ) -> L618 L622: lvar+2+0 "fd" ( -- BlockDevice¢& ) peek ( BlockDevice¢& -- BlockDevice¢ ) item+10 "totalblocks" ( -- uint32& ) hi ( uint32& -- uint16& ) peek ( uint16& -- uint16 ) jp ( -- ) -> L618 L619: 0 ( -- uint16 ) L618: tor ( uint16 -- ) drop ( uint8 -- ) drop ( BlockDevice¢ -- ) fromr ( -- uint16 ) } void setctl ( BlockDevice¢ fd, uint8 fu, uint16 n ) { var BlockDevice¢ fd var uint8 fu var uint16 n L623: drop ( uint16 -- ) drop ( uint8 -- ) drop ( BlockDevice¢ -- ) } }