SinhVienCNTT.Net
Thứ Tư, Tháng 4 22, 2026
  • Login
No Result
View All Result
  • Trang chủ
  • Bài viết nổi bật
  • Security
    • Kỹ thuật phân tích mã độc
    • CEH v13
  • Các môn học đại học
    • Các môn đại cương
      • Nhập môn mạng máy tính
      • Nhập môn lập trình
      • Hệ điều hành
    • Ngành An toàn thông tin
      • Lập trình hệ thống
    • Ngành Mạng máy tính & Truyền thông dữ liệu
  • Tài liệu CNTT
  • Liên hệ
Gửi email
  • Trang chủ
  • Bài viết nổi bật
  • Security
    • Kỹ thuật phân tích mã độc
    • CEH v13
  • Các môn học đại học
    • Các môn đại cương
      • Nhập môn mạng máy tính
      • Nhập môn lập trình
      • Hệ điều hành
    • Ngành An toàn thông tin
      • Lập trình hệ thống
    • Ngành Mạng máy tính & Truyền thông dữ liệu
  • Tài liệu CNTT
  • Liên hệ
No Result
View All Result
SinhVienCNTT.Net
No Result
View All Result
Home Các môn học đại học

Bài tập ôn tập Lập trình hệ thống

admin by admin
18 Tháng 8, 2022
in Các môn học đại học
Reading Time: 3 mins read
0
bai-tap-on-tap-lap-trinh-he-thong

Bài viết này mình sẽ chia sẻ các bạn file bài tập ôn tập lập trình hệ thống của Trường ĐH Công nghệ thông tin (UIT).

File tải mình để ở cuối bài viết nhé.

bai-tap-on-tap-lap-trinh-he-thong
Hình minh hoạ

Bài 1. Thực hiện các phép chuyển đổi và tính toán.

a. Chuyển các số hexa sang hệ nhị phân:

  • 0x39A7F816
  • 0xD5E4C16

b. Chuyển số nhị phân sang hệ hexa (16):

  • 1100100101110112
  • 1001101110011101101012

c. Thực hiện tính toán:

  • 0x506 + 0x12
  • 0x503C – 0x42 = 0x4FFA
  • 0x6653 + 98 = 0x6653 + 0x62

Bài 2. Cho đoạn chương trình.

/* Biến val gồm 4 byte đánh thứ tự từ 1 đến 4 */
int val = 0x87564321;
/* pointer trỏ đến ô nhớ lưu trữ biến val */ 
byte_pointer valp = (byte_pointer) &val;
/* A. hàm trả về byte thứ 1 kể từ địa chỉ ô nhớ */ 
show_bytes(valp, 1);
/* B. hàm trả về byte thứ 2 kể từ địa chỉ ô nhớ */ 
show_bytes(valp, 2);

Kết quả trả về của 2 hàm show_bytes() sẽ khác nhau như thế nào trong trường hợp chạy trên hệ thống sử dụng little-endian và big-endian?

Bài 3. Giả sử có các giá trị sau đang được lưu trong các ô nhớ và các thanh ghi:

Bài tập ôn tập Lập trình hệ thống 3
Bảng giá trị ô nhớ
Bài tập ôn tập Lập trình hệ thống 5
Bảng giá trị thanh ghi

a. Hãy điền vào hình minh hoạ bên dưới các địa chỉ và giá trị tương ứng của các ô nhớ.

Bài tập ôn tập Lập trình hệ thống 7
Bảng địa chỉ

b. Giả sử ta có câu lệnh movl [toán hạng x], %ebx để lấy giá trị dựa trên toán hạng x và đưa vào %ebx. Dựa vào các giá trị trong ô nhớ và thanh ghi ở trên, điền các giá trị sẽ lấy được nếu sử dụng các toán hạng sau:

  • %eax
  • 0x104
  • $0x108
  • (%eax)
  • 4(%eax)
  • 9(%eax, %edx)
  • 0xFC(,%ecx,4)
  • (%eax, %edx, 4)

c. Điền vào chỗ trống ảnh hưởng của những câu lệnh dưới đây, bao gồm thanh ghi/ô nhớ nào bị thay đổi giá trị và giá trị đó là bao nhiêu?

Câu lệnhThanh ghi/ô nhớ bị thay đổiGiá trị
addl %ecx, (%eax)Ô nhớ có địa chỉ 0x1000xFF + 0x1 = 0x100
lmull $16, (%eax, %edx, 4)Ô nhớ có địa chỉ ……….…………
sub %edx, %eaxThanh ghi %eax…………
movl (%eax, %edx, 4), %eaxThanh ghi %eax…………
leal (%eax, %edx, 4), %eaxThanh ghi %eax…………
Bảng giá trị

Bài 4. Giả sử người lập trình mong muốn tạo ra mã assembly của hàm C sau:

int shift_left2_rightn (int x, int n) {
    x <<= 2; 
    x >>= n; 
    return x;
}

Cho đoạn mã assembly bên dưới thực hiện việc dịch bit và đưa giá trị cuối cùng của x vào thanh ghi %eax. Biến x và n được đặt ở các vị trí %ebp + 8 và %ebp + 12. Hãy điền các câu lệnh assembly còn thiếu để thực hiện đúng chức năng của hàm C trên.

  1. movl 8(%ebp), %eax // %eax = x //x=x<<2
  2. ………… // %ecx = n
  3. movl 12(%ebp), %ecx. // do sarl chỉ hỗ trợ thanh ghi 8-bit, %cl là phiên bản thanh ghi 8
  4. .……….

bit của %ecx đang chứa giá trị của n

Và một số bài tập khác trong file bên dưới.

File đầy đủ – Bài tập ôn tập Lập trình hệ thống

Link Google Drive

Link dự phòng (Mega.NZ)

Tags: UIT
Share76Tweet48
Previous Post

Slide Hệ điều hành UIT

Next Post

Định dạng thông điệp HTTP

admin

admin

A Winner Never Stops Trying.

Related Posts

Đáp án bài tập thực hành CSDL – Quản lý giáo vụ
Các môn học đại học

Đáp án bài tập thực hành CSDL – Quản lý giáo vụ

2 Tháng 9, 2024
Đáp án bài tập thực hành CSDL – Quản lý bán hàng
Các môn học đại học

Đáp án bài tập thực hành CSDL – Quản lý bán hàng

2 Tháng 9, 2024
operating-system-concepts-thumbnails
Các môn học đại học

[Ebook] Sách Operating System Concepts 10th Edition pdf

3 Tháng 9, 2022
Cookies và Web Cache trong HTTP
Các môn học đại học

Cookies và Web Cache trong HTTP

14 Tháng 10, 2024
bai-tap-deadlock
Các môn học đại học

Bài tập Deadlock (Tắc nghẽn) – Bài tập Hệ điều hành

26 Tháng 8, 2022
thuc-hanh-he-dieu-hanh-uit-lab-1
Các môn học đại học

Thực hành Hệ điều hành Lab 1: Hướng dẫn cài đặt Ubuntu và các lệnh cơ bản của Shell

26 Tháng 8, 2022
Next Post
Định dạng thông điệp HTTP

Định dạng thông điệp HTTP

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Tất cả chuyên mục

  • Các môn học đại học
  • CCNA 200-301
  • CEH Tiếng Việt – CEH v13
  • Chưa phân loại
  • Digital Forensics
  • Machine Learning
  • Network
  • Nổi bật
  • Phân tích mã độc
  • Security
  • Tài liệu CNTT
  • Từ vựng IELTS

Thẻ

API AWS Bash Shell C++ Cisco ASA Cisco Packet Tracer Collocations Footprinting Giao thức Machine Learning Mạng máy tính nmap Quản lý rủi ro Regular Expression TCP/IP Tuyển chọn UIT Wireshark

logo sinhviencntt.net

Blog Sinh viên CNTT chia sẻ kiến thức, tài liệu liên quan đến nhóm ngành Công nghệ thông tin.

Chúng tôi sẵn sàng đón những ý kiến đóng góp, cũng như bài viết của các bạn gửi đến SinhVienCNTT.Net.

Giới thiệu

Blog Sinh viên CNTT chia sẻ kiến thức, tài liệu liên quan đến nhóm ngành Công nghệ thông tin.

Liên hệ

Email: sinhviencntt.net@gmail.com

Tìm kiếm

No Result
View All Result

Danh mục

  • Các môn học đại học
  • CCNA 200-301
  • CEH Tiếng Việt – CEH v13
  • Chưa phân loại
  • Digital Forensics
  • Machine Learning
  • Network
  • Nổi bật
  • Phân tích mã độc
  • Security
  • Tài liệu CNTT
  • Từ vựng IELTS
  • Home
  • Liên hệ
  • Privacy & Policy
  • Other Links

© 2023 SinhVienCNTT.Net - Blog Sinh viên Công nghệ thông tin.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • Trang chủ
  • Bài viết nổi bật
  • Security
    • Kỹ thuật phân tích mã độc
    • CEH v13
  • Các môn học đại học
    • Các môn đại cương
      • Nhập môn mạng máy tính
      • Nhập môn lập trình
      • Hệ điều hành
    • Ngành An toàn thông tin
      • Lập trình hệ thống
    • Ngành Mạng máy tính & Truyền thông dữ liệu
  • Tài liệu CNTT
  • Liên hệ

© 2023 SinhVienCNTT.Net - Blog Sinh viên Công nghệ thông tin.