Skip to content

Hello World program written in x86_64 Assembly using Linux syscalls#181

Open
Avik43218 wants to merge 3 commits intoabhisek247767:mainfrom
Avik43218:main
Open

Hello World program written in x86_64 Assembly using Linux syscalls#181
Avik43218 wants to merge 3 commits intoabhisek247767:mainfrom
Avik43218:main

Conversation

@Avik43218
Copy link
Copy Markdown

What does this PR do?

Fixes #(issue)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • Chore (refactoring code, technical debt, workflow improvements)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How should this be tested?

  • Test A
  • Test B

Mandatory Tasks

  • Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.

@github-actions
Copy link
Copy Markdown

Thank you for submitting your pull request! 🙌 We'll review it as soon as possible. In the meantime, please ensure that you star the repository and follow me in github,otherwise PR will not merged. If there are any specific instructions or feedback regarding your PR, we'll provide them here. Thanks again for your contribution! 😊

@Avik43218 Avik43218 closed this Jan 28, 2026
@Avik43218 Avik43218 reopened this Jan 28, 2026
@parthteke
Copy link
Copy Markdown

🤖 AI Code Review

📄 File: hello_world.bas

HIGH:

  • The code is written in an outdated or obsolete programming language, as indicated by the PRINT statement and END keyword, which may not be compatible with modern systems or frameworks.
  • The code lacks any form of error handling or input validation, which could lead to unexpected behavior or crashes.

MEDIUM:

  • The code does not follow standard professional guidelines for code formatting, as it appears to be using a very basic syntax without any consideration for readability or maintainability.
  • The code is not modular or reusable, as it is a simple print statement with no functionality that can be applied to other areas of the program.

LOW:

  • The code could benefit from additional comments or documentation to explain its purpose and behavior, although in this case, the code is very simple and self-explanatory.
  • The code uses uppercase keywords (PRINT), which may not be consistent with the conventions of the programming language being used.

SUMMARY:

  • The code submitted is a very basic "Hello, World!" program that lacks any real functionality or best practices, and would not be suitable for inclusion in a professional software project without significant revisions.

Generated automatically by AI Reviewer

@parthteke
Copy link
Copy Markdown

🤖 AI Code Review

📄 File: hello_world.s

HIGH:

  • The code is using Linux syscalls directly, which may not be portable across different operating systems. Consider using a higher-level programming language or a library that abstracts away the underlying system calls.
  • The code does not include any error handling for the syscalls. If a syscall fails, the program will not handle the error and may crash or behave unexpectedly.
  • The code uses the _start label as the entry point, which is specific to Linux. This may not be compatible with other operating systems.

MEDIUM:

  • The code uses magic numbers (e.g., 1, 60) for syscall numbers. Consider defining constants for these numbers to improve readability and maintainability.
  • The code does not follow a consistent naming convention. For example, msg and msg_len use underscores, but _start uses a leading underscore.
  • The code does not include any comments to explain the purpose of the program or the logic behind the code.

LOW:

  • The code uses a simple db directive to define the string "Hello World", which may not be the most efficient way to define a string in x86_64 Assembly language.
  • The code uses xor rdi, rdi to set rdi to 0, which may not be the most readable way to set a register to 0.

SUMMARY:

  • The code is a simple "Hello World" program written in x86_64 Assembly language using Linux syscalls. While the code is functional, it lacks error handling, uses magic numbers, and does not follow a consistent naming convention. To improve the code, consider adding error handling, defining constants for syscall numbers, and following a consistent naming convention. Additionally, consider using a higher-level programming language or a library that abstracts away the underlying system calls to improve portability.

Generated automatically by AI Reviewer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants