english
version "1.0"
identify "xyz"
#: This module implements the 8051 micrcontroller instruction codes.
module code
#: {code} routines:
procedure acall@code
takes
code_address code_address
returns code
#: This procedure will return a {acall} {code} object containing
#, {code_address}.
procedure add_a_rn@code
takes
rn rn
returns code
#: This procedure will return an {add_a_rn} {code} object containing
#, {rn}.
procedure add_a_direct@code
takes
direct direct
returns code
#: This procedure will return an {add_a_direct} {code} object containing
#, {direct}.
procedure add_a_ri@code
takes
ri ri
returns code
#: This code procedure will return an {add_a_ri} {code} object containing
#, {ri}.
procedure add_a_data@code
takes
immediate immediate
returns code
#: This procedure will return an {add_a_data} {code} object containing
#, {immediate}.
procedure addc_a_rn@code
takes
rn rn
returns code
#: This procedure will return an [addc_a_rn} {code} object containing
#, {rn}.
procedure addc_a_direct@code
takes
direct direct
returns code
#: This procedure will return an {add_a_direct} {code} object containing
#, {direct}.
procedure addc_a_ri@code
takes
ri ri
returns code
#: This procedure will return a {addc_a_ri} {code} object containing
#, {ri}.
procedure addc_a_data@code
takes
immediate immediate
returns code
#: This procedure will return a {addc_a_data} {code} object containing
#, {immediate}.
procedure ajmp@code
takes
code_address code_address
returns code
#: This procedure will return an {ajmp} {code} object containing
#, {code_address}.
procedure anl_a_rn@code
takes
rn rn
returns code
#: This procedure will return an {anl_a_rn} {code} object containing
#, {rn}.
procedure anl_a_direct@code
takes
direct direct
returns code
#: This procedure will return a {anl_a_direct} {code} object containing
#, {direct}.
procedure anl_a_ri@code
takes
ri ri
returns code
#: This procedure will return an {anl_a_ri} {code} object containing
#, {ri}.
procedure anl_a_data@code
takes
immediate immediate
returns code
#: This procedure will return an {anl_a_data} {code} object containing
#, {immediate}.
procedure anl_direct_a@code
takes
direct direct
returns code
#: This procedure will return a {anl_direct_a} {code} object containing
#, {direct}.
procedure anl_direct_data@code
takes
direct_immediate direct_immediate
returns code
#: This procedure will return an {anl_direct_data} {code} object containing
#, {direct_immediate}.
procedure anl_c_bit@code
takes
bit_address bit_address
returns code
#: This procedure will return an {anl_c_bit} {code} object containing
#, {bit_address}.
procedure anl_c_nbit@code
takes
bit_address bit_address
returns code
#: This procedure will return an {anl_c_nbit} {code} object containing
#, {bit_address}.
procedure cjne_a_direct_rel@code
takes
direct_relative direct_relative
returns code
#: This procedure will return a {cjne_a_direct_rel} {code} object
#, containing {direct_relative}.
procedure cjne_a_data_rel@code
takes
immediate_relative immediate_relative
returns code
#: This procedure will return a {cjne_a_data_rel} {code} object containing
#, {immediate_relative}.
procedure cjne_rn_data_rel@code
takes
rn_immediate_relative rn_immediate_relative
returns code
#: This procedure will return a {cjne_rn_data_rel} {code} object containing
#, {rn_immediate_relative}.
procedure cjne_ri_data_rel@code
takes
ri_immediate_relative ri_immediate_relative
returns code
#: This procedure will return a {cjne_ri_data_rel} {code} object containing
#, {ri_immediate_relative}.
procedure clr_a@code
takes_nothing
returns code
#: This procedure will return a {clr_a} {code} object
#,.
procedure clr_c@code
takes_nothing
returns code
#: This procedure will return a {clr_c} {code} object
#,.
procedure clr_bit@code
takes
bit_address bit_address
returns code
#: This procedure will return a {clr_bit} {code} object containing
#, {bit_address}.
procedure cpl_a@code
takes_nothing
returns code
#: This procedure will return a {cpl_a} {code} object
#,.
procedure cpl_c@code
takes_nothing
returns code
#: This procedure will return a {cpl_c} {code} object
#,.
procedure cpl_bit@code
takes
bit_address bit_address
returns code
#: This procedure will return a {cpl_bit} {code} object
#, {bit_address}.
procedure da@code
takes_nothing
returns code
#: This procedure will return a {da} {code} object
#,.
procedure dec_a@code
takes_nothing
returns code
#: This procedure will return a {dec_a} {code} object
#,.
procedure dec_rn@code
takes
rn rn
returns code
#: This procedure will return a {dec_rn} {code} object containing
#, {rn}.
procedure dec_direct@code
takes
direct direct
returns code
#: This procedure will return a {dec_direct} {code} object containing
#, {direct}.
procedure dec_ri@code
takes
ri ri
returns code
#: This procedure will return a {dec_ri} {code} object containing
#, {ri}.
procedure div@code
takes_nothing
returns code
#: This procedure will return a {div} {code} object
#,.
procedure djnz_rn_rel@code
takes
rn_relative rn_relative
returns code
#: This procedure will return a {djnz_rn_rel} {code} object containing
#, {rn_relative}.
procedure djnz_direct_rel@code
takes
direct_relative direct_relative
returns code
#: This procedure will return a {djnz_direct_rel} {code} object containing
#, {direct_relative}.
procedure inc_a@code
takes_nothing
returns code
#: This procedure will return an {inc_a} {code} object
#,.
procedure inc_rn@code
takes
rn rn
returns code
#: This procedure will return an {inc_rn} {code} object containing
#, {rn}.
procedure inc_direct@code
takes
direct direct
returns code
#: This procedure will return an {inc_direct} {code} object containing
#, {direct}.
procedure inc_ri@code
takes
ri ri
returns code
#: This procedure will return an {inc_ri} {code} object containing
#, {ri}.
procedure inc_dptr@code
takes_nothing
returns code
#: This procedure will return an {inc_dptr} {code} object
#,.
procedure jb_bit_rel@code
takes
bit_relative bit_relative
returns code
#: This procedure will return a {jb_bit_rel} {code} object containing
#, {bit_relative}.
procedure jbc_bit_rel@code
takes
bit_relative bit_relative
returns code
#: This procedure will return a {jbc_bit_rel} {code} object containing
#, {bit_relative}.
procedure jc_rel@code
takes
relative relative
returns code
#: This procedure will return a {jc_rel} {code} object containing
#, {relative}.
procedure jmp_a_dptr@code
takes_nothing
returns code
#: This procedure will return a {jmp_a_dptr} {code} object
#,.
procedure jnb_bit_rel@code
takes
bit_relative bit_relative
returns code
#: This procedure will return a {jnb_bit_rel} {code} object containing
#, {bit_relative}.
procedure jnc_rel@code
takes
relative relative
returns code
#: This procedure will return a {jnc_rel} {code} object containing
#, {relative}.
procedure jnz_rel@code
takes
relative relative
returns code
#: This procedure will return a {jnz_rel} {code} object containing
#, {relative}.
procedure jz_rel@code
takes
relative relative
returns code
#: This procedure will return a {jz_rel} {code} object containing
#, {relative}.
procedure lcall@code
takes
code_address code_address
returns code
#: This procedure will return an {lcall} {code} object containing
#, {code_address}.
procedure ljmp@code
takes
code_address code_address
returns code
#: This procedure will return an {ljmp} {code} object containing
#, {code_address}.
procedure mov_a_rn@code
takes
rn rn
returns code
#: This procedure will return a {mov_a_rn} {code} object containing
#, {rn}.
procedure mov_a_direct@code
takes
direct direct
returns code
#: This procedure will return a {mov_a_direct} {code} object containing
#, {direct}.
procedure mov_a_ri@code
takes
ri ri
returns code
#: This procedure will return a {mov_a_ri} {code} object containing
#, {ri}.
procedure mov_a_data@code
takes
immediate immediate
returns code
#: This procedure will return a {mov_a_data} {code} object containing
#, {immediate}.
procedure mov_rn_a@code
takes
rn rn
returns code
#: This procedure will return a {mov_rn_a} {code} object containing
#, {rn}.
procedure mov_rn_direct@code
takes
rn_direct rn_direct
returns code
#: This procedure will return a {mov_rn_direct} {code} object containing
#, {rn_direct}.
procedure mov_rn_data@code
takes
rn_immediate rn_immediate
returns code
#: This procedure will return a {mov_rn_data} {code} object containing
#, {rn_immediate}.
procedure mov_direct_a@code
takes
direct direct
returns code
#: This procedure will return a {mov_direct_a} {code} object containing
#, {direct}.
procedure mov_direct_rn@code
takes
direct_rn direct_rn
returns code
#: This procedure will return a {mov_direct_rn} {code} object containing
#, {direct_rn}.
procedure mov_direct_direct@code
takes
direct_direct direct_direct
returns code
#: This procedure will return a {mov_direct_direct} {code} object
#, containing {direct_direct}.
procedure mov_direct_ri@code
takes
direct_ri direct_ri
returns code
#: This procedure will return a {mov_direct_ri} {code} object containing
#, {direct_ri}.
procedure mov_direct_data@code
takes
direct_immediate direct_immediate
returns code
#: This procedure will return a {mov_direct_data} {code} object containing
#, {direct_immediate}.
procedure mov_ri_a@code
takes
ri ri
returns code
#: This procedure will return a {mov_ri_a} {code} object containing
#, {ri}.
procedure mov_ri_direct@code
takes
ri_direct ri_direct
returns code
#: This procedure will return a {mov_ri_direct} {code} object containing
#, {ri_direct}.
procedure mov_ri_data@code
takes
ri_immediate ri_immediate
returns code
#: This procedure will return a {mov_ri_data} {code} object containing
#, {ri_immediate}.
procedure mov_c_bit@code
takes
bit_address bit_address
returns code
#: This procedure will return a {mov_c_bit} {code} object containing
#, {bit_address}.
procedure mov_bit_c@code
takes
bit_address bit_address
returns code
#: This procedure will return a {mov_bit_c} {code} object containing
#, {bit_address}.
procedure mov_dptr_data16@code
takes
immediate16 immediate16
returns code
#: This procedure will return a {mov_dptr_data16} {code} object containing
#, {immediate16}.
procedure movc_a_dptr@code
takes_nothing
returns code
#: This procedure will return a {movc_a_dptr} {code} object
#,.
procedure movc_a_pc@code
takes_nothing
returns code
#: This procedure will return a {movc_a_pc} {code} object
#,.
procedure movx_a_ri@code
takes
ri ri
returns code
#: This procedure will return a {movx_a_ri} {code} object containing
#, {ri}.
procedure movx_a_dptr@code
takes_nothing
returns code
#: This procedure will return a {movx_a_dptr} {code} object
#,.
procedure movx_ri_a@code
takes
ri ri
returns code
#: This procedure will return a {movx_ri_a} {code} object containing
#, {ri}.
procedure movx_dptr_a@code
takes_nothing
returns code
#: This procedure will return a {movx_dptr_a} {code} object
#,.
procedure mul_ab@code
takes_nothing
returns code
#: This procedure will return a {mul_ab} {code} object
#,.
procedure nop@code
takes_nothing
returns code
#: This procedure will return a {nop} {code} object
#,.
procedure orl_a_rn@code
takes
rn rn
returns code
#: This procedure will return an {orl_a_rn} {code} object containing
#, {rn}.
procedure orl_a_direct@code
takes
direct direct
returns code
#: This procedure will return an {orl_a_direct} {code} object containing
#, {direct}.
procedure orl_a_ri@code
takes
ri ri
returns code
#: This procedure will return an {orl_a_ri} {code} object containing
#, {ri}.
procedure orl_a_data@code
takes
immediate immediate
returns code
#: This procedure will return an {orl_a_data} {code} object containing
#, {immediate}.
procedure orl_direct_a@code
takes
direct direct
returns code
#: This procedure will return an {orl_direct_a} {code} object containing
#, {direct}.
procedure orl_direct_data@code
takes
direct_immediate direct_immediate
returns code
#: This procedure will return an {orl_direct_data} {code} object containing
#, {direct_immediate}.
procedure orl_c_bit@code
takes
bit_address bit_address
returns code
#: This procedure will return a {orl_c_bit} {code} object containing
#, {bit_address}.
procedure orl_c_nbit@code
takes
bit_address bit_address
returns code
#: This procedure will return a {orl_c_nbit} {code} object containing
#, {bit_address}.
procedure pop_direct@code
takes
direct direct
returns code
#: This procedure will return a {pop_direct} {code} object containing
#, {direct}.
procedure push_direct@code
takes
direct direct
returns code
#: This procedure will return a {push_direct} {code} object containing
#, {direct}.
procedure ret@code
takes_nothing
returns code
#: This procedure will return a {ret} {code} object
#,.
procedure reti@code
takes_nothing
returns code
#: This procedure will return a {reti} {code} object
#,.
procedure rl_a@code
takes_nothing
returns code
#: This procedure will return a {rl_a} {code} object
#,.
procedure rlc_a@code
takes_nothing
returns code
#: This procedure will return a {rlc_a} {code} object
#,.
procedure rr_a@code
takes_nothing
returns code
#: This procedure will return a {rr_a} {code} object
#,.
procedure rrc_a@code
takes_nothing
returns code
#: This procedure will return a {rrc_a} {code} object
#,.
procedure setb_c@code
takes_nothing
returns code
#: This procedure will return a {setb_c} {code} object
#,.
procedure setb_bit@code
takes
bit_address bit_address
returns code
#: This procedure will return a {SETB bit} {code} object containing
#, {bit_address}.
procedure sjmp_rel@code
takes
relative relative
returns code
#: This procedure will return a {sjmp_rel} {code} object containing
#, {relative}.
procedure sbbc_a_rn@code
takes
rn rn
returns code
#: This procedure will return a {sbbc_a_rn} {code} object containing
#, {rn}.
procedure sbbc_a_direct@code
takes
direct direct
returns code
#: This procedure will return a {sbbc_a_direct} {code} object containing
#, {direct}.
procedure sbbc_a_ri@code
takes
ri ri
returns code
#: This procedure will return a {sbbc_a_ri} {code} object containing
#, {ri}.
procedure sbbc_a_data@code
takes
immediate immediate
returns code
#: This procedure will return a {sbbc_a_data} {code} object containing
#, {immediate}.
procedure swap_a@code
takes_nothing
returns code
#: This procedure will return a {swap_a} {code} object
#,.
procedure xch_a_rn@code
takes
rn rn
returns code
#: This procedure will return a {xch_a_rn} {code} object containing
#, {rn}.
procedure xch_a_direct@code
takes
direct direct
returns code
#: This procedure will return a {xch_a_direct} {code} object containing
#, {direct}.
procedure xch_a_ri@code
takes
ri ri
returns code
#: This procedure will return a {xch_a_ri} {code} object containing
#, {ri}.
procedure xchd_a_ri@code
takes
ri ri
returns code
#: This procedure will return a {xchd_a_ri} {code} object containing
#, {ri}.
procedure xrl_a_rn@code
takes
rn rn
returns code
#: This procedure will return a {xrl_a_rn} {code} object containing
#, {rn}.
procedure xrl_a_direct@code
takes
direct direct
returns code
#: This procedure will return a {xrl_a_direct} {code} object containing
#, {direct}.
procedure xrl_a_ri@code
takes
ri ri
returns code
#: This procedure will return a {xrl_a_ri} {code} object containing
#, {x}.
procedure xrl_a_data@code
takes
immediate immediate
returns code
#: This procedure will return a {xrl_a_data} {code} object containing
#, {immediate}.
procedure xrl_direct_a@code
takes
direct direct
returns code
#: This procedure will return a {xrl_direct_a} {code} object containing
#, {direct}.
procedure xrl_direct_data@code
takes
direct_immediate direct_immediate
returns code
#: This procedure will return a {xrl_direct_data} {code} object containing
#, {direct_immediate}.
procedure create@bit_relative
takes
bit_address bit_address
relative relative
returns bit_relative
#: This procedure will create and return a new {bit_relative} object
#, and containing {bit_address} and {relative}.
procedure create@code_address
takes
address unsigned
instruction instruction
returns code_address
#: This procedure will create and return a new {code_address} object
#, and containing {address} and {instruction}.
#, {instruction} can be ??@{instruction}.
procedure create@direct
takes
address unsigned
returns direct
#: This procedure will create and return a new {direct} object
#, and containing {address}.
procedure create@direct_direct
takes
source direct
destination direct
returns direct_direct
#: This procedure will create and return a new {direct_direct} object
#, and containing {source} and {destination}.
procedure create@direct_immediate
takes
direct direct
immediate immediate
returns direct_immediate
#: This procedure will create and return a new {direct_immediate} object
#, and containing {direct} and {immediate}.
procedure create@direct_relative
takes
direct direct
relative relative
returns direct_relative
#: This procedure will create and return a new {direct_relative} object
#, and containing {direct} and {relative}.
procedure create@direct_ri
takes
direct direct
ri ri
returns direct_ri
#: This procedure will create and return a new {direct_ri} object
#, and containing {direct} and {ri}.
procedure create@direct_rn
takes
direct direct
rn rn
returns direct_rn
#: This procedure will create and return a new {direct_rn} object
#, and containing {direct} and {rn}.
procedure create@immediate
takes
value unsigned
returns immediate
#: This procedure will create and return a new {immediate} object
#, and containing {value}.
procedure create@immediate16
takes
value unsigned
returns immediate16
#: This procedure will create and return a new {immediate16} object
#, and containing {value}.
procedure create@immediate_relative
takes
immediate immediate
relative relative
returns immediate_relative
#: This procedure will create and return a new {immediate_relative} object
#, and containing {immediate} and {z}.
procedure create@instruction
takes
address unsigned
code code
next instruction
returns instruction
#: This procedure will create and return a new {instruction} object
#, and containing {address}, {code}, and {next}.
#, {next} can be ??@{instruction}.
procedure create@relative
takes
address unsigned
instruction instruction
offset unsigned
returns relative
#: This procedure will create and return a new {relative} object
#, and containing {address}, {instruction,
#, and {offset}.
procedure create@ri
takes
number unsigned
returns ri
#: This procedure will create and return a new {ri} object
#, and containing {number}.
procedure create@ri_immediate_relative
takes
ri ri
immediate unsigned
relative relative
returns ri_immediate_relative
#: This procedure will create and return a new {ri_immediate_relative}
#, object and containing {ri} and {z}.
procedure create@ri_direct
takes
ri ri
direct direct
returns ri_direct
#: This procedure will create and return a new {ri_direct} object
#, and containing {ri} and {direct}.
procedure create@ri_immediate
takes
ri ri
immediate immediate
returns ri_immediate
#: This procedure will create and return a new {ri_immediate} object
#, and containing {ri} and {immediate}.
procedure create@rn
takes
number unsigned
returns rn
#: This procedure will create and return a new {rn} object
#, and containing {number}.
procedure create@rn_immediate_relative
takes
rn rn
immediate immediate
relative relative
returns rn_immediate_relative
#: This procedure will create and return a new {rn_immediate_relative}
#, object and containing {rn}, {immediate}, and
#, {relative}.
procedure create@rn_direct
takes
rn rn
direct direct
returns rn_direct
#: This procedure will create and return a new {rn_direct} object
#, and containing {rn} and {direct}.
procedure create@rn_immediate
takes
rn rn
immediate immediate
returns rn_immediate
#: This procedure will create and return a new {rn_immediate} object
#, and containing {rn} and {immediate}.
procedure create@rn_relative
takes
rn rn
relative relative
returns rn_relative
#: This procedure will create and return a new {rn_relative} object
#, and containing {rn} and {relative}.