CN112463139B - 基于电子积木的编程方法、装置、电子设备及存储介质 - Google Patents
基于电子积木的编程方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112463139B CN112463139B CN202011324864.0A CN202011324864A CN112463139B CN 112463139 B CN112463139 B CN 112463139B CN 202011324864 A CN202011324864 A CN 202011324864A CN 112463139 B CN112463139 B CN 112463139B
- Authority
- CN
- China
- Prior art keywords
- building block
- target
- mark
- assembly
- electronic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000011144 upstream manufacturing Methods 0.000 claims description 42
- 230000009471 action Effects 0.000 claims description 12
- 125000004122 cyclic group Chemical group 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 239000011449 brick Substances 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000010354 integration Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种基于电子积木的编程方法、装置、电子设备及存储介质,涉及计算机技术领域。其中,该方法可以应用于终端设备,通过终端设备显示图形用户界面,图形用户界面包括积木编程界面,该方法包括:获取目标积木组合,目标积木组合包括至少一个电子积木,电子积木集成有部分程序代码;根据目标积木组合,编译生成汇编代码,并在积木编程界面显示汇编代码,应用本申请实施例,由于可以根据该目标积木组合集成的程序代码编译生成汇编代码,并在积木编程界面显示该汇编代码,提高可阅读性,便于用户基于该汇编代码更好的理解硬件设备的工作原理,提高用户的编程体验。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种基于电子积木的编程方法、装置、电子设备及存储介质。
背景技术
电子积木是将编程以虚拟积木块的形式进行表现,实现了可以将程序的内容进行打包处理。实际应用时,通过对电子积木进行组合即可实现特定的功能,具有实现简单、上手容易的特点。
现有的,通过对电子积木进行组合编程可以生成机器指令,该机器指令可以用于指示硬件设备执行相应动作以实现相应的功能。
但现有的编程方式,生成的机器指令对用户来说存在阅读性较差的问题,用户可操作性比较差。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种基于电子积木的编程方法、装置、电子设备及存储介质,可以根据该目标积木组合集成的程序代码编译生成汇编代码,并在积木编程界面显示该汇编代码,提高可阅读性,便于用户基于该汇编代码更好的理解硬件设备的工作原理,提高用户的编程体验。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本发明实施例提供一种基于电子积木的编程方法,应用于终端设备,通过所述终端设备显示图形用户界面,所述图形用户界面包括积木编程界面,所述方法包括:
获取目标积木组合,所述目标积木组合包括至少一个电子积木,所述电子积木集成有部分程序代码;
根据所述目标积木组合,编译生成汇编代码,并在所述积木编程界面显示所述汇编代码。
在可选的实施方式中,所述根据所述目标积木组合,编译生成汇编代码,并在所述积木编程界面显示所述汇编代码之后,所述方法还包括:
根据所述汇编代码生成机器指令码,其中,所述机器指令码为目标设备可识别代码;
向所述目标设备发送所述机器指令码,以使所述目标设备根据所述机器指令码执行目标动作。
在可选的实施方式中,所述根据所述目标积木组合,编译生成汇编代码,包括:
根据所述目标积木组合,获取所述目标积木组合中每个所述电子积木的上游积木块标记和下游积木块标记,所述上游积木块标记用于指示所述电子积木的程序代码的起始位置,所述下游积木块标记用于指示所述电子积木的程序代码的结束位置;
根据所述目标积木组合、所述目标积木组合中每个所述电子积木的上游积木块标记和下游积木块标记,确定汇编跳转标记,并生成汇编代码,其中,所述汇编跳转标记用于指示目标设备的跳转地址。
在可选的实施方式中,所述根据所述汇编代码生成机器指令码,包括:
根据所述汇编跳转标记,确定机器跳转标记;
根据所述汇编代码和所述机器跳转标记,生成机器指令码。
在可选的实施方式中,所述目标积木组合包括下述至少一种类别的积木块:顺序积木块、分支积木块以及循环积木块。
在可选的实施方式中,所述目标积木组合包括循环积木块时,所述根据所述目标积木组合,获取所述目标积木组合中每个所述电子积木的上游积木块标记和下游积木块标记,包括:
根据所述循环积木块,获取所述循环积木块的循环次数,以及所述循环积木块的上游积木块标记和下游积木块标记;
相应地,所述根据目标积木组合、所述目标积木组合中每个所述电子积木的上游积木块标记和下游积木块标记,确定汇编跳转标记,并生成汇编代码,包括:
根据所述循环积木块的循环次数,增加计数标记;
根据所述循环积木块的上游积木块标记和下游积木块标记,确定汇编跳转标记;
根据所述循环积木块、所述计数标记以及所述汇编跳转标记,编译生成汇编代码。
第二方面,本发明实施例提供一种基于电子积木的编程装置,应用于终端设备,通过所述终端设备显示图形用户界面,所述图形用户界面包括积木编程界面,所述装置包括:获取模块和显示模块;
所述获取模块,用于获取目标积木组合,所述目标积木组合包括至少一个电子积木,所述电子积木集成有部分程序代码;
所述显示模块,用于根据所述目标积木组合,编译生成汇编代码,并在所述积木编程界面显示所述汇编代码。
在可选的实施方式中,所述装置还包括:发送模块,用于根据所述汇编代码生成机器指令码,其中,所述机器指令码为目标设备可识别代码;向所述目标设备发送所述机器指令码,以使所述目标设备根据所述机器指令码执行目标动作。
在可选的实施方式中,所述显示模块,具体用于根据所述目标积木组合,获取所述目标积木组合中每个所述电子积木的上游积木块标记和下游积木块标记,所述上游积木块标记用于指示所述电子积木的程序代码的起始位置,所述下游积木块标记用于指示所述电子积木的程序代码的结束位置;
根据所述目标积木组合、所述目标积木组合中每个所述电子积木的上游积木块标记和下游积木块标记,确定汇编跳转标记,并生成汇编代码,其中,所述汇编跳转标记用于指示目标设备的跳转地址。
在可选的实施方式中,所述发送模块,具体用于根据所述汇编跳转标记,确定机器跳转标记;
根据所述汇编代码和所述机器跳转标记,生成机器指令码。
在可选的实施方式中,所述目标积木组合包括下述至少一种类别的积木块:顺序积木块、分支积木块以及循环积木块。
在可选的实施方式中,所述目标积木组合包括循环积木块时,所述显示模块,具体用于根据所述循环积木块,获取所述循环积木块的循环次数,以及所述循环积木块的上游积木块标记和下游积木块标记;
根据所述循环积木块的循环次数,增加计数标记;
根据所述循环积木块的上游积木块标记和下游积木块标记,确定汇编跳转标记;
根据所述循环积木块、所述计数标记以及所述汇编跳转标记,编译生成汇编代码。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如前述实施方式任一所述基于电子积木的编程方法的步骤。
第四方面,本发明实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如前述实施方式任一所述基于电子积木的编程方法的步骤。
本申请的有益效果是:
本申请实施例提供的基于电子积木的编程方法、装置、电子设备及存储介质中,可以应用于终端设备,通过终端设备显示图形用户界面,图形用户界面包括积木编程界面,该方法包括:获取目标积木组合,目标积木组合包括至少一个电子积木,电子积木集成有部分程序代码;根据目标积木组合,编译生成汇编代码,并在积木编程界面显示汇编代码,应用本申请实施例,由于可以根据该目标积木组合集成的程序代码编译生成汇编代码,并在积木编程界面显示该汇编代码,提高可阅读性,便于用户基于该汇编代码更好的理解硬件设备的工作原理,提高用户的编程体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种基于电子积木的编程方法的流程示意图;
图2为本申请实施例提供的另一种基于电子积木的编程方法的流程示意图;
图3为本申请实施例提供的又一种基于电子积木的编程方法的流程示意图;
图4为本申请实施例提供的另一种基于电子积木的编程方法的流程示意图;
图5为本申请实施例提供的又一种基于电子积木的编程方法的流程示意图;
图6为本申请实施例提供的一种基于电子积木的编程装置的功能模块示意图;
图7为本申请实施例提供的另一种基于电子积木的编程装置的功能模块示意图;
图8为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
针对现有基于电子积木进行编程时,生成的机器指令对用户来说存在阅读性较差、用户可操作性比较差的问题,本申请实施例提供一种基于电子积木的编程方法,该方法可以在积木编程界面显示电子积木对应的汇编代码,从而可以提高用户的可阅读性,便于用户更好地理解硬件设备的工作原理,提高用户的可操作性。
图1为本申请实施例提供的一种基于电子积木的编程方法的流程示意图,该编程方法可以应用于终端设备,该终端设备可以是计算机、手机、平板电脑等,通过该终端设备可以显示图形用户界面(Graphical User Interface,GUI),该图形用户界面可以包括积木编程界面。如图1所示,该方法可以包括:
S101、获取目标积木组合,目标积木组合包括至少一个电子积木,电子积木集成有部分程序代码。
其中,目标积木组合可以包括至少一个电子积木,在一些实施例中,用户基于终端设备的触摸屏可以在积木编程界面通过点击、长按、拖动等方式获取至少一个电子积木,将该至少一个电子积木作为目标积木组合,该电子积木可以集成有部分程序代码。可以理解的是,获取多个电子积木时,可以对该多个电子积木进行组合以生成目标积木组合。当然,本申请在此并不限定目标积木组合中电子积木的数量,根据实际的应用场景,可以包括3个、5个或10个等。
S102、根据目标积木组合,编译生成汇编代码,并在积木编程界面显示汇编代码。
其中,在获取到上述目标积木组合后,可以根据该目标积木组合集成的程序代码编译生成汇编代码,并在积木编程界面显示该汇编代码,可以理解的是,由于汇编代码相较于机器代码具有较好的可阅读性和灵活性,因此,通过在积木编程界面显示汇编代码,可以便于用户更好的理解硬件设备的工作原理,提高用户的编程体验。可以理解的是,基于显示的汇编代码,用户可以对目标积木组合进行更新(比如,增加、删除等),实现不同的功能,从而可以提高用户可操作性。
可选地,积木编程界面可以包括汇编控件,在获取到目标积木组合后,用户可以基于触摸屏通过点击、长按等方式作用于该汇编控件,从而编译生成汇编代码。在一些实施例中,汇编控件可以指示编程语言编译器,比如,GNU C语言编译器(GNU C Compiler,GCC),作用于该汇编控件,也即调用该汇编控件指示的编程语言编译器对目标积木组合进行编程,生成汇编代码。当然,本申请在此并不对具体的实现方式进行限定。
可选地,该硬件设备可以包括单片机、现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)、微处理器(Digital Signal Processor,DSP)等数据处理单元,在此不作限定。可以理解的是,根据不同的数据处理单元,汇编代码中的汇编指令可以不同。其中,汇编指令可以包括但不限于输入输出指令、传送指令、移位指令、控制转移指令、位操作指令、逻辑运算指令等。
在一些实施例中,根据功能划分,积木编程界面可以包括电子积木区域、编程区域以及汇编代码显示区域,其中,电子积木区域可以显示有至少一个电子积木,编程区域可以用于显示目标积木组合,汇编代码显示区域可以用于显示目标积木组合的汇编代码。可选地,用户基于终端设备的触摸屏可以在电子积木区域通过点击、长按、拖动等方式选定多个电子积木,在编程区域对该多个电子积木进行组合生成目标积木组合,获取目标积木组合,根据该目标积木组合,编译生成汇编代码,在汇编代码显示区域显示该生成的汇编代码。
综上,本申请实施例提供的基于电子积木的编程方法,该方法可以应用于终端设备,通过终端设备显示图形用户界面,图形用户界面包括积木编程界面,该方法包括:获取目标积木组合,目标积木组合包括至少一个电子积木,电子积木集成有部分程序代码;根据目标积木组合,编译生成汇编代码,并在积木编程界面显示汇编代码,应用本申请实施例,由于可以根据该目标积木组合集成的程序代码编译生成汇编代码,并在积木编程界面显示该汇编代码,提高可阅读性,便于用户基于该汇编代码更好的理解硬件设备的工作原理,提高用户的编程体验。
图2为本申请实施例提供的另一种基于电子积木的编程方法的流程示意图。可选地,如图2所示,根据目标积木组合,编译生成汇编代码,并在积木编程界面显示汇编代码之后,上述方法还包括:
S201、根据汇编代码生成机器指令码,其中,机器指令码为目标设备可识别代码。
S202、向目标设备发送机器指令码,以使目标设备根据机器指令码执行目标动作。
目标设备可以包括前述的单片机、FPGA、DSP等数据处理单元,根据实际的应用场景,目标设备还可以包括其他外部单元,比如,LED灯、蜂鸣器、语音模块、无线模块、视频模块、传感器单元等,在此不作限定。可选地,根据目标设备的应用场景,目标设备可以被应用在工业领域、教育领域等,在此不作限定。在一些实施例中,目标设备可以作为机器人被应用于不同的场景下,比如,搬运机器人、装卸机器人、语音机器人、跳舞机器人等,但不以此为限。
其中,根据不同的目标设备,可以将上述得到的汇编代码进一步编译生成机器指令码,该机器指令码为目标设备可识别代码,可以是一组二进制数、十六进制数等,在此不作限定,以使目标设备在获取到该机器指令码时,可以根据该机器指令码执行目标动作。在一些实施例中,终端设备可以通过无线、有线等方式向目标设备发送机器指令码,在此不作限定。举例说明,目标设备为语音机器人时,在一些实施例中,语音机器人根据获取的机器指令码可以播放某首音乐等,但不以此为限。
当然,需要说明的是,根据实际的应用场景,也可以在积木编程界面显示机器指令码。可选地,显示时,每一行汇编代码可以对应显示相应的机器指令码,便于用户将汇编代码、机器指令码以及实现的目标动作关联起来,更好的理解硬件设备的工作原理。当然,显示方式并不以此为限,根据实际的应用场景用户可以自行设置其显示方式。
图3为本申请实施例提供的又一种基于电子积木的编程方法的流程示意图。可选地,如图3所示,上述根据目标积木组合,编译生成汇编代码,包括:
S301、根据目标积木组合,获取目标积木组合中每个电子积木的上游积木块标记和下游积木块标记,上游积木块标记用于指示电子积木的程序代码的起始位置,下游积木块标记用于指示电子积木的程序代码的结束位置。
其中,目标积木组合包括至少一个电子积木,在编译生成汇编代码时,可以获取该目标积木组合中每个电子积木的上游积木块标记和下游积木块标记,通过该上游积木块标记和下游积木块标记来获取每个电子积木集成的程序代码的起始位置和结束位置。
S302、根据目标积木组合、目标积木组合中每个电子积木的上游积木块标记和下游积木块标记,确定汇编跳转标记,并生成汇编代码。
其中,汇编跳转标记用于指示目标设备的跳转地址,根据目标设备的不同,可以对应不同的汇编跳转标记,可以理解的是,根据该汇编跳转标记,用户可以更好的理解目标设备是如何进行数据存储。生成汇编代码时,可以根据目标积木组合中每个电子积木集成的程序代码,以及每个电子积木的上游积木块标记和下游积木块标记,生成相应的汇编代码,其中,该汇编代码可以包括一个或多个汇编跳转标记,本申请在此并不对汇编跳转标记的数量进行限定。
图4为本申请实施例提供的另一种基于电子积木的编程方法的流程示意图。可选地,如图4所示,上述根据汇编代码生成机器指令码,包括:
S401、根据汇编跳转标记,确定机器跳转标记。
S402、根据汇编代码和机器跳转标记,生成机器指令码。
其中,机器指令码为目标设备可识别代码,在生成机器指令码时,可根据汇编跳转标记,确定对应的机器跳转标记,也即将汇编跳转标记转换为目标设备可识别的机器跳转标记。可以理解的是,进一步地,根据该机器跳转标记和汇编代码,可以编译生成机器指令码,该机器指令码可以是一组二进制数,十六进制数等,根据目标设备可以识别代码的类别可以有所不同,本申请在此不作限定,使得目标设备根据该机器指令码可以执行目标动作。
可选地,上述目标积木组合可以包括下述至少一种类别的积木块:顺序积木块、分支积木块以及循环积木块。
其中,根据不同的应用场景,目标积木组合可以包括顺序积木块、分支积木块以及循环积木块中一种或多种积木块的组合,每一种积木块可以包括至少一个电子积木。
对于顺序积木块来说,顺序积木块集成的程序代码可以按照代码的先后顺序,依次执行;对于分支积木块来说,分支积木块集成的程序代码可以根据具体的逻辑运算进行判断,根据判断结果执行不同的代码,比如,分支积木块集成的程序代码可以包括if语句和switch语句等,但不以此为限;对于循环积木块来说,循环积木块集成的程序代码可以在满足循环条件的情况下,反复执行某一段程序代码,这段被重复执行的代码可以被称为循环体语句,当不满足循环条件的情况下,可以结束循环。
比如,目标积木组合可以包括第一顺序积木块、循环积木块以及第二顺序积木块,其中,第一顺序积木块包括3个电子积木,循环积木块包括5个电子积木,第二顺序积木块包括2个电子积木,在一些实施例中,执行过程中,可以先执行第一顺序积木块集成的程序代码、再执行循环积木块集成的程序代码、最后再执行第二顺序积木块集成的程序代码。当然,本申请在此并不对各积木块包括的电子积木的数量进行限定,根据实际的应用场景可以有所不同。
可选地,目标积木组合包括循环积木块时,上述根据目标积木组合,获取目标积木组合中每个电子积木的上游积木块标记和下游积木块标记,包括:
根据循环积木块,获取循环积木块的循环次数,以及循环积木块的上游积木块标记和下游积木块标记。
其中,对于循环积木块来说,可以获取循环积木块的上游积木块标记和下游积木块标记,其中,循环积木块的上游积木块标记可以指示循环积木块的循环体程序代码的起始位置,循环积木块的下游积木块标记可以指示循环积木块的循环体程序代码的结束位置。可以理解的是,循环积木块可以包括循环条件,因此,根据循环条件可以确定循环次数(比如,循环3次、5次等)。
图5为本申请实施例提供的又一种基于电子积木的编程方法的流程示意图。如图5所示,上述根据目标积木组合、目标积木组合中每个电子积木的上游积木块标记和下游积木块标记,确定汇编跳转标记,并生成汇编代码,包括:
S501、根据循环积木块的循环次数,增加计数标记。
S502、根据循环积木块的上游积木块标记和下游积木块标记,确定汇编跳转标记。
其中,在获取到循环积木块的循环次数时,可以增加汇编代码的计数标记,以指示循环积木块对应的汇编代码的循环次数;相应地,根据循环积木块的上游积木块标记和下游积木块标记,可以确定汇编跳转标记,通过汇编跳转标记指示目标设备的跳转地址。
S503、根据循环积木块、计数标记以及汇编跳转标记,编译生成汇编代码。
基于上述计数标记、汇编跳转标记的基础上,根据循环积木块、计数标记以及汇编跳转标记,生成汇编代码时,可以根据该计数标记和汇编跳转标记,确定机器指令码的计数标记和机器跳转标记,进而根据该汇编代码、机器指令码的计数标记以及机器跳转标记,可以确定机器指令码。
基于上述实施例,可以理解的是,由于可以根据目标积木组合,编译生成汇编代码,并在积木编程界面显示汇编代码;而根据汇编代码又可以生成机器指令码,机器指令码为目标设备可识别代码,因此,基于本申请实施例所提供的基于电子积木的编程方法,通过在积木编程界面显示汇编代码,可以提高用户的阅读性,且根据汇编代码和机器指令码的对应关系,用户可以充分理解硬件设备的工作原理,便于用户调试以及进一步学习实现其他功能等。
图6为本申请实施例提供的一种基于电子积木的编程装置的功能模块示意图,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。该编程装置可以应用于终端设备,通过终端设备显示图形用户界面,图形用户界面包括积木编程界面,如图6所示,该编程装置100包括:获取模块110和显示模块120。
获取模块110,用于获取目标积木组合,目标积木组合包括至少一个电子积木,电子积木集成有部分程序代码;
显示模块120,用于根据目标积木组合,编译生成汇编代码,并在积木编程界面显示汇编代码。
图7为本申请实施例提供的另一种基于电子积木的编程装置的功能模块示意图。在可选的实施方式中,如图7所示,该编程装置100还包括:发送模块130,用于根据汇编代码生成机器指令码,其中,机器指令码为目标设备可识别代码;向目标设备发送机器指令码,以使目标设备根据机器指令码执行目标动作。
在可选的实施方式中,显示模块120,具体用于根据目标积木组合,获取目标积木组合中每个电子积木的上游积木块标记和下游积木块标记,上游积木块标记用于指示电子积木的程序代码的起始位置,下游积木块标记用于指示电子积木的程序代码的结束位置;根据目标积木组合、目标积木组合中每个电子积木的上游积木块标记和下游积木块标记,确定汇编跳转标记,并生成汇编代码,其中,汇编跳转标记用于指示目标设备的跳转地址。
在可选的实施方式中,发送模块130,具体用于根据汇编跳转标记,确定机器跳转标记;根据汇编代码和机器跳转标记,生成机器指令码。
在可选的实施方式中,目标积木组合包括下述至少一种类别的积木块:顺序积木块、分支积木块以及循环积木块。
在可选的实施方式中,目标积木组合包括循环积木块时,显示模块120,具体用于根据循环积木块,获取循环积木块的循环次数,以及循环积木块的上游积木块标记和下游积木块标记;根据循环积木块的循环次数,增加计数标记;根据循环积木块的上游积木块标记和下游积木块标记,确定汇编跳转标记;根据循环积木块、计数标记以及汇编跳转标记,编译生成汇编代码。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(system-on-a-chip,简称SOC)的形式实现。
图8为本申请实施例提供的一种电子设备结构示意图。如图8所示,该电子设备可以包括:处理器210、存储介质220和总线230,存储介质220存储有处理器210可执行的机器可读指令,当电子设备运行时,处理器210与存储介质220之间通过总线230通信,处理器210执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (5)
1.一种基于电子积木的编程方法,应用于终端设备,通过所述终端设备显示图形用户界面,所述图形用户界面包括积木编程界面,其特征在于,所述方法包括:
获取目标积木组合,所述目标积木组合包括至少一个电子积木,所述电子积木集成有部分程序代码;
根据所述目标积木组合,编译生成汇编代码,并在所述积木编程界面显示所述汇编代码;
所述根据所述目标积木组合,编译生成汇编代码,并在所述积木编程界面显示所述汇编代码之后,所述方法还包括:
根据所述汇编代码生成机器指令码,其中,所述机器指令码为目标设备可识别代码;
向所述目标设备发送所述机器指令码,以使所述目标设备根据所述机器指令码执行目标动作;
所述根据所述目标积木组合,编译生成汇编代码,包括:
根据所述目标积木组合,获取所述目标积木组合中每个所述电子积木的上游积木块标记和下游积木块标记,所述上游积木块标记用于指示所述电子积木的程序代码的起始位置,所述下游积木块标记用于指示所述电子积木的程序代码的结束位置;
根据所述目标积木组合、所述目标积木组合中每个所述电子积木的上游积木块标记和下游积木块标记,确定汇编跳转标记,并生成汇编代码,其中,所述汇编跳转标记用于指示目标设备的跳转地址;
所述目标积木组合包括下述至少一种类别的积木块:顺序积木块、分支积木块以及循环积木块;
所述目标积木组合包括循环积木块时,所述根据所述目标积木组合,获取所述目标积木组合中每个所述电子积木的上游积木块标记和下游积木块标记,包括:
根据所述循环积木块,获取所述循环积木块的循环次数,以及所述循环积木块的上游积木块标记和下游积木块标记;
相应地,所述根据所述目标积木组合、所述目标积木组合中每个所述电子积木的上游积木块标记和下游积木块标记,确定汇编跳转标记,并生成汇编代码,包括:
根据所述循环积木块的循环次数,增加计数标记;
根据所述循环积木块的上游积木块标记和下游积木块标记,确定汇编跳转标记;
根据所述循环积木块、所述计数标记以及所述汇编跳转标记,编译生成汇编代码。
2.根据权利要求1所述的方法,其特征在于,所述根据所述汇编代码生成机器指令码,包括:
根据所述汇编跳转标记,确定机器跳转标记;
根据所述汇编代码和所述机器跳转标记,生成机器指令码。
3.一种基于电子积木的编程装置,应用于终端设备,通过所述终端设备显示图形用户界面,所述图形用户界面包括积木编程界面,其特征在于,所述装置包括:获取模块和显示模块;
所述获取模块,用于获取目标积木组合,所述目标积木组合包括至少一个电子积木,所述电子积木集成有部分程序代码;
所述显示模块,用于根据所述目标积木组合,编译生成汇编代码,并在所述积木编程界面显示所述汇编代码;
所述装置还包括:发送模块,用于根据所述汇编代码生成机器指令码,其中,所述机器指令码为目标设备可识别代码;向所述目标设备发送所述机器指令码,以使所述目标设备根据所述机器指令码执行目标动作;
所述显示模块,还用于根据所述目标积木组合,获取所述目标积木组合中每个所述电子积木的上游积木块标记和下游积木块标记,所述上游积木块标记用于指示所述电子积木的程序代码的起始位置,所述下游积木块标记用于指示所述电子积木的程序代码的结束位置;根据所述目标积木组合、所述目标积木组合中每个所述电子积木的上游积木块标记和下游积木块标记,确定汇编跳转标记,并生成汇编代码,其中,所述汇编跳转标记用于指示目标设备的跳转地址;
其中,所述目标积木组合包括下述至少一种类别的积木块:顺序积木块、分支积木块以及循环积木块;
所述目标积木组合包括循环积木块时,所述显示模块具体用于:根据所述循环积木块,获取所述循环积木块的循环次数,以及所述循环积木块的上游积木块标记和下游积木块标记;根据所述循环积木块的循环次数,增加计数标记;根据所述循环积木块的上游积木块标记和下游积木块标记,确定汇编跳转标记;根据所述循环积木块、所述计数标记以及所述汇编跳转标记,编译生成汇编代码。
4.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-2任一所述基于电子积木的编程方法的步骤。
5.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-2任一所述基于电子积木的编程方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011324864.0A CN112463139B (zh) | 2020-11-23 | 2020-11-23 | 基于电子积木的编程方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011324864.0A CN112463139B (zh) | 2020-11-23 | 2020-11-23 | 基于电子积木的编程方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112463139A CN112463139A (zh) | 2021-03-09 |
CN112463139B true CN112463139B (zh) | 2024-04-02 |
Family
ID=74798533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011324864.0A Active CN112463139B (zh) | 2020-11-23 | 2020-11-23 | 基于电子积木的编程方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463139B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965709A (zh) * | 2021-04-06 | 2021-06-15 | 乐聚(深圳)机器人技术有限公司 | 积木块的生成方法、装置、设备及存储介质 |
CN113570944B (zh) * | 2021-05-17 | 2023-03-17 | 海南师范大学 | 一种用于积木块编程学习的智能教具控制***和方法 |
CN116841564B (zh) * | 2023-08-29 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202650333U (zh) * | 2012-04-05 | 2013-01-02 | 李卫红 | 一种积木式编程语言装置 |
CN103197929A (zh) * | 2013-03-25 | 2013-07-10 | 中国科学院软件研究所 | 一种面向儿童的图形化编程***和方法 |
KR101724230B1 (ko) * | 2016-03-03 | 2017-04-06 | 전석주 | 스크래치 프로그래밍을 위한 전자블록 시스템 |
CN107278290A (zh) * | 2017-05-16 | 2017-10-20 | 深圳市创客工场科技有限公司 | 积木式编程转换成程序代码的方法及装置 |
CN108525325A (zh) * | 2018-04-24 | 2018-09-14 | 深圳小西科技有限公司 | 一种积木式指令模块、主机装置和积木*** |
CN110825378A (zh) * | 2019-09-17 | 2020-02-21 | 秦皇岛米格教育科技有限公司 | 基于程序积木的编程***和控制*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120905B2 (en) * | 2003-01-29 | 2006-10-10 | Wind River Systems, Inc. | System and method for transformation of assembly code for conditional execution |
US20180173503A1 (en) * | 2017-02-19 | 2018-06-21 | Mehrdad Ghasmizadeh | System and method for graphical programming |
WO2018187029A1 (en) * | 2017-04-03 | 2018-10-11 | Innovation First, Inc. | Mixed mode programming |
-
2020
- 2020-11-23 CN CN202011324864.0A patent/CN112463139B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202650333U (zh) * | 2012-04-05 | 2013-01-02 | 李卫红 | 一种积木式编程语言装置 |
CN103197929A (zh) * | 2013-03-25 | 2013-07-10 | 中国科学院软件研究所 | 一种面向儿童的图形化编程***和方法 |
KR101724230B1 (ko) * | 2016-03-03 | 2017-04-06 | 전석주 | 스크래치 프로그래밍을 위한 전자블록 시스템 |
CN107278290A (zh) * | 2017-05-16 | 2017-10-20 | 深圳市创客工场科技有限公司 | 积木式编程转换成程序代码的方法及装置 |
WO2018209558A1 (zh) * | 2017-05-16 | 2018-11-22 | 深圳市创客工场科技有限公司 | 积木式编程转换成程序代码的方法及装置 |
CN108525325A (zh) * | 2018-04-24 | 2018-09-14 | 深圳小西科技有限公司 | 一种积木式指令模块、主机装置和积木*** |
CN110825378A (zh) * | 2019-09-17 | 2020-02-21 | 秦皇岛米格教育科技有限公司 | 基于程序积木的编程***和控制*** |
Also Published As
Publication number | Publication date |
---|---|
CN112463139A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112463139B (zh) | 基于电子积木的编程方法、装置、电子设备及存储介质 | |
CN107943691B (zh) | 一种自动产生智能合约的功能测试页面的方法及装置 | |
JP3612294B2 (ja) | デバッグ方法およびデバッグ装置 | |
JP2015043198A (ja) | 解析システム、解析方法および解析プログラム | |
CN111158756B (zh) | 用于处理信息的方法和装置 | |
CN113918195A (zh) | 应用界面更新方法、装置、电子设备及可读存储介质 | |
CN107608737B (zh) | 动画播放方法及装置 | |
JP5481571B2 (ja) | コードにおける時間計算量およびフローの理解を高める方法 | |
CN109558159A (zh) | 游戏中用户界面的更新方法和装置 | |
US20180143890A1 (en) | Simulation apparatus, simulation method, and computer readable medium | |
JP2011170749A (ja) | シミュレーション装置及びシミュレーション方法 | |
Horton | Beginning C++ | |
US9063723B2 (en) | Function-based software comparison method | |
CN112685095B (zh) | 一种虚拟设备的加载方法、装置、设备及存储介质 | |
JP2008250838A (ja) | ソフトウェア生成装置、方法、およびプログラム | |
Scherer | Hands-on JavaScript High Performance: Build Faster Web Apps Using Node. js, Svelte. js, and WebAssembly | |
CN113391813A (zh) | 程序编译方法和装置、存储介质及电子设备 | |
JP4860564B2 (ja) | プログラムプロファイリング装置、プログラムプロファイリング方法、及びプログラム | |
JP2009258796A (ja) | プログラム開発装置及びプログラム開発方法 | |
CN112541188B (zh) | 阻止应用程序代码被静态分析的方法及装置 | |
CN117313595B (zh) | 用于功能验证的随机指令生成方法、设备及*** | |
CN112994707B (zh) | Sas的扰码编码电路 | |
JP2018026067A (ja) | シミュレーション装置および同装置における接続情報生成方法 | |
Etheredge | JavaScript: Optimizing Native JavaScript: Designing, Programming, and Debugging Native JavaScript Applications | |
Donzellini et al. | Programming the DMC8 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |