Non-constant constant strings

S

Seebs

Maybe you do, maybe you just think you do which can lead to all sorts of
incorrect assumptions.

For an obvious example, on any reasonably modern x86 design (and there are
a few newish x86 chips out there which are by no means modern designs), if
you think the registers you refer to in assembly are the processor's actual
registers, you are very deeply mistaken about the nature of modern x86 cores.

-s
 
R

Rick C. Hodgin

Another repetition of that...

The true expressions never go out of style.
, after it has been hinted that there may be a
third category.

And a fourth.
(At least you left the ", Kaz, " out this time, though: good!)

"Thank you, Jerry. I try."
The unfortunate and ironic upshot of this is that you must think that
you're pegged into one of these two groups.

I consider myself to be in the fourth group.
By the way, assembly language is not really a "background" any more
than, say, alcohol or cigarettes are a "background".

You're right. It's not the assembly language itself, but the knowledge that
goes along with it from studying the Intel IA-32/64 manuals and learning the
inner workings of the machine, as is exposed through the ISA. You should try
it (if you're low-enough level enough ... it's pretty technical, perhaps even
more so than a C standards manual (just guessing)):

http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

Best regards,
Rick C. Hodgin
 
R

Rick C. Hodgin

I think it does. Immediate changes don't necessarily allow me to verify
that they'd work if they'd been that way all along.

"YMMV" means "Your Mileage May Vary," indicating that your experience may be
different from mine. As I say, I can only convey my personal experience. :)

Best regards,
Rick C. Hodgin
 
R

Rick C. Hodgin

For an obvious example, on any reasonably modern x86 design (and there are
a few newish x86 chips out there which are by no means modern designs), if
you think the registers you refer to in assembly are the processor's actual
registers, you are very deeply mistaken about the nature of modern x86 cores.

They are the ones exposed by the ISA. If you have another way to access
internal x86 resources ... I'd sure be keen to hear it. :)

Best regards,
Rick C. Hodgin
 
R

Rick C. Hodgin

I write a mix from drivers through to web applications, so where do I fit?

When you say "drivers" ... do you mean autonomous robots capable of self-
piloting vehicles? Or are you talking about software drivers for hardware?

Well it doesn't matter ... in either case, you're in the fourth group (both
high and low level). :)

Best regards,
Rick C. Hodgin
 
J

James Kuyper

"YMMV" means "Your Mileage May Vary," indicating that your experience may be
different from mine.

That's what he meant by "I think it does". Expanding, he meant "I think
my mileage does vary".
 
K

Kaz Kylheku

The true expressions never go out of style.


And a fourth.


"Thank you, Jerry. I try."


I consider myself to be in the fourth group.


You're right. It's not the assembly language itself, but the knowledge that
goes along with it from studying the Intel IA-32/64 manuals and learning the
inner workings of the machine, as is exposed through the ISA. You should try
it (if you're low-enough level enough ... it's pretty technical, perhaps even
more so than a C standards manual (just guessing)):

I used to know the MC680x0 to that level. The Intel stuf is a crap design that
is not really worth memorizing in detail.

The workings on any processor are a very limited and faairly uninteresting (to
me) area of human knowledge, any part of which I can look up if I need to know
it.

As far as x86 goes, very few people will get to do a board-level design where
they have to be familiar with all the pins on a particular x86 chip.

It's more common to have that knowledge about systems for embedded use like
microcontrollers, and systems-on-a-chip.

