---
# System prepended metadata

title: 計算機概論 - 作業 6 習題解答與出題
tags: [報告, 計算機概論]

---

---
title: 計算機概論 - 作業 6 習題解答與出題
---

# 作業 5 Sell Me This Device

> 作者 : 李信緯
> 學號 : D1211450
> e-mail : mdwiwi0130@gmil.com
> [name=naiye130]
> [time=Wed, Nov 29, 2023 4:21 PM]


## 問題
:::success
### 請分辨下方程式為程式語言中何種層級?
說明:下方程式為一使用x86架構上的NASM ??語言，在Linux上使用系統調用將"Hello, world!"輸出到標準輸出
```X86=
section .data
    hello db 'Hello, world!', 10  ; 10 是換行符號的 ASCII 碼
    hello_len equ $ - hello        ; 計算字符串長度

section .text
    global _start

_start:
    ; 使用 write 系統調用 (syscall) 將 hello 字符串輸出到 stdout (文件描述符 1)
    mov rax, 1         ; syscall 編號 1 代表 sys_write
    mov rdi, 1         ; 文件描述符 1 代表 stdout
    mov rsi, hello     ; 要輸出的字符串地址
    mov rdx, hello_len ; 字符串的長度
    syscall           ; 執行系統調用

    ; 退出程序
    mov eax, 60        ; syscall 編號 60 代表 sys_exit
    xor edi, edi       ; 返回碼為 0
    syscall           ; 執行系統調用


```
- [x] 1. 組合語言
- [ ] 2. 機器語言
- [ ] 3. 高階語言

:::
![image](https://hackmd.io/_uploads/rkIz__VSa.png)

###### tags: `報告` `計算機概論` 

{%hackmd @naiye130/__style %}