Bất kỳ hệ thống tập tin hoặc hệ điều hành nào bạn muốn nói về tôi đều ổn. Đẹp!
Trên Phổ ZX, khởi tạo LOAD
lệnh sẽ đưa hệ thống vào một vòng lặp chặt chẽ, đọc dòng Âm thanh.
Bắt đầu dữ liệu được biểu thị bằng một âm không đổi và sau đó một chuỗi các xung dài / ngắn theo sau, trong đó một xung ngắn dành cho nhị phân 0
và một xung dài hơn cho nhị phân 1
( https://en.wikipedia.org/ wiki / ZX_Spectrum_software ). Vòng lặp tải chặt chẽ tập hợp các bit cho đến khi nó lấp đầy một byte (8 bit), lưu trữ điều này vào bộ nhớ, tăng con trỏ bộ nhớ, sau đó lặp lại để quét thêm bit.
Thông thường, điều đầu tiên mà trình tải sẽ đọc là một tiêu đề định dạng ngắn, cố định , cho biết ít nhất số byte cần mong đợi và có thể là thông tin bổ sung như tên tệp, loại tệp và địa chỉ tải. Sau khi đọc tiêu đề ngắn này, chương trình có thể quyết định có tiếp tục tải phần lớn dữ liệu chính hay thoát khỏi thói quen tải và hiển thị thông báo phù hợp cho người dùng.
Có thể nhận ra trạng thái Cuối tệp bằng cách nhận bao nhiêu byte như mong đợi (có thể là số byte cố định, được gắn cứng trong phần mềm hoặc số biến như được chỉ định trong tiêu đề). Một lỗi đã được đưa ra nếu vòng lặp tải không nhận được xung trong dải tần số dự kiến trong một khoảng thời gian nhất định.
Một chút nền tảng về câu trả lời này
Quy trình được mô tả tải dữ liệu từ một băng âm thanh thông thường - do đó cần phải quét Audio In (nó được kết nối với một phích cắm tiêu chuẩn để ghi băng). Một LOAD
lệnh về mặt kỹ thuật giống như open
một tệp - nhưng nó thực sự gắn liền với việc thực sự tải tệp. Điều này là do máy ghi âm không được điều khiển bởi máy tính và bạn không thể (thành công) mở tệp nhưng không tải được.
"Vòng lặp chặt chẽ" được đề cập vì (1) CPU, Z80-A (nếu bộ nhớ phục vụ), rất chậm: 3,5 MHz và (2) Spectrum không có xung nhịp bên trong! Điều đó có nghĩa là nó phải giữ chính xác số lượng trạng thái T (thời gian hướng dẫn) cho mỗi trạng thái. Độc thân. chỉ dẫn. bên trong vòng lặp đó, chỉ để duy trì thời gian tiếng bíp chính xác.
May mắn thay, tốc độ CPU thấp đó có lợi thế khác biệt là bạn có thể tính được số chu kỳ trên một tờ giấy, và do đó thời gian thực mà chúng sẽ mất.
C
và Linux; vì những gì Linux và Windows làm khác nhau. Nếu không, nó hơi quá rộng. Ngoài ra, bất kỳ ngôn ngữ cấp cao hơn nào cũng sẽ gọi API C cho hệ thống hoặc biên dịch xuống C để thực thi, do đó, việc để lại ở cấp độ "C" sẽ đặt nó vào Mẫu số chung nhỏ nhất.