I'm working with a chip in the PIC24 family; I have some 20-odd PDF documents
on the darn thing in my phone, and I read most of them. (Just not things I'm
not interested in. For instance, I won't be using the ADC block in this
project, so I don't care.)

This stuff doesn't make you any smarter; it just a collecton of factoids that
you have to crawl over to get to the other side: the happy land where your
stuff is working.

It especially doesn't make you any smarter once you know one or two systems.

After that it is, "same shit, different pile".
 
S

Seebs

They are the ones exposed by the ISA.

So what? They don't actually exist, and they aren't how the CPU works.
If you have another way to access
internal x86 resources ... I'd sure be keen to hear it. :)

That's my point. You can't access them. Nothing you can access is
"how the machine works", or even all that similar to it.

-s
 
R

Rick C. Hodgin

So what? They don't actually exist, and they aren't how the CPU works.

They are the tools of the trade, Seebs. We have no place else to go.
That's my point. You can't access them. Nothing you can access is
"how the machine works", or even all that similar to it.

It is from all outward appearances. And it's as close as we can get.
Perhaps you're suggesting I should just give it all up and become a
welder because of some inability to peer beyond the ISA?

Best regards,
Rick C. Hodgin
 
S

Seebs

They are the tools of the trade, Seebs. We have no place else to go.

"What are you looking for?"
"A nickel. I dropped it over there."
"Why are you looking over here?"
"Light's better."
It is from all outward appearances. And it's as close as we can get.
Perhaps you're suggesting I should just give it all up and become a
welder because of some inability to peer beyond the ISA?

No. I'm suggesting you accept that you *cannot actually see how the machine
works anymore*. Nothing in the ISA tells you that, and the way an x86 chip
actually executes code is wildly different from what you see in the assembly
code.

I think they stopped having that piddly little register file that is such
a source of nightmares back around the Pentium Pro. On modern x86, most
common idioms for shuffling things between the stack and registers *never
result in memory access*.

Anything you think you know that assumes that the CPU is actually doing what
the instruction set says it is doing is wrong.

-s
 
R

Rick C. Hodgin

No. I'm suggesting you accept that you *cannot actually see how the machine
works anymore*. Nothing in the ISA tells you that, and the way an x86 chip
actually executes code is wildly different from what you see in the assembly
code.

I think they stopped having that piddly little register file that is such
a source of nightmares back around the Pentium Pro. On modern x86, most
common idioms for shuffling things between the stack and registers *never
result in memory access*.

Anything you think you know that assumes that the CPU is actually doing what
the instruction set says it is doing is wrong.

At ease, Lieutenant, before you sprain something. And remember, there are a
lot of decaffeinated brands on the market today that are just as tasty as
the real thing.

Best regards,
Rick C. Hodgin
 
S

Seebs

At ease, Lieutenant, before you sprain something. And remember, there are a
lot of decaffeinated brands on the market today that are just as tasty as
the real thing.

You know, I'm not really understanding the purpose of your postings here.
You appear to be putting significant effort into being derisive, snide, and
dismissive towards other people's knowledge or experience, while subtly and
not-so-subtly implying that your own expertise is particularly deep and
broad, and yet, when you get concrete information pointing out that one of
your actual factual claims about what you understand has been wrong for
well over a decade, you respond with... this.

Well, okay, then?

-s
 
R

Rick C. Hodgin

You know, I'm not really understanding the purpose of your postings here.
You appear to be putting significant effort into being derisive, snide, and
dismissive towards other people's knowledge or experience, while subtly and
not-so-subtly implying that your own expertise is particularly deep and
broad, and yet, when you get concrete information pointing out that one of
your actual factual claims about what you understand has been wrong for
well over a decade, you respond with... this.

Well, okay, then?

You convey something that's an obvious thing, Seebs. You say that the inner
workings of a CPU are different than its exposed ISA. That's what's called "a
given" or "a truism". There's nothing we can do about that part of it. All
we can do is write for what has been exposed outwardly to us through the ISA.
That's what I'm doing. But even there, at that ISA level (which is not the
true and pure form of literal mechanical interpretation of what occurs
within the CPU itself) there is great benefit and capability in processing
data, far more so than exists at higher level languages. And the goal of
any compiler author is to merge those two together. You take the needs of
the high level and translate it into the needs of the low level, allowing
the protocols of the high level to be enforced by the mechanical
representation of the low level.

This immediate response above is one that I considered posting to you, FWIW.
I came here with knowledge and expertise in various areas to be subjected
nonstop to an onslaught of questioning and pointing out things that are
nothing less than truisms, as though you're pointing something out to me
that I either had not thought of, or you presume I don't already know because
I have not previously conveyed that thought. You discount my years of study
and devotion to this platform, to computer programming in general, because
I have not done so in a formal manner, as by studying C technical specs, or
using the correct terminology.

I appreciate corroboration in areas, but the tone of many of these posts
(toward my compiler design) have not been constructive or helpful, but
rather come across to me as an attempt to tear down my goals and plans as
though I have not thought the matter through, or am proceeding from so many
false premises that any further effort toward completing my project, a
project which will likely not ever affect any of you one way or the other,
are for naught.

I thank you for your concern over me, Seebs. If you'd like to carry on a
dialogue whereby we can discuss the fullness of my task, then that is fine.
You can come on board and help me complete my project. If not, then I am
content to part and say thank you for your assistance.

Best regards,
Rick C. Hodgin
 
M

Matt

It
sort of comes across as though you intend to express that you are one of
the people who is doing the rare thing that involves a deeper desire to
understand, while the people who don't share your intuition for what string
literals should do are all presumably of the other sort...

Thx seebs this is bang on imo. The OP is obviously one of the "chosen
people" as witnessed by his OT religous ramblings earlier in this
thread. I have learned a lot from regular clc contributors while reading
this thread. I suppose in a bizarre way I have the OP to thank for
provoking the discussion. Imo however he is holding tightly to some
fixed idea which is blinding him to what actually is. If starting a
thread on clc can be seen as a request for ideas to help you learn in an
area where you are ignorant then the OP is disingenuous ie he professes
to want help but it's obvious he is going to ignore any suggestion which
doesn't mesh with his extensive preexisting "knowledge"/assumptions.

If you pick apart the text I quoted above by Seebs it's actually kind of
scary. Bordering on 3rd Reich territory.

Let's keep it secular.

Matt.
 
R

Rick C. Hodgin

If starting a
thread on clc can be seen as a request for ideas to help you learn in an
area where you are ignorant then the OP is disingenuous ie he professes
to want help but it's obvious he is going to ignore any suggestion which
doesn't mesh with his extensive preexisting "knowledge"/assumptions.

I asked for help on non-constant constant strings, what I later was shown
in this thread to be a compound literal. I found my answer. These posts
that are taking place now are responses to people posting things to me.
Let's keep it secular.

The attitude conveyed in your sentence here is exactly the cause of why the
world is the way it is today: greedy, war, people in need everywhere yet with
machines able to provide plenty.

There is a real enemy at work against people in this world. My efforts in
this project are to give people a free developer platform founded upon the
Christian teachings of "love your neighbor as yourself." In short, the
entirety of my goals are to give you something for free, expecting nothing
in return, that you may improve your life, and the lives of those around
you through my offering. It is the same thing God does for all of us, yet
as you are rejecting me here, so He is and has been rejected by all who do
not desire to operate from withing that calling: love, helping one another,
and doing so for the Creator of the universe.

I do what I do for God, and for all of mankind, because I acknowledge and
recognize what it was Jesus Christ did for me at the cross. I am not trying
to hide or hinder other people, but I am continually reaching out asking for
people to help me in this endeavor. I have skills in these areas and it is
because they were given to me, not by professors or other developers teaching
me things, but because God gave me the ability to understand these things
innately, and because He also gave me an interest to pursue these things with
great passion over the years. As a result, I have become what I am today,
with this knowledge and expertise. And as a Christian, I desire to put it
into full practical and full use.

I am now 18 months into this project, and I have many parts of it designed
and coded. Still much more to do. I have a job that consumes roughly 60
hours per week, and I am doing this on top of all of that. It has been very
very hard. But, I persist through all of it because I believe in what I'm
doing, and I desire to complete these tasks.

If any of you would like to help me with your expertise in C coding, and in
coming on board and helping me complete the project I've started, then please
come on board. If not, then that's fine as well. It's your choice. What I
am doing I am doing for Jesus Christ, and for all of mankind. I offer up the
fullness of my knowledge and myself toward that end. I give it my best shot,
and I do so unto God, because of who He is, and what He's done for me. It
is the best I can do ... and I am trying very hard to do it.

Best regards,
Rick C. Hodgin
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,078
Messages
2,570,570
Members
47,204
Latest member
MalorieSte

Latest Threads

Top