RE: I/O CODE was: [CAD_CAM_EDM_DRO] parallel port
Posted by
Alan Marconett
on 2004-05-20 15:25:07 UTC
Hi Jan,
No, I KNOW the difference between DOS and assembly language (I AM a
programmer), for the past 25+ years or so, anyway (add in some CP/M and
OS/8, etc.).
DEBUG is a DOS application that can handle (assemble/disassemble) x86
code to/from ASM86. It ALSO supports some command line commands, like
"O 378 FF" as I mentioned. This is not assembly language, which would
be "out DX, AH", or "out 78h, ax", or so forth.
You don't "LEAVE DOS" and "enter machine code". DEBUG interprets this
command, and issues the required machine code instructions. This is not
one for one, as the DX register must hold your 378H I/O address. The CPU
is ALWAYS executing machine code, sometimes it belongs to DOS, sometimes
to the BIOS, and sometimes to the application (DEBUG in this case, or
GWBASIC in your program's case). This may be be what you mean. BASIC
may be said to have a set of "canned routines" that it passes parameters
to to do various things for your program.
"OUT 378,FF" is NOT understood by DOS (or anything like it). GWBASIC or
QBASIC might understand this string of characters (interpret it), but
not DOS. Anyway, if it could, it would be the COMMAND.COM program (a
DOS SHELL program) that would be interpreting your sting of ASCII
characters. DOS is a collection of FUNCTIONS that are called by "INT
21" instructions, and parameters that are passed either in registers or
on the stack.
Debug can ASSEMBLE the ASM86 code "OUT 40, AL", or "OUT DX, AX", it
CANNOT assemble "OUT 378 FF" nor can DOS. To write to FFh to port 378h
in assembly language first requires one to "move DX, 0FFh", "move AL,
0FFh", and then do a "out DX, AL". These assemble into object code, a
series of bytes ( or words, or Qwords) like "E6 40", "E7 40", and "EE"
There are more, but you get the idea. These "bytes" get loaded into
memory, and are executed by the CPU.
'C' likes "out 0x21, al". C is a COMPILER. No "intrepreted" mode.
Hope this helps!
Alan KM6VV
JanRwl@... wrote:
No, I KNOW the difference between DOS and assembly language (I AM a
programmer), for the past 25+ years or so, anyway (add in some CP/M and
OS/8, etc.).
DEBUG is a DOS application that can handle (assemble/disassemble) x86
code to/from ASM86. It ALSO supports some command line commands, like
"O 378 FF" as I mentioned. This is not assembly language, which would
be "out DX, AH", or "out 78h, ax", or so forth.
You don't "LEAVE DOS" and "enter machine code". DEBUG interprets this
command, and issues the required machine code instructions. This is not
one for one, as the DX register must hold your 378H I/O address. The CPU
is ALWAYS executing machine code, sometimes it belongs to DOS, sometimes
to the BIOS, and sometimes to the application (DEBUG in this case, or
GWBASIC in your program's case). This may be be what you mean. BASIC
may be said to have a set of "canned routines" that it passes parameters
to to do various things for your program.
"OUT 378,FF" is NOT understood by DOS (or anything like it). GWBASIC or
QBASIC might understand this string of characters (interpret it), but
not DOS. Anyway, if it could, it would be the COMMAND.COM program (a
DOS SHELL program) that would be interpreting your sting of ASCII
characters. DOS is a collection of FUNCTIONS that are called by "INT
21" instructions, and parameters that are passed either in registers or
on the stack.
Debug can ASSEMBLE the ASM86 code "OUT 40, AL", or "OUT DX, AX", it
CANNOT assemble "OUT 378 FF" nor can DOS. To write to FFh to port 378h
in assembly language first requires one to "move DX, 0FFh", "move AL,
0FFh", and then do a "out DX, AL". These assemble into object code, a
series of bytes ( or words, or Qwords) like "E6 40", "E7 40", and "EE"
There are more, but you get the idea. These "bytes" get loaded into
memory, and are executed by the CPU.
'C' likes "out 0x21, al". C is a COMPILER. No "intrepreted" mode.
Hope this helps!
Alan KM6VV
JanRwl@... wrote:
> In a message dated 5/20/2004 1:56:56 PM Central Standard Time, KM6VV@...
> writes:
> Don't you mean BASIC or DEBUG? Run debug, then type "O 378 FF" (no
> quotes) as I recall. Q to exit.
> Alan: I am NOT a "programmer" (though I DO that primitively, with
> challenge!), but I THINK you are confusing DOS with Assembly ("machine-") code. yes, in
> ASM-86, invoked by "DEBUG", causing the machine to LEAVE DOS and enter
> machine-code, you would write OUT 378 FF to make all-8 bits of the printer-port HI.
> But in DOS, too, you can write OUT 378,FF as well. OR GWBASIC (and I ASSUME
> QBASIC?) OUT 888,255, or OUT &H378,&HFF to do same. I never used QBASIC, but
> at least GWBASIC requires the "&H..." before a number in HEX, but NO prefix
> for a base-10 ("decimal") number.
>
Discussion Thread
Trend
2004-05-19 20:56:19 UTC
parallel port
campgems
2004-05-19 21:56:58 UTC
Re: parallel port
Trend
2004-05-19 22:35:28 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
JanRwl@A...
2004-05-19 23:13:16 UTC
Re: [CAD_CAM_EDM_DRO] parallel port
JanRwl@A...
2004-05-19 23:14:45 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
JanRwl@A...
2004-05-19 23:29:29 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
JanRwl@A...
2004-05-19 23:51:18 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
Scott Ellis
2004-05-20 00:01:04 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
Hugh Prescott
2004-05-20 06:41:45 UTC
Re: [CAD_CAM_EDM_DRO] parallel port
wwwmrf
2004-05-20 06:41:46 UTC
Re: parallel port
turbulatordude
2004-05-20 06:52:10 UTC
Re: parallel port - TCNC
mayfieldtm
2004-05-20 07:45:48 UTC
Re: parallel port
D Cranston
2004-05-20 08:12:32 UTC
RE: [CAD_CAM_EDM_DRO] Re: parallel port
Lester Caine
2004-05-20 08:22:13 UTC
Re: [CAD_CAM_EDM_DRO] parallel port
jm_fong
2004-05-20 09:10:40 UTC
Re: parallel port
jm_fong
2004-05-20 09:15:26 UTC
Re: parallel port
jm_fong
2004-05-20 09:30:52 UTC
Re: parallel port
Jon Elson
2004-05-20 10:35:15 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
Jon Elson
2004-05-20 10:38:48 UTC
Re: [CAD_CAM_EDM_DRO] parallel port
Alan Marconett
2004-05-20 11:42:45 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
Lester Caine
2004-05-20 11:44:12 UTC
Re: [CAD_CAM_EDM_DRO] parallel port
Alan Marconett
2004-05-20 11:55:37 UTC
Re: [CAD_CAM_EDM_DRO] parallel port
Paul Davis
2004-05-20 11:56:46 UTC
Re: [CAD_CAM_EDM_DRO] parallel port
JanRwl@A...
2004-05-20 13:03:47 UTC
Re: [CAD_CAM_EDM_DRO] parallel port
JanRwl@A...
2004-05-20 13:15:02 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
JanRwl@A...
2004-05-20 13:41:50 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
JanRwl@A...
2004-05-20 13:51:22 UTC
Re: [CAD_CAM_EDM_DRO] parallel port
JanRwl@A...
2004-05-20 14:00:27 UTC
Re: [CAD_CAM_EDM_DRO] parallel port
Alan Marconett
2004-05-20 14:43:01 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
Alan Marconett
2004-05-20 15:25:07 UTC
RE: I/O CODE was: [CAD_CAM_EDM_DRO] parallel port
JanRwl@A...
2004-05-20 21:00:33 UTC
Re: I/O CODE was: [CAD_CAM_EDM_DRO] parallel port
Raymond Heckert
2004-05-21 07:41:07 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
Alan Marconett
2004-05-21 09:26:44 UTC
Re: I/O CODE was: [CAD_CAM_EDM_DRO] parallel port
Trend
2004-05-21 20:16:06 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
Trend
2004-05-21 21:21:59 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
Trend
2004-05-21 22:19:11 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
Jon Elson
2004-05-22 20:45:45 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
Trend
2004-05-23 00:10:26 UTC
Re: [CAD_CAM_EDM_DRO] Re: parallel port
turbulatordude
2004-05-23 00:43:14 UTC
Re: parallel port - assigning ID's
jmkasunich
2004-05-24 06:24:01 UTC
Re: parallel port