0 Introduction
Assembly language is a low-level programming language related to computer hardware. Since the Intel 80×86 processor and its compatible machines are the mainstream processors for personal computers, the current assembly language teaching in domestic universities mainly focuses on Intel processors and their development tools. Due to national information security considerations, establishing an independent information industry has become a fundamental policy in China. The Kunpeng 920 processor is a 64-bit multi-core processor chip developed independently in China, compatible with the ARMv8-A architecture, and widely used in mobile computing, embedded systems, and cloud servers. Mastering ARM assembly language is significant for embedded system development and is also necessary for the development of the Information and Communication Technology (ICT) industry. ARM assembly and Intel assembly are typical representatives of reduced instruction set and complex instruction set architectures, respectively, and involve different processor architectures, necessitating a reasonable integration of both assembly language teaching content in education.
1 Current Status of Assembly Language Teaching
Assembly language is a low-level programming language closely related to machines, capable of writing efficient programs that can directly control computer hardware, serving as a bridge between computer software and hardware. Assembly language is an important foundational course for computer-related majors such as software engineering and computer science and technology. Through learning assembly language, students can gain a deeper understanding of the working principles of computer systems, enhance their high-level language programming abilities, and establish a computer system thinking.
Intel processors are currently the mainstream processors in personal computers, so assembly language teaching generally uses Intel processors and personal computers as the hardware platform, with a 32-bit or 64-bit Windows operating system as the software platform, implementing teaching with MASM assembly programs or Visual Studio as development tools. The teaching objectives primarily aim to help students understand the characteristics of low-level programming languages, familiarize themselves with commonly used instructions and MASM pseudo-instructions of Intel processors, master the basic methods of MASM assembly language programming and development tools, and be able to analyze, design, write, and debug assembly language programs according to requirements. The teaching content includes the basics of assembly language, commonly used processor instructions, assembly language pseudo-instructions, as well as structures for sequence, branching, loops, and subroutines. It also includes extended Windows and DOS programming, mixed programming with C++, input-output instructions, and programming. Some assembly language courses have added MIPS instruction programming to align with their professional teaching plans.[1].
Zhengzhou University’s assembly language teaching adheres to the teaching philosophy of “goal-oriented, student-centered, and continuous improvement,” emphasizing practice and the cultivation of abilities and qualities. It has adopted a four-stage personalized online-offline blended teaching model, completing four learning stages of independent learning, classroom guidance, project practice, and summarization evaluation in three spaces: the learning platform, classroom, and computer lab. In each learning stage, students’ knowledge, skills, and quality levels are progressively enhanced, achieving higher-order and challenging learning objectives. This course is one of the first batch of courses for the Zhengzhou University-Huawei Intelligent Base Construction Program, combining knowledge from Huawei Cloud, Kunpeng, and other technical fields with assembly language teaching practice.
2 Challenges in Assembly Language Teaching Based on Kunpeng Processor
3 Practice of Reforming Assembly Language Teaching Based on Kunpeng Processor
3.1 Reconstructing Teaching Content with a Systematic Perspective
According to the Ministry of Education’s requirements for “new engineering” construction, cultivating students’ ability to solve “complex engineering problems” is necessary to meet the new demands of various industries in the new engineering era. Systematic thinking is key to equipping computer majors with the capability to solve “complex engineering problems”. We have aimed to cultivate systematic thinking, deepen understanding of computer systems, and enhance programming abilities in our reform of assembly language teaching. A knowledge map of relevant course content has been constructed based on a systematic perspective, reconstructing the content of assembly language teaching and reforming experimental teaching while strengthening the integration of ideological and political elements in the curriculum.
1) Constructing a Knowledge Map for Multiple Courses.
Assembly language serves as a bridge between computer software and hardware, playing a connecting role in computer architecture, and is related to courses such as C language, computer organization principles, compiler principles, and operating systems. Constructing a knowledge map for multiple courses centered on the goals of assembly language teaching is fundamental to cultivating students’ systematic thinking. Table 1 presents some knowledge points related to the assembly language course and other courses.
2) Reconstructing Teaching Content.
Based on the original teaching content of Intel processors, knowledge points such as multi-platform program running environments, basic ARM assembly instructions, and system calls have been added. Intel assembly and ARM assembly are applied in different operating systems and processors, with the Intel assembly environment being Windows + Intel processors and the ARM assembly environment being Linux + Kunpeng processors. For the ARM assembly environment, this course has adopted Huawei Cloud’s CodeArts Online Kunpeng architecture. The previously used MASM-based development tools are only suitable for Intel processor assembly language programming, so the introduction of open-source tools like GCC and NASM has been included. ARM assembly and Intel assembly belong to different types of instruction sets, and the assembly program code for accomplishing the same function has different instruction formats and registers. The teaching content has been expanded to include basic ARM instructions and directives. This course has added relevant third-level knowledge points related to Kunpeng processor assembly teaching in most corresponding secondary knowledge points (see Table 2). Additionally, first-level knowledge points on input-output program design and second-level knowledge points on system calls have been included, which encompass third-level knowledge points such as Linux system calls, Windows API calls, and DOS system calls, balancing programming examples under both Windows and Linux.

