Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranรฎ)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
1
- [Instructor] For our development environments,
2
we'll be loading two different assemblers,
3
an ID and a debugger.
4
We'll start with Microsoft Assembler MASM.
5
This comes as part of the Microsoft Visual Studio Framework
6
but it's simpler for us to install this
7
from the third party MASM32 SDK site.
8
We'll follow the download link
9
and be presented with various download repositories.
10
The download is a zip file
11
which contains an install.exe file
12
which automates the process of installing MASM32.
13
I've already installed this
14
but you may wish to take a moment to do that
15
if you don't have it installed.
16
We can check that we have a functioning MASM32 installation
17
by developing a short program.
18
I won't spend too much time on it now
19
as we'll cover the instructions in detail later
20
as we go through the course.
21
We'll start with an include
22
to bring in the system libraries will be needing.
23
Include\masm32\
24
include\masm32rt.inc.
25
We'll define a "Hello World" string in the data section,
26
.data,
27
Hello db
28
"Hello World!"
29
And we'll zero terminate that.
30
And in the code section,
31
we display it on the console and then exit.
32
.code,
33
start:, which is the default entry point for the program,
34
invoke standard out,
35
address Hello,
36
invoke ExitProcess.
37
And we'll give an exit code of zero
38
which means we've successfully exited,
39
and end with start.
40
Let's save this into the MASM32 folder as mastest.asm.
41
The code can be assembled
42
at the command line with the Microsoft Assembler.
43
It's in the bin sub folder, bin\ml,
44
and we use the /c and the /coff switches.
45
And the code is in mastest.asm
46
and we've assembled the program.
47
We can now link it with the MASM32 linker,
48
again in the bin folder, bin\link,
49
and we're going to create subsystem console
50
which tells us that this is a console
51
rather than the GUI windows application.
52
And we'll be taking the object file
53
that was created in the assembly,
54
and if we have a look
55
we'll find that we have created an exe file.
56
And when we run that,
57
we get "Hello World!"
58
Okay, we've got a running MASMS32 installation
59
with which to start developing assembler programs.
60
However, let's get some additional tools
61
to make life easier.
62
The next tool we need to have available
63
is the x64 debug program.
64
This will be invaluable for helping debug our programs
65
and also to see the machine code that's generated
66
when we assemble.
67
You can download the latest version from this site.
68
It's provided as a ready to go zip archive
69
and just needs unzipping.
70
I've already done that
71
and we'll come back to this tool shortly.
72
The next tool we need is the Go ASM assembler
73
and its supporting tools.
74
The set of files we need can be downloaded
75
as the ECGo.zip file shown at the top left.
76
Again, these just need to be extracted,
77
which I've already done.
78
The final tool we need is an IDE.
79
And for this we'll use Easy Code
80
which we can get to using the link at the top left.
81
We can navigate using the download link
82
and download the current version.
83
Once again, this is a zip archive
84
which just needs to be unzipped and I've already downloaded
85
and extracted the Easy Code 2.0.2 version,
86
So once you've got your tools loaded,
87
let's take a look at it.
88
Easy Code defaults to starting up with a new project
89
and is currently defaulting to a MASM project.
90
That's what we want,
91
but we'll select a classic console application
92
and we'll change the name of the folder to mastest
93
and press okay.
94
Easy Code sets up the project
95
and opens an editor window with skeleton code
96
which I'll replace with the code we used
97
in our earlier mastest.asm.
98
Let's go to tool settings
99
and check the overall environment.
100
On the general tab,
101
we can see MASM is the default configuration
102
for new projects, which is okay for the moment.
103
On the editor tab,
104
I've changed the default font to Source Sans Pro
105
and on the syntax tab,
106
I'll switch off conversion and beautify.
107
These are all personal preferences of course.
108
Finally, on the tools page
109
I'll set the debugger path to
110
the debugger\release\x32 version of the debug program.
111
And I'll apply that and close it.
112
We'll finish setting up Easy Code
113
by checking Project, Properties.
114
Note that we have the two debug chat boxes selected.
115
This forces a debug build.
116
If we select tools, we can see the paths to the assembler,
117
linker, and resource compilers.
118
We can see these point to MASM32\bin, which is correct.
119
Okay, we can close this.
120
Note that Easy Code at the top right has included
121
the two library files kernel32.lib
122
and user32.lib in the project.
123
We already include them as part of the include in our code,
124
so we could remove them from the project itself
125
if we wanted to be tidy, but I won't bother right now.
126
Well, let's make sure we can assemble our code.
127
We'll go to build,
128
build mastest.exe,
129
and in the bottom console,
130
we can see we have no errors.
131
The Easy Code IDE is now set up to enable MASM development.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.