int main(void){
printf("Hello World");
return 0;
}
Làm thế nào là được chuyển thành giá trị trả về ở cấp độ lắp ráp? Có một thanh ghi CPU chuyên dụng cho công việc này không?Giá trị trả lại được thực hiện ở cấp độ lắp ráp như thế nào?
CẬP NHẬT
Đây là 2 bảng trên truyền/dữ liệu trở lại trong pdf, nhưng không dường như có các thông tin chính xác về cách quy ước gọi của một API được xác định và đó register được sử dụng cho lưu trữ trở lại địa chỉ:
Điều này phụ thuộc vào nhiều yếu tố bao gồm: trình biên dịch nào, CPU nào, hệ điều hành nào gọi các quy ước, tối ưu hóa hoạt động, v.v ... Và tất nhiên, ngôn ngữ nào. –
Trên x86 giá trị trả về của một syscall/API là ** thường ** 'eax' register – jyz