'Say' mã hóa nội dung của thông tin — nghĩa của từ nằm ở cái được phát ngôn ra. 'Tell' mã hóa người nhận thông tin — nghĩa của từ nằm ở người tiếp nhận điều đó. Đây không chỉ là sự khác biệt về nghĩa, mà được mã hóa trực tiếp vào cú pháp.
Hai ví dụ chứng minh điều đó mà không cần giải thích thêm:
'He told her' vs. 'He said to her' — với 'tell', người nhận (*her*) là direct object, đứng sát động từ, không có giới từ trung gian. Với 'say', người nhận phải đi qua giới từ *to* — tạo ra một lớp khoảng cách. Cú pháp phản ánh đúng focal point: 'tell' hướng thẳng vào người nhận, 'say' hướng vào nội dung và người nhận chỉ là điểm đến.
'She likes it,' he said vs. he was told — 'say' là từ tự nhiên để dẫn lời trực tiếp vì focus là content. 'Tell' có passive (*he was told*) còn 'say' thì không — vì passive cần direct object để đảo lên làm subject, và direct object của 'tell' là người nhận, còn 'say' không có direct object kiểu đó.
Đó là lý do 'He said hello' đúng còn 'He told hello' sai — *hello* là content, không phải receiver. Và 'He told her a lie' đúng còn 'He said her a lie' sai — vì *her* cần đứng sau 'tell' như direct object.
Source: Cambridge Grammar — 'Say or tell?'; English passive voice — Wikipedia; Collins COBUILD English Usage