Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:00.05 --> 00:00:02.01
- [Instructor] For our development environments,
2
00:00:02.01 --> 00:00:04.06
we'll be loading two different assemblers,
3
00:00:04.06 --> 00:00:07.01
an ID and a debugger.
4
00:00:07.01 --> 00:00:10.04
We'll start with Microsoft Assembler MASM.
5
00:00:10.04 --> 00:00:14.02
This comes as part of the Microsoft Visual Studio Framework
6
00:00:14.02 --> 00:00:16.00
but it's simpler for us to install this
7
00:00:16.00 --> 00:00:19.06
from the third party MASM32 SDK site.
8
00:00:19.06 --> 00:00:21.02
We'll follow the download link
9
00:00:21.02 --> 00:00:24.06
and be presented with various download repositories.
10
00:00:24.06 --> 00:00:26.06
The download is a zip file
11
00:00:26.06 --> 00:00:29.04
which contains an install.exe file
12
00:00:29.04 --> 00:00:33.02
which automates the process of installing MASM32.
13
00:00:33.02 --> 00:00:34.09
I've already installed this
14
00:00:34.09 --> 00:00:36.09
but you may wish to take a moment to do that
15
00:00:36.09 --> 00:00:39.06
if you don't have it installed.
16
00:00:39.06 --> 00:00:42.06
We can check that we have a functioning MASM32 installation
17
00:00:42.06 --> 00:00:44.08
by developing a short program.
18
00:00:44.08 --> 00:00:46.05
I won't spend too much time on it now
19
00:00:46.05 --> 00:00:48.07
as we'll cover the instructions in detail later
20
00:00:48.07 --> 00:00:50.09
as we go through the course.
21
00:00:50.09 --> 00:00:52.02
We'll start with an include
22
00:00:52.02 --> 00:00:56.01
to bring in the system libraries will be needing.
23
00:00:56.01 --> 00:01:00.09
Include\masm32\
24
00:01:00.09 --> 00:01:06.09
include\masm32rt.inc.
25
00:01:06.09 --> 00:01:10.01
We'll define a "Hello World" string in the data section,
26
00:01:10.01 --> 00:01:12.01
.data,
27
00:01:12.01 --> 00:01:18.01
Hello db
28
00:01:18.01 --> 00:01:19.08
"Hello World!"
29
00:01:19.08 --> 00:01:22.09
And we'll zero terminate that.
30
00:01:22.09 --> 00:01:24.07
And in the code section,
31
00:01:24.07 --> 00:01:28.07
we display it on the console and then exit.
32
00:01:28.07 --> 00:01:30.07
.code,
33
00:01:30.07 --> 00:01:35.04
start:, which is the default entry point for the program,
34
00:01:35.04 --> 00:01:40.00
invoke standard out,
35
00:01:40.00 --> 00:01:43.07
address Hello,
36
00:01:43.07 --> 00:01:49.02
invoke ExitProcess.
37
00:01:49.02 --> 00:01:51.04
And we'll give an exit code of zero
38
00:01:51.04 --> 00:01:54.08
which means we've successfully exited,
39
00:01:54.08 --> 00:01:59.03
and end with start.
40
00:01:59.03 --> 00:02:08.07
Let's save this into the MASM32 folder as mastest.asm.
41
00:02:08.07 --> 00:02:09.09
The code can be assembled
42
00:02:09.09 --> 00:02:13.07
at the command line with the Microsoft Assembler.
43
00:02:13.07 --> 00:02:18.02
It's in the bin sub folder, bin\ml,
44
00:02:18.02 --> 00:02:23.05
and we use the /c and the /coff switches.
45
00:02:23.05 --> 00:02:27.09
And the code is in mastest.asm
46
00:02:27.09 --> 00:02:30.09
and we've assembled the program.
47
00:02:30.09 --> 00:02:35.06
We can now link it with the MASM32 linker,
48
00:02:35.06 --> 00:02:40.02
again in the bin folder, bin\link,
49
00:02:40.02 --> 00:02:45.03
and we're going to create subsystem console
50
00:02:45.03 --> 00:02:47.03
which tells us that this is a console
51
00:02:47.03 --> 00:02:51.03
rather than the GUI windows application.
52
00:02:51.03 --> 00:02:53.02
And we'll be taking the object file
53
00:02:53.02 --> 00:02:57.00
that was created in the assembly,
54
00:02:57.00 --> 00:02:59.09
and if we have a look
55
00:02:59.09 --> 00:03:04.08
we'll find that we have created an exe file.
56
00:03:04.08 --> 00:03:08.01
And when we run that,
57
00:03:08.01 --> 00:03:09.09
we get "Hello World!"
58
00:03:09.09 --> 00:03:12.08
Okay, we've got a running MASMS32 installation
59
00:03:12.08 --> 00:03:16.01
with which to start developing assembler programs.
60
00:03:16.01 --> 00:03:18.01
However, let's get some additional tools
61
00:03:18.01 --> 00:03:20.05
to make life easier.
62
00:03:20.05 --> 00:03:22.02
The next tool we need to have available
63
00:03:22.02 --> 00:03:24.08
is the x64 debug program.
64
00:03:24.08 --> 00:03:27.08
This will be invaluable for helping debug our programs
65
00:03:27.08 --> 00:03:30.03
and also to see the machine code that's generated
66
00:03:30.03 --> 00:03:32.00
when we assemble.
67
00:03:32.00 --> 00:03:36.00
You can download the latest version from this site.
68
00:03:36.00 --> 00:03:38.05
It's provided as a ready to go zip archive
69
00:03:38.05 --> 00:03:40.06
and just needs unzipping.
70
00:03:40.06 --> 00:03:41.09
I've already done that
71
00:03:41.09 --> 00:03:44.09
and we'll come back to this tool shortly.
72
00:03:44.09 --> 00:03:47.06
The next tool we need is the Go ASM assembler
73
00:03:47.06 --> 00:03:49.08
and its supporting tools.
74
00:03:49.08 --> 00:03:52.04
The set of files we need can be downloaded
75
00:03:52.04 --> 00:03:56.05
as the ECGo.zip file shown at the top left.
76
00:03:56.05 --> 00:03:58.07
Again, these just need to be extracted,
77
00:03:58.07 --> 00:04:00.05
which I've already done.
78
00:04:00.05 --> 00:04:03.01
The final tool we need is an IDE.
79
00:04:03.01 --> 00:04:04.07
And for this we'll use Easy Code
80
00:04:04.07 --> 00:04:10.08
which we can get to using the link at the top left.
81
00:04:10.08 --> 00:04:16.02
We can navigate using the download link
82
00:04:16.02 --> 00:04:18.02
and download the current version.
83
00:04:18.02 --> 00:04:19.09
Once again, this is a zip archive
84
00:04:19.09 --> 00:04:23.00
which just needs to be unzipped and I've already downloaded
85
00:04:23.00 --> 00:04:26.09
and extracted the Easy Code 2.0.2 version,
86
00:04:26.09 --> 00:04:28.08
So once you've got your tools loaded,
87
00:04:28.08 --> 00:04:31.04
let's take a look at it.
88
00:04:31.04 --> 00:04:34.04
Easy Code defaults to starting up with a new project
89
00:04:34.04 --> 00:04:37.01
and is currently defaulting to a MASM project.
90
00:04:37.01 --> 00:04:38.03
That's what we want,
91
00:04:38.03 --> 00:04:42.00
but we'll select a classic console application
92
00:04:42.00 --> 00:04:46.09
and we'll change the name of the folder to mastest
93
00:04:46.09 --> 00:04:50.04
and press okay.
94
00:04:50.04 --> 00:04:51.09
Easy Code sets up the project
95
00:04:51.09 --> 00:04:54.08
and opens an editor window with skeleton code
96
00:04:54.08 --> 00:04:56.09
which I'll replace with the code we used
97
00:04:56.09 --> 00:05:00.05
in our earlier mastest.asm.
98
00:05:00.05 --> 00:05:01.09
Let's go to tool settings
99
00:05:01.09 --> 00:05:05.08
and check the overall environment.
100
00:05:05.08 --> 00:05:06.08
On the general tab,
101
00:05:06.08 --> 00:05:09.01
we can see MASM is the default configuration
102
00:05:09.01 --> 00:05:12.03
for new projects, which is okay for the moment.
103
00:05:12.03 --> 00:05:14.01
On the editor tab,
104
00:05:14.01 --> 00:05:18.08
I've changed the default font to Source Sans Pro
105
00:05:18.08 --> 00:05:21.00
and on the syntax tab,
106
00:05:21.00 --> 00:05:25.03
I'll switch off conversion and beautify.
107
00:05:25.03 --> 00:05:28.03
These are all personal preferences of course.
108
00:05:28.03 --> 00:05:30.07
Finally, on the tools page
109
00:05:30.07 --> 00:05:36.07
I'll set the debugger path to
110
00:05:36.07 --> 00:05:43.08
the debugger\release\x32 version of the debug program.
111
00:05:43.08 --> 00:05:46.09
And I'll apply that and close it.
112
00:05:46.09 --> 00:05:48.09
We'll finish setting up Easy Code
113
00:05:48.09 --> 00:05:54.05
by checking Project, Properties.
114
00:05:54.05 --> 00:05:57.04
Note that we have the two debug chat boxes selected.
115
00:05:57.04 --> 00:06:00.02
This forces a debug build.
116
00:06:00.02 --> 00:06:04.02
If we select tools, we can see the paths to the assembler,
117
00:06:04.02 --> 00:06:06.08
linker, and resource compilers.
118
00:06:06.08 --> 00:06:10.05
We can see these point to MASM32\bin, which is correct.
119
00:06:10.05 --> 00:06:12.08
Okay, we can close this.
120
00:06:12.08 --> 00:06:15.03
Note that Easy Code at the top right has included
121
00:06:15.03 --> 00:06:18.01
the two library files kernel32.lib
122
00:06:18.01 --> 00:06:21.04
and user32.lib in the project.
123
00:06:21.04 --> 00:06:24.03
We already include them as part of the include in our code,
124
00:06:24.03 --> 00:06:26.08
so we could remove them from the project itself
125
00:06:26.08 --> 00:06:30.06
if we wanted to be tidy, but I won't bother right now.
126
00:06:30.06 --> 00:06:32.04
Well, let's make sure we can assemble our code.
127
00:06:32.04 --> 00:06:34.07
We'll go to build,
128
00:06:34.07 --> 00:06:37.08
build mastest.exe,
129
00:06:37.08 --> 00:06:38.06
and in the bottom console,
130
00:06:38.06 --> 00:06:40.06
we can see we have no errors.
131
00:06:40.06 --> 00:06:44.00
The Easy Code IDE is now set up to enable MASM development.
10071
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.