Tilted Forum Project Discussion Community  

Go Back   Tilted Forum Project Discussion Community > Interests > Tilted Technology


 
 
LinkBack Thread Tools
Old 06-03-2005, 12:44 PM   #1 (permalink)
zen_tom
Guest
 
Learning Assembly

I want to learn how to code in assembly language - I've found a C64 emulator, and plan to work on that - but can anyone reccomend any resources I might find that will help me learn where to start?

I am an absolute Assembly novice, and would appreciate any pointers
 
Old 06-03-2005, 02:42 PM   #2 (permalink)
Wah
 
Location: NZ
well, first do a web search on "learning c64 assembler" (although technically i think its 6510 assembler). i found some stuff that looked useful.

although once you know one assembly language you can switch to a new one quickly, I'm not sure I'd start with what must be a pretty out of date chip.
__________________
pain is inevitable but misery is optional - stick a geranium in your hat and be happy
apeman is offline  
Old 06-04-2005, 12:54 AM   #3 (permalink)
Tilted
 
i started out doing asm on my ti-83 plus, no emulator which sucked a lot because I had to upload everytime to test my code. In college i learned i386 assembly which was cool, but icky. It's not something i would program in, but knowing assembly a useful skill for debugging and the like.

I'm not sure what stuff there is for c64 in particular, but something with an emulator and fairly popular (i.e. a processor/computer that is still made and used) is a good place to start learning assembly. Hobby robotics is also a fun place to look into, though some of them may not have emulators. Although some things in robotics are done in basic or c, there are still a bunch that use pure assembly. Popular cpus include z80, 68k, 8080, i386, and vairous pics. The simpler the cpu, the easier it is to learn. i386 is very complex compared to some of the others so i would stick away from that for now unless you are very determined.

Early consoles can be a good place to start, esp nes/snes where people have made many home brew games for them. http://www.grandtheftendo.com/ is an example of something crazy someone has done for the nes. I'd kinda be tempted to do nes first becuse the guy at the link wrote a ide for nes assembly. If you do choose the console route, www.zsnes.com has links to emulators as well as documentation on the system. If you choose to program calculators, www.ticalc.org has lots of information. Any other route, google should be able to find info for you.

Good luck!
__________________
sometimes it just takes a cat
froseph is offline  
Old 06-06-2005, 07:05 AM   #4 (permalink)
zen_tom
Guest
 
Thanks, I downloaded some old instruction manuals from Project 64 that explain assembly for beginners - and have learned some new things already. I still have trouble getting my head around how low-level it is. I'm used to building object-oriented code where you try to get things to be as natural-language sounding as possible. i.e. man.goToWork() etc - but in Machine Code I have to tell each atom how and where to move, one peice at a time.

The thing I'm confused still about (but which I'll read up on as I'm learning) is how to keep track of what everything is doing, when there are only 3 registers (which sound like they are 'active' variables - that you can do things with) It sounds as though there's a lot of juggling to do.

Anyway, I'll keep on, and let people know how it goes.
 
Old 06-06-2005, 01:01 PM   #5 (permalink)
Junkie
 
Location: San Francisco
I've found an effective way to learn is to write some code in a higher level language like C, compile it, disassemble it, and see what instructions are generated for each statement. Even if you're doing it on a different architecture than what you're writing assembly for, it's still useful if you don't have any prior knowledge because assembly languages are all more or less the same, just with varying names and numbers of instructions, registers, etc.
__________________
"Prohibition will work great injury to the cause of temperance. It is a species of intemperance within itself, for it goes beyond the bounds of reason in that it attempts to control a man's appetite by legislation, and makes a crime out of things that are not crimes. A Prohibition law strikes a blow at the very principles upon which our government was founded." --Abraham Lincoln
n0nsensical is offline  
 

Tags
assembly, learning


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -8. The time now is 09:46 AM.

Tilted Forum Project

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360