about summary refs log blame commit diff stats
path: root/README.md
blob: b9cfb9e3b43428c0ab9ddef6cbbcabcebfee9063 (plain) (tree)
y 3/mod/direct 4/rm32/esp . . . 5/r32/ebp . . # copy ebp to esp 5d/pop-to-ebp c3/return # 4-argument variant of _append _append-4: # out: (addr byte), outend: (addr byte), in: (addr byte), inend: (addr byte) -> num_bytes_appended/eax: int # . prologue 55/push-ebp 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp # . save registers 51/push-ecx 52/push-edx 53/push-ebx 56/push-esi 57/push-edi # num_bytes_appended = 0 b8/copy-to-eax 0/imm32 # edi = out 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 7/r32/edi 8/disp8 . # copy *(ebp+8) to edi # edx = outend 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 2/r32/edx 0xc/disp8 . # copy *(ebp+12) to edx # esi = in 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 6/r32/esi 0x10/disp8 . # copy *(ebp+16) to esi # ecx = inend 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 1/r32/ecx 0x14/disp8 . # copy *(ebp+20) to ecx $_append-4:loop: # if (in >= inend) break 39/compare 3/mod/direct 6/rm32/esi . . . 1/r32/ecx . . # compare esi with ecx 73/jump-if-addr>= $_append-4:end/disp8 # if (out >= outend) abort # just to catch test failures fast 39/compare 3/mod/direct 7/rm32/edi . . . 2/r32/edx . . # compare edi with edx 73/jump-if-addr>= $_append-4:end/disp8 # TODO: abort # *out = *in 8a/copy-byte 0/mod/indirect 6/rm32/esi . . . 3/r32/BL . . # copy byte at *esi to BL 88/copy-byte 0/mod/indirect 7/rm32/edi . . . 3/r32/BL . . # copy byte at BL to *edi # ++num_bytes_appended 40/increment-eax # ++in 46/increment-esi # ++out 47/increment-edi eb/jump $_append-4:loop/disp8 $_append-4:end: # . restore registers 5f/pop-to-edi 5e/pop-to-esi 5b/pop-to-ebx 5a/pop-to-edx 59/pop-to-ecx # . epilogue 89/copy 3/mod/direct 4/rm32/esp . . . 5/r32/ebp . . # copy ebp to esp 5d/pop-to-ebp c3/return # . . vim:nowrap:textwidth=0
id='n734' href='#n734'>734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766
format 70
"a"
  revision 3
  modified_by 2 "hut"


  
  // class settings
  default_attribute_visibility private default_relation_visibility private default_operation_visibility public
  //class diagram settings
  draw_all_relations yes hide_attributes no hide_operations no hide_getset_operations no show_members_full_definition no show_members_visibility no show_members_stereotype no show_members_multiplicity no show_members_initialization no show_attribute_modifiers no member_max_width 127 show_parameter_dir yes show_parameter_name yes package_name_in_tab no class_drawing_mode natural drawing_language uml show_context_mode no auto_label_position yes show_relation_modifiers no show_relation_visibility no show_infonote no shadow yes show_stereotype_properties no
  //use case diagram settings
  package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes class_drawing_mode actor shadow yes show_stereotype_properties no
  //sequence diagram settings
  show_full_operations_definition no write_horizontally yes class_drawing_mode natural drawing_language uml draw_all_relations yes shadow yes show_stereotype_properties no
  //collaboration diagram settings
  show_full_operations_definition no show_hierarchical_rank no write_horizontally yes drawing_language uml package_name_in_tab no show_context no draw_all_relations yes shadow yes show_stereotype_properties no
  //object diagram settings
   write_horizontally yes package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes show_stereotype_properties no
  //component diagram settings
  package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes
  draw_component_as_icon no show_component_req_prov no show_component_rea no show_stereotype_properties no
  //deployment diagram settings
  package_name_in_tab no show_context no write_horizontally yes auto_label_position yes draw_all_relations yes shadow yes
  draw_component_as_icon no show_component_req_prov no show_component_rea no show_stereotype_properties no
  //state diagram settings
  package_name_in_tab no show_context no auto_label_position yes write_trans_label_horizontally yes show_trans_definition no draw_all_relations yes shadow yes
  show_activities yes region_horizontally yes drawing_language uml show_stereotype_properties no
  //activity diagram settings
  package_name_in_tab no show_context no show_opaque_action_definition no auto_label_position yes write_flow_label_horizontally no draw_all_relations yes shadow yes
  show_infonote yes drawing_language uml show_stereotype_properties no
  
  class_color yellow duration_color transparent continuation_color gray note_color blue fragment_color transparent subject_color transparent usecase_color yellow package_color transparent component_color green artifact_color green deploymentnode_color gray state_color yellow stateaction_color transparent activity_color transparent activityregion_color transparent activitypartition_color transparent activityaction_color transparent parameterpin_color white 
  font_size 10
  diagram_format A4

  mark_for_import
  
  classview 128002 "cv"
    //class diagram settings
    draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
    //collaboration diagram settings
    show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default
    //object diagram settings
     write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
    //sequence diagram settings
    show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
    //state diagram settings
    package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
    show_activities default region_horizontally default drawing_language default show_stereotype_properties default
    //class settings
    //activity diagram settings
    package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
    show_infonote default drawing_language default show_stereotype_properties default
    classdiagram 128002 "cd"
      draw_all_relations no hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
      size A4
    end

    sequencediagram 128130 "basic logic"
      show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
      overlapping_bars size A4
    end

    sequencediagram 128258 "draw"
      show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
      overlapping_bars size A4
    end

    class 128002 "FM"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      operation 128642 "new"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 128770 "feed"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 128898 "enter_dir"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 129026 "run"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 129154 "press"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      classrelation 128130 // <association>
	relation_ref 128002 // <association>
      end

      classrelation 128386 // <association>
	relation_ref 128130 // <association>
      end

      classrelation 129666 // <association>
	relation_ref 128770 // <association>
      end

      classrelation 130562 // <association>
	relation 129282 ----
	  a role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 130562 // <association>
	  b role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 130690 // <association>
      end
    end

    class 128130 "UI"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      operation 128002 "draw"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 128130 "feed"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 128258 "get_next_key"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 128386 "exit"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 128514 "new"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 131074 "click"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      classrelation 128258 // <association>
	relation 128130 ----
	  a role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 128258 // <association>
	  b role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 128386 // <association>
      end

      classrelation 128642 // <association>
	relation_ref 128258 // <association>
      end

      classrelation 128770 // <association>
	relation 128386 ----
	  a role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 128770 // <association>
	  b role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 128898 // <association>
      end

      classrelation 130306 // <association>
	relation 129154 ----
	  a role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 130306 // <association>
	  b role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 130434 // <association>
      end
    end

    class 128258 "MAIN"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      operation 129282 "main"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      classrelation 128002 // <association>
	relation 128002 ----
	  a role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 128002 // <association>
	  b role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 128130 // <association>
      end

      classrelation 128514 // <association>
	relation 128258 ----
	  a role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 128514 // <association>
	  b role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 128642 // <association>
      end
    end

    class 128386 "Command"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      operation 129538 "execute"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      classrelation 129154 // <association>
	relation_ref 128514 // <association>
      end

      classrelation 130050 // <association>
	relation 129026 ----
	  a role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 130050 // <association>
	  b role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 130178 // <association>
      end

      classrelation 130690 // <association>
	relation_ref 129282 // <association>
      end
    end

    class 128514 "Action"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      operation 129410 "run"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 129666 "copy"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 129794 "move"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 129922 "delete"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 130050 "create"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      classrelation 129026 // <association>
	relation 128514 ----
	  a role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 129026 // <association>
	  b role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 129154 // <association>
      end
    end

    class 128642 "Environment"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      operation 130178 "new"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      classrelation 129538 // <association>
	relation 128770 ----
	  a role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 129538 // <association>
	  b role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 129666 // <association>
      end

      classrelation 129794 // <association>
	relation 128898 ----
	  a role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 129794 // <association>
	  b role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 129922 // <association>
      end

      classrelation 130178 // <association>
	relation_ref 129026 // <association>
      end

      classrelation 130434 // <association>
	relation_ref 129154 // <association>
      end
    end

    class 128770 "Widget"
      abstract visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      operation 130306 "new"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 130434 "draw"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 130562 "destroy"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 130690 "feed"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 130818 "feed_env"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 131202 "click"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      classrelation 128898 // <association>
	relation_ref 128386 // <association>
      end

      classrelation 129410 // <association>
	relation_ref 128642 // <association>
      end

      classrelation 129922 // <association>
	relation_ref 128898 // <association>
      end
    end

    classinstance 128002 ""
      type class_ref 128770 // Widget
      attributes
        end
      relations
        end
    end

    class 128898 "curses"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      operation 130946 "addstr"
	public explicit_return_type ""
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      classrelation 129282 // <association>
	relation 128642 ----
	  a role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 129282 // <association>
	  b role_name "" private
	    python "${comment}${self}${name} = ${value}
"
	    classrelation_ref 129410 // <association>
      end
    end

    class 129026 "WConsole"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 137474 // <generalisation>
	relation 136066 ---|>
	  a public
	    python "${type}"
	    classrelation_ref 137474 // <generalisation>
	  b parent class_ref 128770 // Widget
      end
    end

    class 129154 "WStatusBar"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 137346 // <generalisation>
	relation 135938 ---|>
	  a public
	    python "${type}"
	    classrelation_ref 137346 // <generalisation>
	  b parent class_ref 128770 // Widget
      end
    end

    class 129282 "WDisplay"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 144258 // <generalisation>
	relation 142850 ---|>
	  a public
	    python "${type}"
	    classrelation_ref 144258 // <generalisation>
	  b parent class_ref 128770 // Widget
      end

    end

    class 129410 "WMessage"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 144130 // <generalisation>
	relation 142722 ---|>
	  a public
	    python "${type}"
	    classrelation_ref 144130 // <generalisation>
	  b parent class_ref 128770 // Widget
      end
    end

    class 129538 "WTitleBar"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 137602 // <generalisation>
	relation 136194 ---|>
	  a public
	    python "${type}"
	    classrelation_ref 137602 // <generalisation>
	  b parent class_ref 128770 // Widget
      end

    end
  end
add_operation_profile

end