4 Reform Outcomes
Zhengzhou University’s assembly language course has participated in the Huawei Intelligent Base Project since the fall semester of 2020. After years of teaching practice, it has accumulated rich resources for Kunpeng processor assembly language teaching, including 37 additional ARM assembly extension resources on the online learning platform, developed Kunpeng processor assembly courseware, published a textbook, and constructed a knowledge map encompassing over 140 knowledge points related to ARM assembly language. The course employs an online-offline blended teaching model, increasing classroom discussions, experiments, and teaching related to Kunpeng processor programming. The teaching outcomes have received positive feedback from students and school supervisors, and the course has been rated as a national top course.
Students’ abilities in autonomous learning, hands-on skills, and innovation have all improved, with the proportion of students achieving good and excellent results in the final exam significantly increasing, and participation in open-type experiments rising year by year. Three students designed and completed an IO subroutine library based on x86 under Linux and an IO subroutine library based on the Kunpeng processor, filling gaps in the original assembly development package, with two of them obtaining software copyright. Four students participated in the Kunpeng development board competition, all reaching the semifinals.
5 Conclusion
ARM assembly represents a different instruction set architecture from Intel assembly, with extensive application value in embedded systems and mobile computing, making it an important direction for reform in assembly language courses to adapt to technological development. As a leader in domestic processors, the Kunpeng processor is very suitable for foundational hardware development of ARM assembly. Integrating Intel assembly and ARM assembly content based on a cross-course knowledge map and employing a blended teaching approach can effectively address the challenges of limited class hours and extensive content while also exercising students’ autonomous learning abilities. Huawei’s CodeArts Online (Kunpeng) computing environment provides a convenient development environment for teaching, resolving difficulties in configuring experimental hardware. The reforms involving ideological education and graded experimental tasks on multiple platforms have also significantly promoted student motivation to tackle challenging problems and enhance enthusiasm for learning.
References:
[1] Xuetang Online. Assembly Language Program Design[EB/OL]. (2017-02-20)[2019-12-15]. https://www.xuetangx.com/course/THU08091000320/21553982.
[2] Mu Lingling, Qian Xiaojie. Thoughts and Practices of Blended Teaching Based on MOOCs[J]. Computer Education, 2017(9): 82-86.
[3] Ministry of Education. Notice on the Research and Practice of New Engineering by the Higher Education Department of the Ministry of Education[EB/OL]. (2017-02-20)[2019-12-15]. http://www.moe.gov.cn/s78/A08/A08_gggs/A08_sjhj/201702/t20170223_297158.html.
[4] Sun Dawei, Zhang Yuqing. Exploring the Mode of Cultivating Systematic Thinking Ability in Computer Under New Engineering Background[J]. Computer Education, 2020(7): 94-97.
Funding Project: National Level Online-Offline Blended Top Course Assembly Language (2023241116); Henan Province Online-Offline Blended Top Course (202013173); Henan Province Online Top Course (202012860); Zhengzhou University-Huawei Intelligent Base Course Project.
First Author Profile: Mu Lingling, Female, Zhengzhou University Associate Professor, Research Direction Natural Language Processing, [email protected].
Citation Format: Mu Lingling, Zhang Qing, Zhang Xingjin, et al. Reform of Assembly Language Teaching Based on Kunpeng Processor[J]. Computer Education, 2024(12):244-248.
Article Header Image Created by “Zhizhu Qingyan”.
(End)
More Exciting:
Yan Ten│The Impact of Generative AI on Computer Major Education and Countermeasures
Principal Interview|Rooted in Border Minority Areas, Focusing on Teacher Education Mainstream to Cultivate High-Quality Applied Talents——Interview with Principal Chen Benhui of Lijiang Normal University
Yan Ten│Review and Prospects of Cultivating Computer System Abilities
Discussion on the Concept of “Student-Centered” Teaching and Its Implementation Path
Principal Interview|Promoting Interdisciplinary Integration to Cultivate Innovative Talents in the New Era——Interview with Professor Ni Mingxuan, Founding Principal of Hong Kong University of Science and Technology (Guangzhou)
New Year Message from the Seventh Editorial Board
Teaching Guidelines for Ideological and Political Education in Computer Disciplines
Academician Chen Guoliang|Cultural Construction of Virtual Teaching and Research Room for Computer Course Ideological and Political Education
Professor Chen Daoxu of Nanda|Change and Constancy: The Dialectics in the Learning Process
Yan Ten│Reflections and Suggestions on the “Dilemma” of Young Teachers in Universities
XU Xiaofei et al.|Metaverse Education and Its Service Ecosystem
【Directory】Computer Education Issue 11, 2024
【Directory】Computer Education Issue 10, 2024
【Directory】Computer Education Issue 9, 2024
【Directory】Computer Education Issue 8, 2024
【Editorial Board Message】Professor Li Xiaoming of Peking University: Thoughts Arising from the “Year of Classroom Teaching Improvement”……
Professor Chen Daoxu of Nanda: Which is more important, teaching students to ask questions or teaching students to answer questions?
【Yan Ten Series】: Trends in Computer Discipline Development and Their Impact on Computer Education
Professor Li Xiaoming of Peking University: From Interesting Mathematics to Interesting Algorithms to Interesting Programming——A Path for Non-Majors to Experience Computational Thinking?
Reflections on Several Issues in Building a First-Class Computer Discipline
New Engineering and Big Data Major Construction
Other Stones Can Attack Jade——Compilation of Research Articles on Computer Education at Home and Abroad