Categories: Tổng hợp

Variables, Constants, và Arrays trong Forth_Phần 1 VARIABLE

Published by
Video nhiệm vụ của biến variable là gì

Mình mới tìm hiểu về forth, lên trong bài viết này mình sẽ dịch bài về Variables, Constants, và Arrays trong Forth với mục đích tìm hiểu các vấn đề cơ bản trong forth.

1. Variable:
  • Để bắt đầu chúng ta sẽ đến với ví dụ về việc sử dụng variabale trong việc lưu trữ ngày:

    • khai báo variable: VARIABLE DATE
    • gán giá trị cho DATE: 12 DATE !
    • Khi thực hiện như trên, chúng ta đã lưu giá trị 12 vào tên biến DATE.
  • để thực hiện show giá trị của DATE chúng ta sử dụng DATE @

  • Chúng ta sẽ khai báo thêm 2 biến tháng và năm để bổ sung thêm thông tin:

    VARIABLE DATE VARIABLE MONTH VARIABLE YEAR

    • để define các thông tin YEAR và MONTH đc gọi thông qua DATE

      : !DATE YEAR ! DATE ! MONTH ! ;

      Việc này giống với định nghĩa một hàm có tên hàm là !DATE và trong hàm có 3 biến đc gán theo các đối số truyền vào cho hàm lần lượt là YEAR, DATE, MONTH

    • gán gá trị cho DATE, MONTH, YEAR

      7 31 03 !DATE

    • In giá trị của DATE, MONTH, YEAR

      : .DATE MONTH ? DATE ? YEAR ? ;

2. Cơ chế của forth với variable
  • Khi bạn sử dụng định nghĩa biến bằng cách:

    VARIABLE DATE

    Trong forth điều này tương đương với việc bạn đã compiling vào từ điển một từ mới DATE.

  • Trong từ điển của bạn DATE được xác định bằng từ VARIABLE và ko có định nghĩa về nhiệm vụ của DATE.

  • Khi bạn gọi

    12 DATE !

    12 sẽ được đẩy vào stack. Sau đó trình biên dịch sẽ tìm từ DATE trong từ điển được định nghĩa từ bên trên. Và chỉ nó cho bộ phận EXECUTE. EXECUTE sẽ thực hiện bằng cách copy địa chỉ của variable trống vào stack.

Khi chương trình chạy đến ký tự “!” thì sẽ lấy địa chỉ bên trên và giá trị bên dưới lưu trữ vào vị trí đó. Có một lưu ý là bất cứ số nào đc lưu trữ ở vị trí đó lúc trước sẽ đều bị thay thế.

Từ @ chỉ ứng với 1 đối số, trong trường hợp này được cung cấp bởi tên của biến như trong: DATE @

Sử dụng giá trị trên stack làm địa chỉ, từ khóa @ sẽ đẩy nội dung của giá trị đó lên stack và xóa bỏ địa chỉ, nhưng nội dung của địa chỉ đó thì vẫn còn nguyên vẹn.

3. Ứng dụng variable trong việc đếm số.

Trong forth thì một biến là cách lý tưởng để lưu trữ số lượng một cái gì đó. Chúng tôi sử dụng trong ví dụ đếm số trứng rơi xuống băng truyền trong vòng 1 ngày.

Đầu tiên chúng ta phải define:

  • VARIABLE EGGS

Để giữ cho việc đếm luôn bắt đầu đúng. Chúng ta cần phải có một hàm reset lại số trứng mỗi khi bắt đầu thực hiện:

  • : RESET 0 EGGS ! ;

Và mỗi khi 1 quả trứng đi qua vị trí check.

  • 1 EGGS +!

“+!” sẽ thực hiện thêm giá trị đã cho vào nội dung của địa chỉ đã cho.

Chúng ta có thể thay đổi bằng việc thêm vào một hàm:

  • : EGG 1 EGGS +! ;

Và khi kết thúc một ngày chúng ta gọi:

  • EGGS @

Trên đây là phần giới thiệu về VARIABLE trong forth. Trong bài sau mình sẽ tiếp tục dịch về phần Constants, và Arrays trong forth. Do vốn TA có hạn lên bài dịch còn nhiều chỗ không được chuẩn + mình cũng thay đổi nhiều theo ý hiểu của bản thân. Lên nếu có vấn đề gì xin các bạn góp ý!!! Thanks!!! bài viết gốc: https://www.forth.com/starting-forth/8-variables-constants-arrays/

This post was last modified on 09/05/2024 18:17

Published by

Bài đăng mới nhất

Con số may mắn hôm nay 26/11/2024 theo năm sinh: Chọn ĐÚNG SỐ để cuộc sống thêm tuyệt vời

Con số may mắn hôm nay 26/11/2024 theo tuổi sinh: Hãy chọn SỐ ĐÚNG để…

1 giờ ago

Tử vi thứ 3 ngày 26/11/2024 của 12 con giáp: Tý đen đủi, Mùi nhẹ nhõm

Tử vi thứ ba ngày 26/11/2024 của 12 con giáp: Tý xui xẻo, Mùi an…

1 giờ ago

12 con giáp muốn gặp QUÝ NHÂN cực dễ, chỉ cần áp dụng đúng 1 CHIÊU này!

12 con giáp rất dễ dàng gặp được QUÝ VỊ, chỉ cần áp dụng đúng…

5 giờ ago

Hãy dè chừng khi tiếp xúc với những con giáp là cao thủ tâm cơ này

Hãy cẩn thận khi tiếp xúc với những con giáp này, chúng là bậc thầy…

5 giờ ago

Cách 12 con giáp trưởng thành sau khi va vấp, trải qua thất bại mới nếm mùi thành công

Cách 12 con giáp trưởng thành sau vấp ngã và nếm trải thất bại trong…

9 giờ ago

4 con giáp đối diện với nguy cơ mất tiền hao của, đầu tư thất bại cuối tháng 11/2024

4 con giáp đối mặt nguy cơ mất tiền, thất bại trong đầu tư vào…

10 giờ ago