Oziphantom wrote: ↑Fri Jul 31, 2020 11:44 pm
93143 wrote: ↑Fri Jul 31, 2020 6:59 pm
Oziphantom wrote: ↑Thu Jul 30, 2020 11:00 pm
Move to B from A is not a valid sentence.
Yes it is. It's just not usual in most contexts. In the context of "moving" as in changing place of residence, it's just as normal as the other way around, probably because the destination is more important than the source in that context.
You've stumbled over the issue. Move is present tense. So you don't move from another destination while you are in that location. The problem is B is where you are, A is in the past. So you can't move to B as you are in B as A is from which is in the past and you are no longer there.
I move
d to B from A
I'm mov
ing to B from A
I
will move to B from A
I
have move
d to B from A
You should move to B from A
If you are giving both locations, you can't be in both locations at the same time and hence you need to add extra context to it to show which tense it is. Either you are moving, future tense, or moved, past tense. You don't move in 2 locations in the present tense. Although moving can take some time so you say 'currently moving' to imply you are en route.
You're overthinking this. Tense has nothing to do with it; that information is conveyed in the form of the verb, not what follows it. Something like "I am moving to B from A" is a perfectly valid sentence, quite apart from the question of whether or not anybody cares where you're moving from, or even whether the statement happens to be true at the moment. The infinitive form "to move to B from A" isn't a complete sentence, but as a phrase it's valid English.
And of course, "Move to B from A", specifically, is also a valid sentence. It's a command, using the imperative form of the verb. Which is of course what every opcode in an assembly language is... Mind you, since there's no object given, the sentence does provide what appears to be unnecessary information. In the case of this particular verb, the intransitive form effectively makes the subject also the object, and if he's not at A why would he have to go there first before moving to B? Maybe there's an Indiana Jones-style trap that requires this specific pattern of motion...
Anyway, the problem in assembly language is not the verb form. The lack of prepositions introduces a serious ambiguity, and if one wishes to turn a MOV dest, src instruction into an English sentence without changing its meaning, an object is one of the necessary additions. "Move data to B from A" is perfectly fine, but "Move to B from A" is only valid English if "move" is taken as intransitive, which makes no sense in the context of a CPU instruction, since the CPU cannot move.
So I guess technically your statement "Move to B from A is not a valid sentence" could be considered correct, given the additional stipulation that "move" in this case is transitive; that is, the subject of the verb is expected to move
something. Unfortunately "move" and "move" are spelled the same, so this distinction is easy to miss...
...
(Also, you don't move
from a destination. A destination is somewhere you move
to, by definition. Unless it's the secondary meaning of "place it's trendy to go to", which is a little specific for our purposes...)
Trust me; I'm in probably the top 0.000001% of engineers when it comes to skill in and understanding of English. Not that that's saying much... I may get careless or colloquial from time to time, but I like to think I know what I'm doing.
turboxray wrote:LD/ST are used for direct memory access (loading a value into a register), but MOV is to work within registers.
Oh yeah, that reminds me - 65xx uses "transfer" to copy data between registers: TAX, TXY, TCD, etc. And the order of arguments is always src, dest...